Workforce IdP でMongoDB を構成し、単一の認証情報セットを使用して複数のプラットフォームでユーザーを認証します。 これにより、セキュリティが向上し、ユーザー管理が簡素化されます。
重要
OpenID Connect(OIDC)はLinuxでのみサポートされています。
始める前に
MongoDB Enterprise を使用していることを確認します。
MongoDB Enterprise を使用していることを確認するには、
--version
コマンドラインオプションをmongod
またはmongos
に渡します。mongod --version このコマンドの出力で string
modules: subscription
またはmodules: enterprise
を探し、MongoDB Enterprise バイナリを使用していることを確認します。外部IdPを構成します。詳細については、ワークフォース認証用の外部 IdP の構成 を参照してください。
手順
OpenID Connect(OIDC)でMongoDBサーバーを構成する
注意
Workforce IdP 用にMongoDBを構成するときは、supportsHumanFlows
oidcIdentityProviders
の フィールドを省略します。
MongoDBサーバーは、構成ファイルまたはコマンドラインを使用して構成できます。
構成ファイルを使用するには、ファイルに次のパラメータを指定します。
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: '[ { "issuer": "http://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "clientId": "0zzw3ggfd2ase33", } ]'
複数の ID プロバイダーを指定するには、oidcIdentityProviders
配列にオブジェクトを追加します。複数の ID プロバイダーを指定する場合は、各プロバイダーに対して matchPattern
を指定する必要があります。 (例: )。
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: '[ { "issuer": "http://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "matchPattern": "@okta.com$", "clientId": "0zzw3ggfd2ase33", }, { "issuer": "http://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "authorizationClaim": "groups", "matchPattern": "@azure.com$", "clientId": "1zzw3ggfd2ase33", } ]'
コマンドラインを使用するには、次のスタートアップオプションを指定します。
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ { "issuer": "http://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "clientId": "0zzw3ggfd2ase33", } ]'
複数の ID プロバイダーを指定するには、oidcIdentityProviders
配列にオブジェクトを追加します。複数の ID プロバイダーを指定する場合は、各プロバイダーに対して matchPattern
を指定する必要があります。 (例: )。
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ { "issuer": "http://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "matchPattern": "@okta.com$", "clientId": "0zzw3ggfd2ase33", }, { "issuer": "http://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "authorizationClaim": "groups", "matchPattern": "@azure.com$", "clientId": "1zzw3ggfd2ase33", } ]'
(任意)内部認可を有効にする
内部認可を有効にするには、oidcIdentityProviders
パラメータの useAuthorizationClaim
フィールドをfalse
に設定します。 この設定により、 IdPからの認可要求ではなく、ユーザー ドキュメントに依存することで、より柔軟なユーザー管理が可能になります。
重要
がuseAuthorizationClaim
false
に設定されている場合は、authorizationClaim
フィールドを含めないでください。
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: '[ { "issuer": "http://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "useAuthorizationClaim": false, "clientId": "0zzw3ggfd2ase33" } ]'
複数の ID プロバイダーを指定するには、oidcIdentityProviders
配列にオブジェクトを追加します。 (例: )。
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: '[ { "issuer": "http://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "useAuthorizationClaim": false, "clientId": "0zzw3ggfd2ase33" }, { "issuer": "http://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "useAuthorizationClaim": false, "clientId": "1zzw3ggfd2ase33" } ]'
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ { "issuer": "http://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "useAuthorizationClaim": false, "clientId": "0zzw3ggfd2ase33" } ]'
複数の ID プロバイダーを指定するには、oidcIdentityProviders
配列にオブジェクトを追加します。 (例: )。
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ { "issuer": "http://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "useAuthorizationClaim": false, "clientId": "0zzw3ggfd2ase33" }, { "issuer": "http://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "useAuthorizationClaim": false, "clientId": "1zzw3ggfd2ase33" } ]'
useAuthorizationClaim
を false
に設定すると、MONGODB-OIDC
メカニズムで認証するユーザーは、$external
のユーザードキュメントから認可権を取得します。 サーバーは、 IdPのユーザーに対する OIDC ベースの認証試行ごとに、authNamePrefix/principalName
クレームの値と一致する _id
を持つユーザードキュメントを検索します。