Overview
本页介绍如何在Atlas Data Federation中为数据库用户配置高级身份验证和授权设置。这包括可用的身份验证方法以及如何使用 Atlas CLI、Atlas 管理 API 和 Atlas 用户界面管理用户。
注意
在 Atlas 中,每个 Atlas 项目默认最多支持 100 个数据库用户。如果您的项目需要超过 100 个数据库用户,您可以使用 Atlas Administration API 来增加限额。如需帮助,请联系 Atlas 支持团队。
必需的访问权限
要使用高级数据库用户配置,您必须在Atlas中拥有 Organization Owner、Project Owner 或 Project Database Access Admin 访问权限。
对数据库用户进行身份验证
Atlas (+adf+) 为数据库用户提供以下形式的身份验证:
X.509 证书,也称为双向 TLS 或 mTLS,允许使用可信证书进行无密码身份验证。
通过 X.509 身份验证的用户的身份验证数据库是 $external 数据库。
如果您启用LDAP授权,则使用 Atlas 托管的 X.509 证书进行身份验证的用户将无法连接到集群。要启用LDAP并使用 X.509 用户连接到集群,请参阅设置自管理的 X.509 证书。
添加新的数据库用户
项目用户可以使用不同的身份验证方法。
创建用户后便无法更改此用户的身份验证方法。 要使用备用身份验证方法,必须创建一个新用户。
Atlas CLI 使用以下命令创建新的数据库用户和 X.509 证书。您指定的选项决定了身份验证方法。
如需使用 Atlas CLI 创建项目的数据库用户,请运行以下命令:
atlas dbusers create [builtInRole]... [options]
如需使用 Atlas CLI 为指定数据库用户创建 Atlas 托管的新 X.509 证书,请运行以下命令:
atlas dbusers certs create [options]
要详细了解之前命令的语法和参数,请参阅 Atlas CLI 文档中的 atlas dbusers create 和 atlas dbusers certs create。
您可以通过 Atlas Administration API 添加数据库用户。您指定的选项决定了身份验证方法。要了解更多信息,请参阅创建一个数据库用户。
选择一种身份验证机制,然后按照步骤使用 Atlas 用户界面创建新的数据库用户。
分配特权。
选择数据库用户权限。您可以通过以下一种或多种方式为新用户分配权限:
从 Built-in Role 下拉菜单中,选择一个内置角色。您可以在 Atlas UI 内为每个数据库用户选择一个内置角色。如果删除了默认选项,可以单击 Add Built-in Role 以选择一个新的内置角色。
如果定义了任何自定义角色,可以展开 Custom Roles(自定义角色)部分,并从 Custom Roles(自定义角色)下拉菜单中选择一个或多个角色。单击 Add Custom Role(添加自定义角色),以添加更多自定义角色。您还可以单击 Custom Roles(自定义角色)链接,以查看项目的自定义角色。
展开 Specific Privileges 部分,从 Specific Privileges 下拉菜单中选择一个或多个权限。点击 Add Specific Privilege,添加更多权限。这将为用户分配对单个数据库和集合的特定权限。
Atlas 可以将一个内置角色、多个自定义角色和多个特定权限应用到单个数据库用户。
要删除已应用的角色或权限,请单击要删除的角色或权限旁边的 Delete(删除)。
注意
如果只选择了一个选项,Atlas 不会在 Built-in Role(内置角色)、Custom Role(自定义角色)或 Specific Privilege(特定权限)选项旁边显示 Delete(删除)图标。应用了其他角色或权限后,就可以删除选定的角色或权限。
输入用户信息。
字段 | 说明 | |
|---|---|---|
Common Name | 受 TLS/SSL 证书保护的用户公用名 (CN)。有关更多信息,请参阅 RFC 2253。 示例,如果您的常用名是“Jane Doe”,您的组织是“MongoDB”,您的国家/地区是“US”,则在Common Name字段中插入以下内容: | |
User Privileges | 可以通过以下方式之一分配角色:
有关Atlas内置权限的更多信息,请参阅内置角色。 |
分配特权。
选择数据库用户权限。您可以通过以下一种或多种方式为新用户分配权限:
从 Built-in Role 下拉菜单中,选择一个内置角色。您可以在 Atlas UI 内为每个数据库用户选择一个内置角色。如果删除了默认选项,可以单击 Add Built-in Role 以选择一个新的内置角色。
如果定义了任何自定义角色,可以展开 Custom Roles(自定义角色)部分,并从 Custom Roles(自定义角色)下拉菜单中选择一个或多个角色。单击 Add Custom Role(添加自定义角色),以添加更多自定义角色。您还可以单击 Custom Roles(自定义角色)链接,以查看项目的自定义角色。
展开 Specific Privileges 部分,从 Specific Privileges 下拉菜单中选择一个或多个权限。点击 Add Specific Privilege,添加更多权限。这将为用户分配对单个数据库和集合的特定权限。
Atlas 可以将一个内置角色、多个自定义角色和多个特定权限应用到单个数据库用户。
要删除已应用的角色或权限,请单击要删除的角色或权限旁边的 Delete(删除)。
注意
如果只选择了一个选项,Atlas 不会在 Built-in Role(内置角色)、Custom Role(自定义角色)或 Specific Privilege(特定权限)选项旁边显示 Delete(删除)图标。应用了其他角色或权限后,就可以删除选定的角色或权限。
AWS IAM 连接字符串示例
使用 AWS IAM 身份验证与 mongosh 连接 Atlas 需要 shell 版本 v0.9.0 或更高版本。
请考虑以下内容:
使用 AWS IAM 凭证,将访问密钥 ID 作为用户名,将密钥作为密码。
authSource查询参数是$external,URL编码为%24external。authMechanism查询参数是MONGODB-AWS。例子
mongosh "mongodb+srv://<atlas-host-name>/test?authSource=%24external&authMechanism=MONGODB-AWS" --username <access-key-id> --password <secret-key>
打开Add New Database User or Group 对话框。
单击 Add New Database User or Group(添加新的数据库用户)。
注意
在将 Workforce IdP 应用到 Atlas 之前,此按钮显示 Add New Database User。
选择Federated Auth 。
在 Authentication Method 部分,选择 Federated Auth。
注意
在为组织启用 Workforce IdP 之前,您无法选中此复选框。
分配用户或群组权限。
要向新用户或群组分配权限,请执行以下一项或多项任务:
从 Built-in Role 下拉菜单中,选择一个内置角色。
您可以在 Atlas 用户界面中为每个数据库组选择一个内置角色。
如果删除默认选项,则可以单击Add Built-in Role选择新的内置角色。
选择或添加自定义角色。
如果您定义了任何自定义角色,则可以展开Custom Roles部分,然后从Custom Roles下拉菜单中选择一个或多个角色。
单击Add Custom Role以添加更多自定义角色。
单击Custom Roles链接可查看项目的自定义角色。
添加权限。
展开Specific Privileges部分,然后从Specific Privileges下拉菜单中选择一个或多个权限。
单击Add Specific Privilege可添加更多权限。 这将为群组分配对各个数据库和集合的特定权限。
删除已应用的角色或特权。
- 单击Delete旁边
- 要删除的角色或特权。
注意
如果只选择了一个选项,Atlas 不会在 Built-in Role(内置角色)、Custom Role(自定义角色)或 Specific Privilege(特定权限)选项旁边显示 Delete(删除)图标。应用了其他角色或权限后,就可以删除选定的角色或权限。
Atlas 可以将一个内置角色、多个自定义角色和多个特定权限应用到 数据库群组。
要了解有关授权的更多信息,请参阅 MongoDB 手册中的基于角色的访问控制和内置角色。
注意
从 MongoDB 8.0 开始,LDAP 身份验证和授权已弃用。该功能可用,并将在 MongoDB 的整个生命周期内继续运行,无需更改 8。LDAP 将在将来的主要版本中删除。
有关详细信息,请参阅 LDAP 弃用。
按照步骤配置 LDAP 身份验证,然后按照步骤添加 LDAP 数据库用户或群组。
查看数据库用户和证书
查看数据库用户
如需使用 Atlas CLI 列出项目的所有 Atlas 数据库用户,请运行以下命令:
atlas dbusers list [options]
要使用 Atlas CLI 返回指定项目中单个 Atlas 数据库用户的详细信息,请运行以下命令:
atlas dbusers describe <username> [options]
要详细了解先前命令的语法和参数,请参阅 Atlas CLI 文档中的 atlas dbusers list 和 atlas dbusers describe。
查看数据库用户的 X.509 证书
如需使用 Atlas CLI 列出数据库用户的所有 Atlas 托管的未过期证书, 请运行以下命令:
atlas dbusers certs list <username> [options]
要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas dbusers certs list。
要使用 Atlas 管理 API 查看 Atlas 数据库用户,请参阅获取全部。
修改数据库用户
如需使用 Atlas CLI 更新项目的数据库用户,请运行以下命令:
atlas dbusers update <username> [options]
要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas dbusers update。
您可以通过 Atlas Administration API 更新数据库用户。要了解更多信息,请参阅更新一个。
删除数据库用户
如需使用 Atlas CLI 删除项目的数据库用户, 请运行以下命令:
atlas dbusers delete <username> [options]
要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas dbusers delete.。
您可以通过 Atlas Administration API 删除数据库用户。要了解更多信息,请参阅删除一个。