Skip to main content
本指南适用于在 ClickHouse Cloud 中拥有 Admin 角色的用户。 ClickHouse Cloud 客户可以选择预定义的系统角色,也可以创建自定义角色并分配给用户。有关系统角色及其对应权限的更多信息,请参阅控制台角色和权限。本指南将详细介绍如何管理自定义角色。

创建自定义角色

自定义角色可以包含组织、服务和数据库权限的任意组合。权限可应用于全部或部分服务和数据库。
1

进入组织设置并选择 Users and roles

在 services 页面中,选择你的组织名称。然后在弹出菜单中选择 Users and roles 菜单项。
2

选择 Roles 选项卡

在屏幕顶部中间选择 Roles 选项卡。
3

在右上角选择 Create new role

点击屏幕右上角的 Create new role 按钮。
4

为角色命名

输入一个便于识别的角色名称。这将是在为用户和 API 密钥 分配角色时显示的名称。
5

点击 Allow 并选择权限范围

点击 Allow 按钮,然后从 Organization、Service 和/或 Database 权限中进行选择。有关所有权限的说明,请参阅控制台角色和权限
确保需要登录控制台的用户至少具有 Organization > Access organization 权限。
Data Sources tab access要访问 Data Sources 选项卡,该角色目前需要 Manage selected services 权限。
6

检查新角色

完成之前,请检查分配给新角色的权限。确认无误后,点击 Create role

管理数据库角色 (Beta)

除控制台权限外,自定义角色还可包含数据权限,以控制对所选服务中数据库的访问。这样,您可以在一个位置管理控制台和数据库访问权限,无需在每个数据库中分别维护角色。
此功能目前处于 Beta 阶段,适用于运行 ClickHouse 26.4 及更高版本的服务。
向自定义角色添加数据权限时,ClickHouse Cloud 会在每个所选服务中创建一个对应的角色,并添加 cloud: 前缀。例如,名为 readonly 的自定义角色会在数据库中显示为 cloud:readonly。自定义角色的成员通过 SQL 控制台的免密码身份验证连接到服务时,将获得这些数据库权限。
在数据库中使用 sql-console-role:<email> 命名约定手动分配的角色,优先于通过控制台分配的角色。
1

向角色添加数据权限

创建自定义角色,或编辑现有角色。在角色对话框中,单击 Allow permissions 按钮并选择 Data
2

选择服务

选择要应用权限的服务。添加更多服务即可在多个服务中应用权限。
3

选择访问级别

选择 Read-onlyAdminCustom 访问级别。选择 Custom 时,可通过 ClickHouse GRANT 语句定义具体的数据访问权限。
4

创建角色

单击 Create role。系统将在所选服务中创建数据库角色。

验证数据库角色

通过控制台管理的角色会在数据库中创建,其名称带有 cloud: 前缀,存储类型为 cloud。要列出这些角色,请查询服务中的 system.roles 表:

更新自定义角色

自定义角色创建后可以更新。用户会失去从该角色中移除的所有权限,并获得新增的所有权限。
用户权限是叠加的。如果用户通过多个角色拥有执行某项操作的权限,那么仅从其中一个角色移除该权限时,他们可能不会立即失去访问权限。
  1. 进入组织设置,然后选择 Users and roles
  2. 选择 Roles 选项卡
  3. 选择要更新的角色旁边的三个点
  4. 选择 Edit
  5. 修改权限
  6. 选择 Edit role

删除自定义角色

自定义角色可随时删除。
组织中必须至少有一位用户拥有管理权限。如果删除该角色会导致最后一位用户失去管理权限,则无法删除该角色。要解决此问题,请先为至少一位用户分配 Admin 系统角色,然后再删除自定义角色。
  1. 进入组织设置并选择 Users and roles
  2. 选择 Roles 选项卡
  3. 选择要删除的角色旁边的三个点
  4. 查看删除该角色后将失去访问权限的用户和 API 密钥,并按需调整分配。
  5. 选择 Delete role 完成删除
最后修改于 2026年8月14日