您可以使用 Workload Identity Federation 将数据库用户添加到MongoDB 。 这种方法使组织的身份提供商能够管理用户访问权限,确保对数据库操作进行安全、集中的身份验证。
开始之前
注意
您的oidcIdentityProviders 配置决定了授权用户必须采取的方法:
如果
useAuthorizationClaim字段设立为false以启用内部授权,则使用用户 ID 授权用户。如果该字段设立为
true,则使用身份提供商群组授权用户。
步骤
1
创建 MongoDB 角色
在 admin 数据库中,使用 db.createRole() 方法创建将身份提供商群组角色映射到 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" } ] } )
后续步骤
您可以使用 Workload Identity Federation 和以下支持的驱动程序将应用程序连接到MongoDB :