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

使用员工身份联合配置 MongoDB

在本页

  • 开始之前
  • 步骤

通过使用单一凭据集跨不同平台验证用户,使用工作力量身份联合配置 MongoDB 以增强安全性并简化用户管理。

  • 请确保您正在使用MongoDB Enterprise。

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

    mongod --version

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

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

1

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

注意

当配置MongoDB用于Workforce身份联合,将 supportsHumanFlows 字段在 oidcIdentityProviders 中设置为 true

您可以使用配置文件或命令行配置 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 字段。

返回

配置外部身份提供者