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

配置自定义数据库角色

在此页面上

  • 注意事项
  • 必需的访问权限
  • 添加自定义角色
  • 查看自定义角色
  • 修改自定义角色
  • 删除自定义角色
  • 分配自定义角色

内置角色不包含所需的权限集时,您可以在 Atlas 中创建自定义角色。 Atlas 将每个数据库用户的自定义角色与以下内容一起应用:

  • 当您添加数据库用户修改数据库用户时分配的任何内置角色

  • 添加数据库用户 修改数据库用户 时分配的任何 特定权限 。

您可以为每个数据库用户分配多个自定义角色。

注意

免费集群、共享集群和无服务器实例限制

M0 免费集群、M2/M5 共享集群和无服务器实例中部署自定义角色的更改可能需要长达 30 秒。

可用于 自定义角色 自定义角色 API 的权限 操作 是可用于 内置角色的权限操作的子集。

要查看自定义角色特权列表,请参阅 API 参考资料。

重要

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

  • 您最多可以向单个数据库用户分配20个自定义角色,每个项目最多可以创建100自定义角色。如果您需要为每个数据库用户或每个项目提供更多自定义角色,请联系Atlas 支持部门

  • Atlas 审核项目操作日志中的自定义 MongoDB 角色的创建、删除和更新操作

  • 如果为用户分配了多个角色,而这些角色授予 某个对象的权限相互冲突,则 Atlas 会尊重任何角色内的 最高权限。

    例子

    您创建两个自定义角色,并将其分配给用户 A:

    用户 A 将拥有数据库的所有dbAdmin特权,因为dbAdmin是更高的数据库访问权限。用户 A 也将拥有bypassDocumentValidation ,因为bypassDocumentValidation是更高的旁路权限。

要配置自定义数据库角色,您必须拥有 Atlas 的 Organization OwnerProject Owner 访问权限。

如需使用 Atlas CLI 创建项目的自定义数据库角色,请运行以下命令:

atlas customDbRoles create <roleName> [options]

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

提示

请参阅:相关链接

要通过 Atlas 管理 API 创建自定义角色,请参阅创建一个。

请按照以下步骤通过 Atlas 用户界面创建自定义角色:

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

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

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

    显示数据库访问页面。

2
  1. 单击 Custom Roles 标签页。

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

3
字段
说明
Custom Role Name

自定义角色的名称。

重要

指定的角色名称只能包含字母、数字、下划线和破折号。此外,不能指定满足以下任何条件的角色名称:

  • 是项目中现有自定义角色已使用的名称

  • 是任何内置角色的名称

  • is atlasAdmin

  • 开头为 xgen-

Action or Role

角色授予的权限。单击下拉列表可查看可用权限操作角色的列表。

Atlas 将操作和角色分为以下类别:

  • Collection Actions

  • Database Actions and Roles

  • Global Actions and Roles

  • Custom Roles (如果有)

从单一类别中选择操作或角色。一旦选择了某个操作或角色,Atlas 就会禁用其他类别,但以下情况除外。如果您从 Global Actions and Roles 选择操作/角色,您仍然可以从 Custom Roles 选择操作/角色。

要授予其他类别中的操作和角色,请单击 Add an action or role 新增一行。

Atlas 会禁用项目中任何集群版本都无法使用的操作。自定义角色是在项目级别定义的,并且必须与项目集群使用的每个 MongoDB 版本兼容。

Database

授予所选操作和角色的数据库(如果适用)。

对于 Collection ActionsDatabase Actions and Roles 类别下的所有角色和操作,此字段是必填字段。

Collection

授予操作和角色的指定数据库内的集合(如果适用)。

对于 Collection Actions 下的所有角色和操作,此字段是必填字段。

要对多个数据库和集合授予同一组权限,请单击 Add a database or collection

4

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

atlas customDbRoles list [options]

如需使用 Atlas CLI 返回指定项目中单个自定义数据库角色的详细信息,请运行以下命令:

atlas customDbRoles describe <roleName> [options]

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

提示

请参阅:相关链接

要通过 Atlas 管理 API 查看自定义角色,请参阅获取全部。

要通过 Atlas 用户界面查看自定义角色:

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

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

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

    显示数据库访问页面。

2

如需使用 Atlas CLI 更新项目的自定义数据库角色, 请运行以下命令:

atlas customDbRoles update <roleName> [options]

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

提示

请参阅:相关链接

要通过 Atlas 管理 API 修改自定义角色,请参阅更新一个。

请按照以下步骤通过 Atlas 用户界面修改自定义角色:

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

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

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

    显示数据库访问页面。

2
  1. 单击 Custom Roles 标签页。

  2. 单击要修改的角色旁边的 Edit。您可以修改角色的以下组件:

    • 自定义角色继承的操作或角色。

    • 这些权限适用的数据库和集合。

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

如需使用 Atlas CLI 删除项目的自定义数据库角色, 请运行以下命令:

atlas customDbRoles delete <roleName> [options]

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

提示

请参阅:相关链接

要通过 Atlas 管理 API 删除自定义角色,请参阅删除一个。

请按照以下步骤通过 Atlas 用户界面删除自定义角色:

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

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

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

    显示数据库访问页面。

2
  1. 单击 Custom Roles 标签页。

  2. 单击要删除的角色旁边的 Delete

  3. 单击对话框中的Delete ,确认删除。

出现以下情况时无法删除自定义角色:

  • 删除角色后,一个或多个子角色将没有父角色或操作。

  • 当删除角色会导致一个或多个数据库用户没有角色时。

添加数据库用户修改数据库用户时,可以在 Atlas 用户界面中分配自定义角色。要通过 Atlas Administration API 分配自定义角色,请参阅创建数据库用户更新数据库用户。

后退

内置角色和特权

来年

AWS IAM