文档菜单
文档首页
/
MongoDB 手册
/ / / / /

使用工作负载身份联合配置 MongoDB

本页内容

  • 开始之前
  • 步骤
  • 下一步
  • 了解更多信息

使用工作负载身份联合配置 MongoDB,以在不同平台间对服务进行身份验证。这增强了安全性并简化了服务身份管理。

  • 确保您正在使用 MongoDB Enterprise。

    为了验证您正在使用 MongoDB Enterprise,请将--version 命令行选项传递给mongodmongos:

    mongod --version

    在命令输出的结果中查找字符串 modules: subscriptionmodules: enterprise 以确认您正在使用 MongoDB Enterprise 二进制文件。

  • 配置您的外部身份提供者。更多详细信息,请参阅配置外部身份提供者。

1

为了配置MongoDB服务器,启用MONGODB-OIDC身份验证机制,并使用oidcIdentityProviders来指定身份提供者(IDP)配置。

注意:

当配置MongoDB以负载身份联盟时,将oidcIdentityProviders中的supportsHumanFlows字段设置为false

您可以使用配置文件或命令行来配置MongoDB服务器。

要使用配置文件,在文件中指定两个参数:

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

要启用内部授权,将oidcIdentityProviders参数中的useAuthorizationClaim字段设置为false。此设置通过依赖于用户文档而不是来自身份提供者的授权声明,启用更灵活的用户管理。

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中的用户文档中获取其授权权限。服务器为您的身份提供者的每个用户进行基于OIDC的身份验证尝试时,都会搜索一个具有与authNamePrefix/principalName声明值匹配的_id的用户文档。

重要

如果此字段设置为false不要包含authorizationClaim字段。

返回

配置外部身份提供者