您可以使用 Workforce 身份验证将数据库用户添加到 MongoDB 。此过程允许您的组织的 身份提供程序 管理用户访问权限,从而确保对数据库操作的安全和集中身份验证。
开始之前
注意
您的oidcIdentityProviders 配置决定了授权用户必须采取的方法:
如果
useAuthorizationClaim字段设立为false以启用内部授权,则使用用户 ID 授权用户。如果该字段设立为
true,则使用身份提供程序群组授权用户。
步骤
1
创建 MongoDB 角色
在 admin数据库中,使用 db.createRole() 方法创建将 IdP群组角色映射到MongoDB角色的角色。
使用以下格式创建角色:
<authNamePrefix>/<authorizationClaim>
oidcIdentityProviders 参数提供 authNamePrefix 字段和 authorizationClaim 字段。例如:
db.createRole( { role: "okta/Everyone", privileges: [ ], roles: [ "readWriteAnyDatabase" ] } )
2
创建用户
要创建用户并将其添加到MongoDB 数据库,请使用db.createUser() 命令。
对user 字段使用以下格式,其中authNamePrefix 和authorizationClaim 值来自oidcIdentityProviders 参数:
<authNamePrefix>/<authorizationClaim>
要在MongoDB中创建一个 authNamePrefix 为 okta 且 authorizationClaim 为 jane.doe 的用户,运行以下命令:
db.createUser( { user: "okta/jane.doe", roles: [ { role: "readWriteAnyDatabase", db: "admin" } ] } )
后续步骤
您可以通过以下方式使用 Workforce Identity Federation 将应用程序连接到MongoDB :
有关MongoDB Shell OIDC 选项的更多详细信息,请参阅身份验证选项