Docs Menu
Docs Home
/
データベース マニュアル
/ / / / /

Workforce IdP を使用したMongoDB の構成

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 の構成 を参照してください。

1

注意

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",
} ]'
2

内部認可を有効にするには、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"
} ]'

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

戻る

ワークフォース認証のための外部 ID プロバイダーの構成

項目一覧