AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

Workload Identity Federation でMongoDB を構成する

Workload Identity Federation でMongoDB を構成し、さまざまなプラットフォームでサービスを認証します。 これにより、セキュリティが向上し、サービス ID 管理が簡素化されます。

重要

OpenID Connect(OIDC)はLinuxでのみサポートされています。

  • MongoDB Enterprise を使用していることを確認します。

    MongoDB Enterprise を使用していることを確認するには、 --versionコマンドライン オプションをmongodまたはmongosに渡します。

    mongod --version

    このコマンドの出力で string modules: subscriptionまたはmodules: enterpriseを探し、MongoDB Enterprise バイナリを使用していることを確認します。

  • 外部IdPを構成します。詳しくは、ワークロード Identity Federation の構成を参照してください。

1

MongoDB サーバーを構成するには、 MONGODB-OIDC認証メカニズムを有効にし、 oidcIdentityProvidersを使用して ID プロバイダー(IDP)構成を指定します。

注意

Workload Identity Federation 用のMongoDBsupportsHumanFlows oidcIdentityProvidersfalseを構成するときは、 の フィールドを に設定します。

MongoDBサーバーは、構成ファイルまたはコマンドラインを使用して構成できます。

構成ファイルを使用するには、ファイルにこれらのパラメータを指定します。

setParameter: authenticationMechanisms: "MONGODB-OIDC,SCRAM-SHA-256" oidcIdentityProviders: | [ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "supportsHumanFlows": false } ]

複数の ID プロバイダーを指定するには、oidcIdentityProviders 配列にオブジェクトを追加します。(例: )。

setParameter: authenticationMechanisms: "MONGODB-OIDC,SCRAM-SHA-256" oidcIdentityProviders: | [ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "supportsHumanFlows": false }, { "issuer": "https://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "authorizationClaim": "groups", "supportsHumanFlows": false } ]
2

内部認可を有効にするには、oidcIdentityProviders パラメータの useAuthorizationClaimフィールドをfalse に設定します。 この設定により、 IdPからの認可要求ではなく、ユーザー ドキュメントに依存することで、より柔軟なユーザー管理が可能になります。

重要

If useAuthorizationClaim が false に設定されている場合は、 authorizationClaimフィールドを含めないでください。

setParameter: authenticationMechanisms: "MONGODB-OIDC,SCRAM-SHA-256" oidcIdentityProviders: | [ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "useAuthorizationClaim": false, "supportsHumanFlows": false } ]

複数の ID プロバイダーを指定するには、oidcIdentityProviders 配列にオブジェクトを追加します。(例: )。

setParameter: authenticationMechanisms: "MONGODB-OIDC,SCRAM-SHA-256" oidcIdentityProviders: | [ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "useAuthorizationClaim": false, "supportsHumanFlows": false }, { "issuer": "https://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "useAuthorizationClaim": false, "supportsHumanFlows": false } ]

useAuthorizationClaim を false に設定すると、MONGODB-OIDC メカニズムで認証するユーザーは、$external のユーザードキュメントから認可権を取得します。 サーバーは、 IdPのユーザーに対する OIDC ベースの認証試行ごとに、authNamePrefix/principalName クレームの値と一致する _id を持つユーザードキュメントを検索します。

3

内部認証局(CA)によって署名された X509 TLS 証明書を使用する環境の場合、mongod がIdPと通信できるように、CA 証明書をシステム CA 証明書バンドルに追加する必要があります。これは、コールバックメソッドを使用する場合、ユーザー認証とワークロード認証に適用されます。この手順を省略すると、OIDC SSL 証明書または JWT キー検証エラーが発生する可能性があります。