Docs 菜单
Docs 主页
/
MongoDB Atlas
/ /

配置数据库用户

在此页面上

  • 在 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 管理 API、Atlas 用户界面,或支持的集成来添加、修改或删除 Atlas 集群上的数据库用户。否则,Atlas 会回滚任何用户修改。

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

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

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

注意

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

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

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

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

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

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

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

注意

从 MongoDB 8.0 开始,LDAP 身份验证和授权已弃用。该功能可用,并将在 MongoDB 的整个生命周期内继续运行,无需更改 8。LDAP 将在将来的主要版本中删除。

有关详细信息,请参阅 LDAP 弃用

您可以创建一个使用 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 版本 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>
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. 指定与您配置的 Workforce 身份提供程序关联的用户标识符或群组标识符。

注意

对于 Azure Entra ID 用户,此值映射到 Azure 用户组的 Object 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按钮。

注意

从 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 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 进行确认。

后退

身份验证