Docs 菜单
Docs 主页
/
MongoDB 阿特拉斯
/ /

配置数据库用户

在此页面上

  • 在 Atlas 中,转到 Project Activity Feed页面。
  • 数据库用户身份验证
  • 必需的访问权限
  • 添加数据库用户
  • 查看数据库用户和证书
  • 修改数据库用户
  • 删除数据库用户

创建数据库用户,为客户端提供对项目中集群的访问权限。数据库用户的访问权限由分配给该用户的角色决定。创建数据库用户时,任何内置角色都会将该用户添加到 Atlas 项目的所有集群。您可以删除默认的内置角色并设置特定权限自定义角色,以将用户添加到特定集群。

数据库用户与 Atlas 用户是分开的。数据库用户 可访问 MongoDB 数据库,而 Atlas 用户可访问 Atlas 应用程序本身。 Atlas 支持创建临时数据库用户, 这些用户会在用户可配置的 7 天期限内自动过期。

Atlas 审核项目操作日志中数据库用户的创建、删除和更新操作。 Atlas 可审核临时和非临时数据库用户的相关操作。

要查看项目的操作日志,请执行以下操作:

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

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

  3. 执行以下步骤之一:

    • 单击导航栏右侧的Project Activity Feed图标。

    • Projects菜单旁边,展开Options菜单,单击Project Settings ,然后单击侧边栏中的Activity Feed

    显示项目操作日志页面。

有关项目操作日志的更多信息,请参阅查看所有活动

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

重要

您必须使用Atlas CLIAtlas Administration API 、Atlas UI 或支持的集成来添加、修改或删除 Atlas 集群上的数据库用户。否则,Atlas 会回滚任何用户修改。

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

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

经过 SCRAM 身份验证的用户的身份验证数据库 admin数据库。

注意

默认情况下,Atlas 支持 SCRAM-SHA-256 身份验证。 如果有在 MongoDB 4.0 发布前创建的数据库用户, 请更新其密码以生成 SCRAM-SHA-256 档案。 您可以重复使用现有密码。

X.509 证书通过使用受信任的证书实现无密码身份验证。

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

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

您可以创建一个数据库用户,该用户使用 AWS IAM 用于身份验证的用户或角色 ARN

经过 AWS IAM 身份验证的用户的身份验证数据库$external数据库。

AWS IAM 身份验证仅在使用 MongoDB 版本5的集群上可用。 0及更高版本。

您可以创建使用LDAP进行身份验证的数据库用户。

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

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

您可以创建使用OIDC进行身份验证的数据库用户。

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

OIDC身份验证仅在使用 MongoDB 版本7的集群上可用。 0及更高版本。

要添加数据库用户,必须拥有 Atlas 的 Organization OwnerProject Owner 访问权限。

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

创建用户后便无法更改此用户的身份验证方法。 要使用备用身份验证方法,必须创建一个新用户。

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 createatlas dbusers certs create

提示

请参阅:相关链接

您可以通过 Atlas Administration API 添加数据库用户。您指定的选项决定了身份验证方法。要了解更多信息,请参阅创建一个数据库用户。

选择一种身份验证机制,然后按照步骤使用 Atlas 用户界面创建新的数据库用户。

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

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

  3. 在侧边栏中,单击Security标题下的Database 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 用户界面内为每个数据库用户选择一个内置角色。如果删除了默认选项,可以单击 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
1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

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

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

    显示数据库访问页面。

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

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

3

Add New Database User模式窗口的Authentication Method部分中,选择标记为Certificate的框。

4
  1. Common Name文本字段中输入新用户的用户名。

  2. (可选)如果您想在创建新用户后下载 Atlas 托管证书,请将Download certificate when user is added开关切换到On

    注意

    要在保存时下载证书,您必须提供证书到期日期。

  3. (可选)选择证书有效期。

    X. 509证书在您设置的证书到期日期后过期无效。用户无法使用过期的 X. 509证书登录,必须向其颁发新证书。

    为了帮助管理此问题,当您创建启用 X. 509身份验证的新用户时,Atlas 会自动创建项目级警报。此警报在该用户的最新证书到期前30天发送通知,每24小时重复一次。您可以从 Atlas 的Alert Settings页面查看和编辑此警报。有关配置警报的更多信息,请参阅配置警报设置。

    重要

    如果用户丢失证书,则需要新证书才能再次登录。

    重要

    您无法撤销 X. 509证书。要撤销通过 X. 509证书身份验证的用户对项目的访问权限,您必须删除该用户。

    如果您希望管理自己的 X. 509证书,则可以通过自管理 X. 509证书上传 PEM 编码的证书颁发机构。

5

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

  • Built-in Role 下拉菜单中,选择一个内置角色。您可以在 Atlas 用户界面内为每个数据库用户选择一个内置角色。如果删除了默认选项,可以单击 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

注意

AWS IAM 身份验证仅在使用 MongoDB 版本5的集群上可用。 0及更高版本。

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

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

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

    显示数据库访问页面。

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

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

3

Add New Database User模式窗口的Authentication Method部分中,选择标记为AWS IAM的框。

4
  1. AWS IAM Type下拉菜单中选择用户类型。

  2. 输入 AWS 用户ARN 。单击See instruction below链接获取有关查找 ARN 的帮助。

5

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

  • Built-in Role 下拉菜单中,选择一个内置角色。您可以在 Atlas 用户界面内为每个数据库用户选择一个内置角色。如果删除了默认选项,可以单击 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

使用 AWS IAM 身份验证和mongosh连接到 Atlas 需要 shell 版本 v 0 。 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>
1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

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

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

    显示数据库访问页面。

2

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

注意

在您将 Workforce IdP 应用于 Atlas之前,此按钮会显示Add New Database User

3

Authentication Method 部分,选择 Federated Auth

注意

为组织启用 Workforce IdP 之前,您无法选中此框。

4

a. 在Select Identity Provider部分中,选择已配置的OIDC身份提供程序。

  1. 指定与已配置的劳动力身份提供程序关联的用户标识符或群组标识符。

注意

对于 Azure Entra ID 用户,此值映射到 Azure 用户组的对象 ID,而不是用户组名称。

5

要向新用户或群组分配权限,请执行以下一项或多项任务:

  • 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 手册中的基于角色的访问控制内置角色

6

默认情况下,群组可以访问项目中的所有集群和联合数据库实例。 要限制对特定集群和联合数据库实例的访问,请执行以下操作:

  1. Restrict Access to Specific Clusters/Federated Database Instances 切换到 On

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

7

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

  • 6 小时

  • 1 天

  • 1 周

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

8

执行以下步骤之一:

  • 如果已添加用户,请单击Add User按钮。

  • 如果已添加群组,请单击Add Group按钮。

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

atlas dbusers list [options]

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

atlas dbusers describe <username> [options]

要详细了解先前命令的语法和参数,请参阅 Atlas CLI 文档中的 atlas dbusers listatlas 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 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 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 Access

    显示数据库访问页面。

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

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

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

后退

身份验证

来年

内置角色和特权