对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

高级用户配置

学习 Atlas Data Federation 中数据库用户的高级身份验证和授权设置,包括可用的身份验证方法。您可以使用 Atlas CLI、Atlas Administration API 和 Atlas 用户界面管理用户。

注意

在 Atlas 中,每个 Atlas 项目默认最多支持 100 个数据库用户。如果您的项目需要超过 100 个数据库用户,可以使用 Atlas Administration API 来增加限值。如需帮助,请联系 Atlas 支持部门。

要使用高级数据库用户配置,您必须在Atlas中拥有 Organization Owner、Project Owner 或 Project Database Access Admin 访问权限。

使用 Atlas CLI、Atlas Administration API 或 Atlas 用户界面管理 Atlas Data Federation 的数据库用户。

Atlas Data Federation 为数据库用户提供以下形式的身份验证:

  • 密码: SCRAM 是 MongoDB 的默认身份验证方法。SCRAM 要求为每个用户设置密码。

    SCRAM 认证用户的身份验证数据库是 admin 数据库。

    注意

    默认下,Atlas支持SCRAM-SHA-256身份验证。如果您在MongoDB 4.0 之前创建用户,则必须更新MongoDB 4.0,更新其密码以生成SCRAM-SHA-256凭证。您可以重复使用现有密码。

    何时使用SCRAM:

    您可以对人类用户和应用程序用户使用SCRAM身份验证。对于较低的环境, SCRAM是一种合适的身份验证方法。对于生产和更高层环境,请遵循安全最佳实践以确保密钥安全且短期有效,例如与特权访问管理 (PAM) 解决方案集成。

  • X.509 证书: X.509 证书,也称为双向 TLS 或 mTLS,允许使用可信证书进行无密码身份验证。

    通过 X.509 身份验证的用户的身份验证数据库是 $external 数据库。

    如果您启用 LDAP 授权,则您无法通过使用 Atlas 托管 X.509 证书进行身份验证的用户连接集群。要启用 LDAP 并使用 X.509 用户连接集群,请参阅设置自管理 X.509 证书。

    何时使用 X.509:

    当工作负载身份联合 (OIDC) 或 AWS IAM身份验证不可行或需要相互身份验证时,X.509身份验证适用于安全工作负载访问权限。

  • OIDC:OpenID Connect (OIDC)身份验证支持使用外部身份提供程序进行无密码、无秘密的身份验证。Atlas支持以下类型的 OIDC身份验证:

    经过 OIDC 身份验证的用户的身份验证数据库是 $external数据库。

    OIDC身份验证仅适用于使用MongoDB 7.0 及更高版本的集群。

    何时使用 OIDC:

    对于人类用户,我们建议您将 Workforce Identity Federation 与 OIDC 结合使用。

    对于应用程序用户,对于在GCP或Azure上运行的应用程序,我们建议您将 Workload Identity Federation 与 OIDC 结合使用。

  • AWS IAM:您可以创建一个使用AWS IAM 用户或角色 ARN 进行身份验证的数据库用户。

    AWS IAM 认证用户的身份验证数据库是 $external 数据库。

    何时使用 AWS IAM:

    我们建议您对 AWS 上运行的应用程序用户使用具有 IAM 角色的 AWS IAM身份验证。

项目用户可以使用不同的身份验证方法。

用户的身份验证方法在创建时固定。要使用其他身份验证方法,请创建新用户。

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 用户界面创建新的数据库用户。

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access。

完成上述步骤后,将显示数据库和网络访问页面。

2
  1. 如果尚未显示,请单击 Database Users 标签页。

  2. 单击 Add New Database User(添加新的数据库用户)。

3

在 Add New Database User(添加新数据库用户)模态窗口的 Authentication Method(身份验证方法)部分中,选择标有 Password(密码)的框。

4

在 Password Authentication 下面有两个文本字段。

  1. 在顶部文本字段中输入新用户的用户名。

  2. 在下方文本字段中输入新用户的密码。

要使用 Atlas 自动生成的密码,请单击 Autogenerate Secure Password 按钮。

5

选择数据库用户权限。您可以通过以下一种或多种方式为新用户分配权限:

  • 从 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(删除)图标。应用了其他角色或权限后,就可以删除选定的角色或权限。

有关授权的更多信息,请参阅 MongoDB 手册中的基于角色的访问控制和内置角色。

6

默认情况下,用户可以访问项目中的所有集群和联合数据库实例。您可以通过执行如下操作来限制对特定集群和联合数据库实例的访问:

  1. 将 Restrict Access to Specific Clusters/Federated Database Instances 切换到 ON。

  2. 从 Grant Access To 列表中选择要向该用户授予其访问权限的集群和联合数据库实例。

7

将 Temporary User 切换为 On,然后选择一个时间,在此时间之后 Atlas 可以从 Temporary User Duration 下拉列表中删除该用户。您可以选择以下时间段之一作为用户的存在时间:

  • 6 小时

  • 1 天

  • 1 周

临时用户会在 Database Users 标签页中显示 Atlas 删除该用户前的剩余时间。Atlas 删除临时用户后,任何使用临时用户凭证的客户端或应用程序都将失去对集群的访问权限。

8

如需使用 Atlas CLI 列出项目的所有 Atlas 数据库用户,请运行以下命令:

atlas dbusers list [options]

要使用 Atlas CLI 返回指定项目中单个 Atlas 数据库用户的详细信息,请运行以下命令:

atlas dbusers describe <username> [options]

要详细了解先前命令的语法和参数,请参阅 Atlas CLI 文档中的 atlas dbusers list 和 atlas dbusers describe。

提示

请参阅:相关链接

如需使用 Atlas CLI 列出数据库用户的所有 Atlas 托管的未过期证书, 请运行以下命令:

atlas dbusers certs list <username> [options]

要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas dbusers certs list。

要使用 Atlas 管理 API 查看 Atlas 数据库用户,请参阅获取全部。

要在 Atlas 用户界面中查看 Atlas 数据库用户和 X.509 证书:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access。

完成上述步骤后,将显示数据库和网络访问页面。

2
  1. 如果尚未显示,请单击 Database Users 标签页。

  2. 单击用户的 Edit,查看其权限、身份验证详情和 X.509 证书。

如需使用 Atlas CLI 更新项目的数据库用户,请运行以下命令:

atlas dbusers update <username> [options]

要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas dbusers update。

您可以通过 Atlas Administration API 更新数据库用户。要了解更多信息,请参阅更新一个。

要修改 Atlas 项目的现有用户:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access。

完成上述步骤后,将显示数据库和网络访问页面。

2
  1. 如果尚未显示,请单击 Database Users 标签页。

  2. 单击要修改的用户的 Edit。

    可以修改分配给用户的权限和身份验证详细信息。不能修改身份验证方法。

    下表描述了您可以对每个用户执行的操作:

    用户类型
    操作

    SCRAM 认证用户

    编辑用户的密码。

    X.509 证书认证的用户

    下载新证书。

    AWS IAM 用户

    修改数据库访问权限。

    临时用户

    修改用户存在的时间段,或使用户成为永久用户(前提是用户的到期日期尚未过去)。

    注意

    无法将永久用户更改为临时用户。如果将临时用户更改为永久用户,就无法再次将其设置为临时用户。

  3. 单击 Update User(更新配置文件)保存更改。

如需使用 Atlas CLI 删除项目的数据库用户, 请运行以下命令:

atlas dbusers delete <username> [options]

要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas dbusers delete.。

您可以通过 Atlas Administration API 删除数据库用户。要了解更多信息,请参阅删除一个。

要使用 Atlas 用户界面删除 Atlas 项目的现有用户:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access。

完成上述步骤后,将显示数据库和网络访问页面。

2
  1. 如果尚未显示,请单击 Database Users 标签页。

  2. 单击要删除的用户旁边的 Delete。

  3. 再次单击 Delete 进行确认。