MongoDB7.0 以降では、企業の IdP などの外部 IdP(IdP)とともに Workforce IdP フェデレーションを使用できます。 Workforce IdP は、従業員、パートナー、コンストラクターなど、ワークフォースを認証および認可します。
Workforce IdP を使用すると、次のことが可能になります。
既存の IdP を介して、 MongoDB配置へのワークフォース アクセスを管理します。
パスワードの複雑さ、認証情報のローテーション、多要素認証などのセキュリティ ポリシーを IdP 内で強制します。
プロジェクトごとに作成できるワークフォース IdP は 1 つだけですが、構成をいつでも編集または再作成できます。
必要なアクセス権
Workforce IdP を設定するには、 Cloud ManagerへのProject Owner アクセス権が必要です。
前提条件
これらの前提条件を満たす必要があります。
mongosh1.9.1 以降。MongoDB 7.0以降。
MongoDB Agent で少なくとも 1 つの他の認証メカニズムが構成されています。
注意
MongoDB Agent は OIDC を介してデプロイメントに接続できません。 MongoDB Agent に対して別の認証メカニズムを有効にする必要があります。 Cloud Manager がモニタリングまたはバックアップを管理しない場合は、 代替の認証メカニズム を使用するようにそれらを手動で構成する必要があります。
手順
Workforce IdP を使用してCloud Manager の配置にアクセスするには、次の手順に従います。
ワークフォース IdP(1 回限りの設定)を構成します。
外部 ID プロバイダー アプリの構成
注意
プロジェクトの認証と TLS 設定をリセットするには、まずプロジェクト内でCloud Manager が管理するMongoDB配置の管理を解除します。
OIDC を使用して Workforce IdP を構成するには、OIDC 標準をサポートする IdP を使用して OIDCアプリを登録します。たとえば、 Microsoft Entra ID、Okta、Ping Identity など。
これらの付与タイプに OIDCアプリを構成できます。
PKCEを使用した認証コードフロー
デバイス認証フロー
MongoDB では、セキュリティを強化するために、Authorization Code Flow とPKCEを使用することを推奨しています。 ユーザーがブラウザを使用せずにマシンからデータベースにアクセスする必要がある場合にのみ、Device Authorization Flow を使用します。
OIDCアプリの登録手順は IdP によって異なる場合があります。アプリの登録中に、次の項目を設定します。
OIDCアプリの一般的な登録手順は次のとおりです。
(任意)MongoDB クライアントでトークンを更新してユーザー エクスペリエンスを向上させる場合は、更新トークンを許可します。
(任意)アクセス トークンの有効期間( expクレーム)をデータベース接続セッション時間と一致するように設定します。
アプリケーションを登録 したら、構成の次の段階で使用する issuer 、 clientId 、 audience の値を保存します。
OIDCアプリをMicrosoft Entra IDに登録するには
アプリケーションを登録します。
App registrationsに移動します。
Azure portal アカウントで、を検索し、[]Microsoft Entra ID をクリックします。
左側のナビゲーションの Manage セクションで、App registrations をクリックします。
[New registration] をクリックします。
次の値を適用します。
フィールド値Name
Cloud Manager Database - Workforce
Supported Account Types
Accounts in this organizational directory only (single tenant)
Redirect URI
- Public client/native (mobile & desktop)
-http://localhost:27097/redirect[Register] をクリックします。
アプリケーションの登録 の詳細については、Azure のドキュメントを参照してください。
グループ クレームを追加します。
Token Configurationに移動します。
左側のナビゲーションの Manage セクションで、Token Configuration をクリックします。
[Add groups claim] をクリックします。
Edit groups claimモーダルで、 Securityを選択します。
選択するグループは、Azure 環境で構成したグループのタイプによって異なります。 適切なグループ情報を送信するには、別のタイプのグループを選択する必要がある場合があります。
Customize token properties by typeセクションで、 Group IDのみを選択します。
[Add] をクリックします。
アクセス トークンにユーザー識別子クレームを追加します。
[Add optional claim] をクリックします。
Add optional claimモーダルで、 Accessを選択します。
メールなど、MongoDB アクセス ログで参照できるユーザー識別子を含むクレームを選択します。
UPNクレームを使用して、メール アドレスを持つユーザーを識別できます。
[Add] をクリックします。
Microsoft Graph Permissionsノートで、[] ボックスをオンにし、[ Addをクリックします。
詳しくは、 Azure のドキュメント を参照してください。
マニフェストを更新します。
左側のナビゲーションの Manage セクションで、Manifest をクリックします。
nullから2にaccessTokenAcceptedVersionを更新します。数字
2は Microsoft のアクセス トークンのバージョン 2 を表します。 他のアプリケーションは、Active Directory が管理するユーザーの ID の署名された認証局としてこれを使用できます。 バージョン 2 では、トークンはJSON web token MongoDBが理解する であることが保証されます。[Save] をクリックします。
オプションのクレームを追加する方法の詳細については、 Azure のドキュメント を参照してください。
メタデータを記憶します。
左側のナビゲーションで [ Overview ] をクリックします。
Application (client) ID値をコピーします。
上部のナビゲーションで、 Endpointsをクリックします。
/.well-known/openid-configuration部分を除いてOpenID Connect metadata document値をコピーします。この値は、
issuerOpenID Connect metadata documentURLで の値をコピーすることで取得することもできます。
次の表は、これらのMicrosoft Entra ID UIの値がMongoDB Atlas構成プロパティでどのようにマップされているかを示しています。
Microsoft Entra ID UI | MongoDB Atlas構成プロパティ |
|---|---|
Application (client) ID | Client ID |
OpenID Connect metadata document (without /.well-known/openid-configuration) | Issuer URI. |
Workforce IdP 認証の構成
OIDC を使用して Workforce IdP を構成するには、次の手順に従います。
注意
Workforce IdP はJSON Web Token(JWT)認証のみをサポートします。不変のアクセス トークンはサポートされていません。
Security Settings ダイアログに移動します。
Organizationsナビゲーション バーの [] メニューから、プロジェクトを含む組織を選択します。
ナビゲーション バーのProjectsメニューからプロジェクトを選択します。
サイドバーの Deployment をクリックします。
[Security] タブをクリックします。
[Settings] タブをクリックします。
次のいずれかのアクションを実行します。
このプロジェクトで TLS、認証、または認可設定を初めて構成する場合は、Get Started をクリックします。
このプロジェクトの TLS認証または認可設定 をすでに構成している場合は、Edit をクリックします。
オプション: TLS 設定を指定します。
フィールド | アクション |
|---|---|
MongoDB 配置トランスポート層セキュリティ (TLS) | このスライダーをONに切り替えます。 |
TLS CA ファイルパス | TLS 認証局ファイルは、証明機関からのルート証明書チェーンを含む
MongoDBプロセスを実行中すべてのホスト上の TLS 認証局ファイルへのファイルパスを入力します。
Validateをクリックして、指定したパスで配置内の各ホストにTLS認証局があることをテストします。 |
クラスター TLS CA ファイル パス |
|
クライアント証明書モード | TLS 対応のMongoDB配置に接続するときにクライアントアプリケーションまたはMongoDBエージェントが TLS 証明書を提示する必要がある場合は、 を選択します。MongoDBデプロイでは、接続時にこれらのクライアントホストからの証明書がチェックされます。 クライアントTLS 証明書を要求する場合は、有効であることを確認します。 指定できる値は次のとおりです。
|
次の設定を入力します。
設定 | 必要性 | 値 |
|---|---|---|
Configuration Name | 必須 | |
Issuer URI | 必須 | 登録された IdPアプリケーションによって提供される発行者値。この URI を使用して、 MongoDB は エンドポイントで利用可能なはずの OpenID |
Client ID | 必須 | 登録されたアプリケーションの一意の識別子です。 外部 IdP に登録したアプリの |
Audience | 必須 | 外部 ID プロバイダーがトークンを発行するエンティティ。 外部 IdP に登録したアプリの |
Requested Scopes | 任意 | 承認エンドポイントからデータをリクエストする権限をユーザーに付与するトークン。 追加する追加のスコープごとに、[ Add more scopes ] をクリックします。 |
authorizationType | 必須 | IdP |
Customize User Claim | 必須 | ユーザー プリンシパル ID を含む要求の識別子。 IdP が別の要求を使用しない限り、デフォルト値を受け入れます。 デフォルト: |
Customize Group Claim | 必須 |
デフォルト: |
OIDC 認証の構成
MongoDB はOIDC のデータベースユーザーを明示的に作成しません。構成に基づいて、OIDC ユーザーをMongoDBロールにマッピングします。
OIDC認証の構成 時に選択した認可タイプの手順に従います。
グループ メンバーシップ
Group Membership認可タイプを選択した場合、次の手順に従って、 IdP ユーザーグループ メンバーシップに基づいて認可を付与するカスタムロールを作成します。
OIDC ロールを作成します。
次のフィールドを入力します。
フィールド必要性説明Identifier
必須
Databaseボックスに
adminと入力します。Nameボックスに、OIDC IdP 構成名と外部IdPのグループ名をスラッシュ(
/)で区切って入力します。{configuration_name}/{group_name}Inherits From
任意
ロール名とデータベースのペアのリスト。 これらのペアの形式は
roleName@dbNameです。Authentication Restrictions
任意
IdPから制限する IP アドレスまたは CIDR 表記のリスト。
Privilege Actions by Resource
任意
リソースに対して許可されるアクション。
詳しくは、「 特権アクション 」を参照してください。
[Add Role] をクリックします。
ユーザー ID
User ID認可タイプを選択した場合は、新しいユーザーを作成して、個々のユーザーに認可を付与します。
OIDC ユーザーを追加します。
ユーザーアカウントのフィールドを入力します。
フィールド説明Identifier
最初のフィールドに
$externalデータベースを入力します。2 番目のフィールドに、OIDC IdP 構成名と構成のユーザー プリンシパル クレームをスラッシュ(
/)で区切って使用してユーザー名を入力します。{configuration_name}/{user_principal_claim}
Roles
Authentication Restrictions
[Add Entry] をクリックします。
ボックスまたは ボックスのいずれかに 1 つ以上のIPアドレスや CIDRClient Source Server Addressブロックを追加します。複数のアドレスまたはブロックはカンマで区切ります。
Client Source は、このユーザーが認証を行い、指定されたロールを使用できるアドレスを制限します。
Server Address は、このユーザーが認証できるアドレスを制限し、指定されたロールを持つ必要があります。
[Save] をクリックします。
別のエントリを追加するには、[ Add Entry ] をクリックします。
[Add User] をクリックします。
Workforce IdP を使用したMongoDBへの接続
アプリをWorkforce mongoshIdP認証でMongoDBに接続するには、 または Compass を使用します。
既存のワークフォース IdP 構成を管理する
Workforce IdP 構成を管理するには、次のアクションを実行します。
Revoke JSON Web Key Sets (JWKS)
注意
署名キーをローテーションするために、この機能を使用しないでください。 OIDC IdP 署名キーをローテーションすると、 MongoDB は既存のアクセス トークンの有効期限が切れると、JWKS を自動的に取得します。
秘密キーが侵害された場合は、 MongoDBノードにキャッシュされたJSON Web キーセットをすぐに取り消すことができます。
MongoDB Cloud ManagerGoSecurityMongoDB Cloud Managerで、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、 Database見出しの下のSecurityをクリックします。
[セキュリティ ]ページが表示されます。
設定を編集
Workforce IdP の設定を編集するには
MongoDB Cloud ManagerGoSecurityMongoDB Cloud Managerで、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、 Database見出しの下のSecurityをクリックします。
[セキュリティ ]ページが表示されます。
構成の削除
Workforce IdP 構成を削除するには、次の手順に従います。
MongoDB Cloud ManagerGoSecurityMongoDB Cloud Managerで、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、 Database見出しの下のSecurityをクリックします。
[セキュリティ ]ページが表示されます。