このガイドでは、PingOne を IdP として使用して Workforce IdP を構成する方法を説明します。
PingOne と Atlas を統合すると、ワークフォースは PingOne の認証情報を使用して、 OIDC認証付きで Atlas クラスターにアクセスできます。
必要なアクセス権
フェデレーティッド認証を管理するには、インスタンスにフェデレーション設定を委任している 1 つ以上の組織に対するOrganization Ownerアクセス権が必要です。
前提条件
Atlas の IdP として PingOne を使用するには、次のものが必要です。
手順
以下の手順全体を通して、Atlas フェデレーション管理コンソールには 1 つのブラウザタブが開き、PingOne アカウントには 1 つのタブが開いていると便利です。
ID プロバイダーとして PingOne を設定
PingOne 管理コンソールを使用して、PingOne を OIDC IdP として構成します。
PingOne でアプリケーションを作成します。
PingOne 管理コンソールで、Applications > に移動します。 My Applications> OIDC。
[Add Application] をクリックします。
[Native App ] を選択し、[Next] をクリックします。
詳細については、「 OIDCアプリケーションの追加または更新 」を参照してください。
付与タイプとリダイレクト URI を設定します。
アプリケーションに許可された付与のタイプを選択します。
次の付与タイプを有効にします。
Authorization Code or Device Authorization
(任意) Refresh Token
更新トークンを有効にすると、ユーザー エクスペリエンスが向上します。 更新トークンが有効になっていない場合、ユーザーはアクセス トークンの有効期限が切れるとIdPで再認証する必要があります。
Redirect URIsフィールドに次のURLを入力します:
http://localhost:27097/redirect。[Next] をクリックします。
Atlas で Workforce IdP を構成する
注意
前提条件
この手順では、 アクセス権が必要で、 IdPOrganization Owner で OIDCアプリケーションがすでに作成されていることを前提としています。 IdP を構成する方法については、「 ID プロバイダーとして PingOne を構成する 」を参照してください。
Atlas でワークフォース IdP を設定するには、次の手順に従います。
In Atlas で、組織の Federation Management コンソールに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のFederationをクリックします。
[Open Federation Management App] をクリックします。
フェデレーション ページが表示されます。
次のワークフォース IdP のプロトコル設定を入力します。
設定 | 必要性 | 値 |
|---|---|---|
Configuration Name | 必須 | この構成を識別する、人間が判読できるラベル。 このラベルは、Atlas ユーザーに表示されます。 |
Configuration Description | 任意 | この構成を説明する、人間が判読できるラベル。 |
Issuer URI | 必須 | 登録された IdPアプリケーションによって提供される発行者値。この URI を使用して、 MongoDB は エンドポイントで利用可能なはずの OpenID |
Client ID | 必須 | 登録されたアプリケーションの一意の識別子です。 外部 IdP に登録したアプリの |
Audience | 必須 | 外部 ID プロバイダーがトークンを発行するエンティティ。 外部 IdP に登録したアプリの |
Requested Scopes | 任意 | ユーザーに認可エンドポイントからのデータをリクエストする権限を付与するトークン。 リフレッシュ トークンをサポートする場合は、このフィールドには値 追加する追加のスコープごとに、[ Add more scopes ] をクリックします。 |
Authorization Type | 必須 | IdP Group Membershipユーザー グループ メンバーシップに基づいて認可を付与するにはUser ID を選択し、個々のユーザーに認可を付与するには を選択します。 |
Customize Groups Claim | 必須 | プリンシパルの IdP ユーザー グループ メンバーシップ情報を含む要求の識別子。 IdP が別のクレームを使用している場合を除き、カスタム クレームが必要な場合を除き、デフォルト値を受け入れます。このフィールドは、Group Membership を選択した場合にのみ必要です。 デフォルト: |
Customize User Claim | 必須 | ユーザー プリンシパル ID を含む要求の識別子。 IdPが別の要求を使用しない限り、デフォルト値を受け入れます。 デフォルト: |
(任意)ドメインを Workforce IdP に関連付けます。
注意
この手順は、異なるドメインを持つ同じ組織に複数の Workforce IdP を接続する必要がある場合にのみ必要です。Atlas は、組織に接続された最大 2 つの Workforce IdP をサポートしています。1 つの OIDC IdP (データベースアクセス用)と 1 つの SAML IdP (UIアクセス用)。
Workforce IdP カードで、 Associate Domainsをクリックします。
Associate Domains with Identity Providerモーダルで、1 つ以上のドメインを選択します。
[Submit] をクリックします。
強制認証を使用したデータベースユーザーの追加
Atlas で、プロジェクトの Database & Network Access ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
データベース &上記の手順を完了すると、[ ネットワーク アクセス ] ページが表示されます。
Add New Database User or Group ダイアログ ボックスを開きます。
Add New Database User or Group をクリックします。
注意
Workforce IdP を Atlas に適用するまで、このボタンは Add New Database User と表示します。
Federated Auth を選択します。
Authentication Methodセクションで、[Federated Auth] を選択します。
注意
組織で Workforce IdP を有効にするまで、このボックスを選択することはできません。
ユーザーまたはグループの特権を割り当てます。
新しいユーザーまたはグループに特権を割り当てるには、次のタスクの 1 つ以上を実行します。
Built-in Role ドロップダウンメニューから組み込みロールを選択します。
Atlas UI では、データベースグループごとに 1 つの組み込みロールを選択できます。
デフォルト オプションを削除する場合は、 Add Built-in Roleをクリックして新しい組み込みロールを選択できます。
カスタムロール が定義されている場合は、 Custom Rolesセクションを展開し、 Custom Rolesドロップダウンメニューから 1 つ以上のロールを選択できます。
さらにカスタムロールを追加するには、 Add Custom Roleをクリックします。
プロジェクトのカスタムロールを表示するには、 Custom Rolesリンクをクリックします。
[ Specific Privilegesセクションを展開し、 Specific Privilegesドロップダウン メニューから 1 つ以上の 特権 を選択します。
さらに特権を追加するには、 Add Specific Privilegeをクリックします。 こうすることで、個々のデータベースとコレクションに対するグループ固有の特権が割り当てられます。
適用されたロールまたは特権を削除します。
- をクリックしますの横にあるDelete
- 削除するロールまたは特権。
注意
Atlas はオプションを 1 つだけ選択した場合は、 Built-in Role 、 Custom Role 、またはSpecific Privilege選択の横にDeleteアイコン。 選択したロールまたは特権は、別のロールまたは特権を適用すると、削除できます。
Atlas では、組み込みロール、複数のカスタムロール、および複数の特定の特権をデータベースグループに適用できます。
認可の詳細については、MongoDB マニュアルの「 ロールベースのアクセス制御」と「 組み込みロール 」を参照してください。
ユーザーまたはグループがアクセスできるプロジェクト内のリソースを指定します。
デフォルトでは、グループはプロジェクト内のすべてのクラスターと フェデレーティッドデータベースインスタンス にアクセスできます。 特定のクラスターとフェデレーティッドデータベースインスタンスへのアクセスを制限するには、次の手順に従います。
Restrict Access to Specific Clusters/Federated Database Instances を On に切り替えます。
Grant Access Toリストからグループにアクセスを許可するクラスターとフェデレーティッドデータベースインスタンスを選択します。
一時ユーザーまたはグループとして保存します。
Temporary UserまたはTemporary GroupをOnに切り替え、Atlas がユーザーまたはグループを削除できるようになるまでの時間を [ Temporary User DurationまたはTemporary Group Durationドロップダウンから選択します。 グループが存在する期間として、次のいずれかから選択できます。
6 時間
1 日
1 週間
[ Database Usersタブには、Atlas が一時ユーザーまたはグループを削除するまでの残り時間が表示されます。 Atlas がユーザーまたはグループを削除すると、一時ユーザーのまたはグループの認証情報を使用するクライアントやアプリケーションは、クラスターにアクセスできなくなります。
Workforce IdP を使用したクライアントのMongoDBへの接続
次は、 Workforce IdP認証を使用してクライアントをMongoDBに接続する方法を示しています。
Compass v1.38 +
MongoDB Shell v2.1.4+
注意
Device Authorization Flow を構成した場合は、mongosh で接続するときに --oidcFlows=device-auth フラグを渡す必要があります。(例: )。
mongosh "<connection-string>" \ --authenticationMechanism MONGODB-OIDC \ --oidcFlows=device-auth