目前,可以在RAM中进行授权的资源类型只有dbcluster,即最细粒度为实例级别。本文以如何授权RAM用户查看ClickHouse实例配置为例,介绍具体的操作步骤。

背景信息

默认情况下,通过阿里云主账号创建的ClickHouse实例,都是该账号自己拥有的资源。账号对自己的资源拥有完整的操作权限。

通过使用阿里云的访问控制RAM(Resource Access Management)服务,可以将您主账号下ClickHouse资源的访问及管理权限授予RAM中的子用户。

操作步骤

  1. 创建权限策略。
    1. 通过阿里云账号登录RAM控制台
    2. 在左侧导航栏选择权限管理 > 权限策略管理
    3. 单击创建权限策略,填写策略名称备注
    4. 配置模式选择脚本配置,在下方编辑框内输入以下内容:
      { 
       "Statement": [
          {
            "Effect": "Allow",
            "Action": "clickhouse:*",
            "Resource": "acs:clickhouse:*:*:dbcluster/实例ID"
          },
          {
            "Effect": "Allow",
            "Action": "clickhouse:DescribeDBClusters",
            "Resource": "*"
          }
        ],
        "Version": "1"
      }
      说明
      • 上文中两组配置项分别是查看特定实例的所有权限和查看所有实例的列表信息。授权RAM用户查看ClickHouse实例配置权限时,需同时创建这两个权限。
      • 可视化配置目前不支持ClickHouse,仅提供脚本配置。
      脚本中的参数说明如下。
      参数名称 说明
      Effect 授权效力。取值范围:
      • Allow:允许授权。
      • Deny:拒绝授权。
      Action 对具体资源的操作,支持多值。格式:<ram-code>:<action-name>
      • ram-code:云服务的RAM代码。更多信息,请参见支持RAM的云服务RAM代码列。
        说明 云数据库ClickHouseram-codeclickhouse
      • action-name:相关的API操作接口名称。云数据库ClickHouse支持的API列表,请参见API概览
      Resource 被授权的具体对象。格式:acs:<ram-code>:<region>:<account-id>:<relative-id>
      • acs:Alibaba Cloud Service的首字母缩写,表示阿里云的公有云平台。
      • ram-code:云服务的RAM代码。更多信息,请参见支持RAM的云服务RAM代码列。
        说明 云数据库ClickHouseram-codeclickhouse
      • region:地域信息。可以使用通配符*代替。
      • account-id:阿里云账号ID。例如:123456789012****,可以使用通配符*代替。
      • relative-id:与服务相关的资源描述部分,其语义由具体服务指定。
        说明 云数据库ClickHouserelative-iddbcluster/实例ID,表示对特定实例授权。可以使用通配符 *,表示对所有实例授权。
      Version 当前支持的权限策略版本,固定为1,不允许修改。
    5. 单击确定进行创建。
  2. 添加权限。
    1. 在左侧导航栏选择身份管理 > 用户
      说明 如需创建RAM用户,请参见 创建RAM用户
    2. 找到目标用户,单击右侧操作列的添加权限
    3. 选择权限选项下单击自定义策略,搜索刚创建的策略名称并单击选中。
    4. 单击确定

相关文档