Workload Identity Federation でMongoDBを構成する
Workload Identity Federation でMongoDBを構成し、さまざまなプラットフォームでサービスを認証します。これにより、セキュリティが向上し、サービス ID 管理が簡素化されます。
始める前に
MongoDB Enterprise を使用していることを確認します。
MongoDB Enterpriseを使用していることを確認するには、
--version
コマンドラインオプションをmongod
またはmongos
に渡します。mongod --version このコマンドの出力で string
modules: subscription
またはmodules: enterprise
を探し、MongoDB Enterprise バイナリを使用していることを確認します。外部IdPを構成します。詳細については、「 外部 IdP の構成 」を参照してください。
手順
OpenID Connect(OIDC)でMongoDBサーバーを構成する
MongoDB サーバーを構成するには、 MONGODB-OIDC認証メカニズムを有効にし、 oidcIdentityProviders
を使用して ID プロバイダー(IDP)構成を指定します。
注意
Workload Identity Federation 用のMongoDBを構成するときは、supportsHumanFlows
のoidcIdentityProviders
フィールドをfalse
に設定します。
MongoDBサーバーは、構成ファイルまたはコマンドラインを使用して構成できます。
構成ファイルを使用するには、ファイルに 2 つのパラメータを指定します。
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: [ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "matchPattern": "@mongodb.com$", "JWKSPollSecs": 86400 } ]
コマンドラインを使用するには、以下を指定します。
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "matchPattern": "@mongodb.com$", "JWKSPollSecs": 86400 } ]'
(任意)内部認可を有効にする
内部認可を有効にするには、oidcIdentityProviders
パラメータの useAuthorizationClaim
フィールドを false
に設定します。この設定により、 IdPからの認可要求ではなく、ユーザー ドキュメントに依存することで、より柔軟なユーザー管理が可能になります。
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: [ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "matchPattern": "@mongodb.com$", "useAuthorizationClaim": "false", "JWKSPollSecs": 86400 } ]
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "matchPattern": "@mongodb.com$", "useAuthorizationClaim": "false", "JWKSPollSecs": 86400 } ]'
useAuthorizationClaim
を false
に設定すると、MONGODB-OIDC
メカニズムで認証するユーザーは、$external
のユーザードキュメントから認可権を取得します。サーバーは、 IdP のユーザーに対するIdPベースの認証試行ごとに、authNamePrefix/principalName
クレームの値と一致する _id
を持つユーザードキュメントを検索します。
重要
このフィールドがfalse
に設定されている場合は、authorizationClaim
フィールドを含めないでください。