Docs 菜单

授权用户

您可以使用 Workload Identity Federation 将数据库用户添加到MongoDB 。 这种方法使组织的身份提供商能够管理用户访问权限,确保对数据库操作进行安全、集中的身份验证。

注意

您的oidcIdentityProviders 配置决定了授权用户必须采取的方法:

  • 如果 useAuthorizationClaim字段设立为 false 以启用内部授权,则使用用户 ID 授权用户。

  • 如果该字段设立为 true,则使用身份提供商群组授权用户。

1

admin 数据库中,使用 db.createRole() 方法创建将身份提供商群组角色映射到 MongoDB 角色的角色。

使用以下格式创建角色:

<authNamePrefix>/<authorizationClaim>

oidcIdentityProviders 参数提供 authNamePrefix 字段和 authorizationClaim 字段。例如:

db.createRole( {
role: "okta/Everyone",
privileges: [ ],
roles: [ "readWriteAnyDatabase" ]
} )
1

创建用户时,必须在 $external数据库中创建该用户。 要切换到 $external数据库,运行以下命令:

use $external
2

要创建用户并将其添加到MongoDB 数据库,请使用db.createUser() 命令。

user 字段使用以下格式,其中authNamePrefixauthorizationClaim 值来自oidcIdentityProviders 参数:

<authNamePrefix>/<authorizationClaim>

要在MongoDB中创建一个 authNamePrefixoktaauthorizationClaimjane.doe 的用户,运行以下命令:

db.createUser( {
user: "okta/jane.doe",
roles: [
{
role: "readWriteAnyDatabase",
db: "admin"
}
]
} )

您可以使用 Workload Identity Federation 和以下支持的驱动程序将应用程序连接到MongoDB :