OIDC で Workforce IdP を設定する
項目一覧
- Cloud Managerへのプログラムによるアクセスのための OAuth 2.0認証はプレビュー機能として利用できます。
- 機能および関連するドキュメントは、プレビュー期間中にいつでも変更される可能性があります。 OAuth2.0 認証を使用するには、 Cloud Manager Public APIへのリクエストで使用する サービス アカウント を作成します。
MongoDB 7.0以降では、Workforce IdP を使用して、会社の IdPなどの外部 IdP(IdP)を使用して、従業員、パートナー、コンストラクターなどの特定のワークフォースを認証および認可します。
Workforce IdP を使用すると、次のことが可能になります。
既存のIdPを介して、MongoDB 配置へのワークフォース アクセスを管理します。
パスワードの複雑さ、認証情報のローテーション、多要素認証などのセキュリティ ポリシーを IdP 内で強制します。
プロジェクトごとに作成できるワークフォース IdP は 1 つだけですが、構成をいつでも編集または再作成できます。
必要なアクセス権
Workforce IdP を構成するには、 Cloud ManagerへのProject Owner
アクセス権が必要です。
前提条件
次のものが必要です。
mongosh
1.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 を構成するには、 Microsoft Entra ID 、Okta、Ping Identity など、OIDC 標準をサポートする IdP を使用して OIDCアプリケーションを登録します。
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] をクリックします。
次の値を適用します。
フィールド値NameCloud Manager Database - WorkforceSupported Account TypesAccounts 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値をコピーします。この値は、 OpenID Connect metadata document URLで
issuer
の値をコピーすることで取得することもできます。
次の表は、これらのMicrosoft Entra ID UIの値がMongoDB Atlas構成プロパティでどのようにマップされているかを示しています。
Microsoft Entra ID UI | MongoDB Atlas構成プロパティ |
---|---|
Application (client) ID | Client ID Audience |
OpenID Connect metadata document (without /.well-known/openid-configuration) | Issuer URI. |
Workforce IdP 認証の構成
OIDC を使用して Workforce IdP を構成するには、次の手順を実行します。
注意
Workforce IdP は認証用にJSON web tokenのみをサポートしています。 不変のアクセス トークンはサポートされていません。
配置用のSecurity Settings ダイアログに移動します。
Organizationsナビゲーション バーの [] メニューから、プロジェクトを含む組織を選択します。
ナビゲーション バーのProjectsメニューからプロジェクトを選択します。
サイドバーの Deployment をクリックします。
[Security] タブをクリックします。
[Settings] タブをクリックします。
次のいずれかのアクションを実行します。
このプロジェクトでTLS 、認証、または認可設定を初めて構成する場合は、 Get Startedをクリックします。
このプロジェクトのTLS認証または認可設定をすでに構成している場合は、[ Editをクリックします。
オプション: TLS 設定を指定します。
フィールド | アクション |
---|---|
MongoDB 配置トランスポート層セキュリティ (TLS) | このスライダーをONに切り替えます。 |
TLS CA ファイルパス | TLS認証局ファイルは、証明機関からのルート証明書チェーンを含む 証明書ファイルの暗号化された秘密キーは、 MongoDB プロセスを実行しているすべてのホスト上のTLS認証局ファイルへのファイル パスを入力します。
これにより、プロジェクト内の MongoDB プロセスの Validateをクリックして、指定したパスで配置内の各ホストにTLS認証局があることをテストします。 |
クラスター TLS CA ファイル パス | 接続を確立するクライアントによって提示された証明書を検証するために使用される証明機関からのルート証明書チェーンを含む
|
クライアント証明書モード | TLS 対応のMongoDB配置に接続するときにクライアントアプリケーションまたはMongoDBエージェントが TLS 証明書を提示する必要がある場合は、 を選択します。MongoDBデプロイでは、接続時にこれらのクライアントホストからの証明書がチェックされます。 クライアントTLS 証明書を要求する場合は、有効であることを確認します。 指定できる値は次のとおりです。 |
次の設定を入力します。
設定 | 必要性 | 値 |
---|---|---|
Configuration Name | 必須 | |
Issuer URI | 必須 | 登録されたIdPアプリケーションによって提供される発行者値。 この URI を使用して、MongoDB は /.wellknown/open-id-configuration エンドポイントで利用可能なはずの OpenID プロバイダー構成ドキュメントを見つけます。 |
Client ID | 必須 | 登録されたアプリケーションの一意の識別子です。 外部 IdP に登録したアプリの clientId 値を入力します。 |
Audience | 必須 | 外部 ID プロバイダーがトークンを発行するエンティティ。 外部 IdP に登録したアプリの audience 値を入力します。 一般的に、この値はClient IDと同じです。 |
Requested Scopes | 任意 | 承認エンドポイントからデータをリクエストする権限をユーザーに付与するトークン。 追加する追加のスコープごとに、[ Add more scopes ] をクリックします。 |
authorizationType | 必須 | IdPユーザー グループ メンバーシップに基づいて認可を付与するには Group Membership を選択し、個々のユーザーに認可を付与するにはUser ID を選択します。 |
Customize User Claim | 必須 | ユーザー プリンシパル ID を含む要求の識別子。 IdPが別の要求を使用しない限り、デフォルト値を受け入れます。 デフォルト: |
Customize Group Claim | 必須 | 認可タイプとして デフォルト: |
をクリックします。<a class=\" \" href=\" \" title=\" \"><svg xmlns=\" \" width=\" \" height=\" \" fill=\" \" viewbox=\" \" class=\" \" role=\" \" aria-label=\" \"><path fill=\" \" d=\" \"> <path fill=\" \" d=\" \">Save Configuration
Cloud Managerは構成を保存し、OIDC Connection and Authorization (Required for OIDC) セクションに一覧表示します。
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] をクリックします。
User ID
認可タイプを選択した場合は、新しいユーザーを作成して、個々のユーザーに認可を付与します。
OIDC ユーザーを追加します。
ユーザーアカウントのフィールドを入力します。
フィールド説明Identifier最初のフィールドに
$external
データベースを入力します。2 番目のフィールドに、OIDC IdP 構成名と構成のユーザー プリンシパル クレームをスラッシュで区切って使用してユーザー名を入力します。
/
{configuration_name}/{user_principal_claim}
Roles使用可能なユーザー定義ロールと組み込みロールをこのボックスに入力します。 コンボボックス内で をクリックすると、既存のロールのリストが表示されます。Authentication Restrictions[Add Entry] をクリックします。
ボックスまたは Client SourceServer Addressボックスのいずれかに 1 つ以上のIPアドレスや CIDR ブロックを追加します。複数のアドレスまたはブロックはカンマで区切ります。
Client Source は、このユーザーが認証を行い、指定されたロールを使用できるアドレスを制限します。
Server Address は、このユーザーが認証できるアドレスを制限し、指定されたロールを持つ必要があります。
[Save] をクリックします。
別のエントリを追加するには、[ Add Entry ] をクリックします。
[Add User] をクリックします。
Workforce IdP を使用したMongoDBへの接続
アプリケーションを Workforcemongosh
IdP認証を使用してMongoDBに接続するには、 または Compass を使用します。
既存のワークフォース IdP 構成を管理する
Workforce IdP の構成を管理するには、次のアクションを実行します。
Revoke JWKS
注意
署名キーをローテーションするために、この機能を使用しないでください。 OIDC IdP署名キーをローテーションすると、MongoDB は既存のアクセス トークンの有効期限が切れると、JWKS を自動的に取得します。
秘密キーが侵害された場合は、MongoDB ノードにキャッシュされた JWKS(JSON Web Key Sets)をすぐに取り消すことができます。
MongoDB Cloud ManagerGoDeploymentMongoDB Cloud Managerで、プロジェクトの ページにGoします。
まだ表示されていない場合は、目的のプロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
Deployment ページがまだ表示されていない場合は、サイドバーの Deployment をクリックします。
配置ページが表示されます。
Securityページに移動します。
配置の [ Security ] タブをクリックします。
[セキュリティ ]ページが表示されます。
設定を編集
Workforce IdP の設定を編集するには
MongoDB Cloud ManagerGoDeploymentMongoDB Cloud Managerで、プロジェクトの ページにGoします。
まだ表示されていない場合は、目的のプロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
Deployment ページがまだ表示されていない場合は、サイドバーの Deployment をクリックします。
配置ページが表示されます。
Securityページに移動します。
配置の [ Security ] タブをクリックします。
[セキュリティ ]ページが表示されます。
構成の削除
Workforce IdP 構成を削除するには、次の手順に従います。
MongoDB Cloud ManagerGoDeploymentMongoDB Cloud Managerで、プロジェクトの ページにGoします。
まだ表示されていない場合は、目的のプロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
Deployment ページがまだ表示されていない場合は、サイドバーの Deployment をクリックします。
配置ページが表示されます。
Securityページに移動します。
配置の [ Security ] タブをクリックします。
[セキュリティ ]ページが表示されます。