如果阿里云Elasticsearch的系统策略无法满足您的需求,请通过创建自定义策略实现精细化权限管理。

前提条件

已了解权限策略语言的基本结构和语法,详情请参见权限策略语法和结构

背景信息

阿里云Elasticsearch支持以下两种系统策略:
  • AliyunElasticsearchReadOnlyAccess:只读访问阿里云Elasticsearch或Logstash的权限,可用于只读用户。
  • AliyunElasticsearchFullAccess:管理阿里云Elasticsearch或Logstash的权限,可用于管理员。
说明
  • AliyunElasticsearchFullAccess和AliyunElasticsearchReadOnlyAccess仅为子账号授予阿里云Elasticsearch或Logstash的权限,不包括云监控和Tags权限,如需添加对应权限,请在授权中添加云监控所有权限(AliyunCloudMonitorFullAccess、AliyunCloudMonitorReadOnlyAccess)或指定权限,及自定义的Tags策略
  • 授权范围仅支持云账号全部资源,不支持指定资源组。
  • 本文中的云账号是指阿里云主账号。

操作步骤

  1. 云账号登录RAM控制台
  2. 在左侧导航栏的权限管理菜单下,单击权限策略管理
  3. 单击创建权限策略
  4. 填写策略名称备注
  5. 配置模式选择脚本配置
  6. 策略内容区域,选择并导入已有系统策略后进行适当修改。
    策略内容区域
    说明 在搜索框输入关键字可以进行模糊搜索。

    根据需求输入具体的权限脚本:

    • 访问主用户的专有网络VPC(Virtual Private Cloud)权限。
      "vpc:DescribeVSwitch*","vpc:DescribeVpc*"
      说明 策略内容可参见系统模板AliyunVPCReadOnlyAccess
    • 子用户订单权限。
      ["bss:PayOrder"] 
      说明 策略内容可参见系统模板AliyunBSSOrderAccess
    • API对应权限。
      Method URI Resource Action
      GET /instances instances/* ListInstance
      POST /instances instances/* CreateInstance
      GET /instances/$instanceId instances/$instanceId DescribeInstance
      DELETE /instances/$instanceId instances/$instanceId DeleteInstance
      POST /instances/$instanceId/actions/restart instances/$instanceId RestartInstance
      PUT /instances/$instanceId instances/$instanceId UpdateInstance
      配置示例如下。
      注意 如果配置的实例设置了标签,需要给子账号授予操作标签的权限,详情请参见实例标签权限策略示例
      • 以下示例为账号ID为1234的主账号下的某个子账号授予权限。使该子账号拥有在华东1区中,除创建实例权限外的所有操作权限,同时限制只有指定的IP才能访问所有Elasticsearch实例。
        {
          "Statement": [
            {
              "Action": [
                "elasticsearch:ListInstance",
                "elasticsearch:DescribeInstance",
                "elasticsearch:DeleteInstance",
                "elasticsearch:RestartInstance",
                "elasticsearch:UpdateInstance"
              ],
              "Condition": {
                "IpAddress": {
                  "acs:SourceIp": "xxx.xx.xxx.x/xx"
                }
              },
              "Effect": "Allow",
              "Resource": "acs:elasticsearch:cn-hangzhou:1234:instances/*"
            }
          ],
          "Version": "1"
        }
      • 以下示例为账号ID为1234的主账号下的某个子账号授予权限。使该子账号拥有在华东1区中,除创建实例权限外的所有操作权限,同时限制只有指定的IP才能访问指定Elasticsearch实例。
        {
          "Statement": [
            {
              "Action": [
                "elasticsearch:ListInstance"
              ],
              "Condition": {
                "IpAddress": {
                  "acs:SourceIp": "xxx.xx.xxx.x/xx"
                }
              },
              "Effect": "Allow",
              "Resource": "acs:elasticsearch:cn-hangzhou:1234:instances/*"
            },
            {
              "Action": [
                "elasticsearch:DescribeInstance",
                "elasticsearch:DeleteInstance",
                "elasticsearch:RestartInstance",
                "elasticsearch:UpdateInstance"
              ],
              "Condition": {
                "IpAddress": {
                  "acs:SourceIp": "xxx.xx.xxx.x/xx"
                }
              },
              "Effect": "Allow",
              "Resource": "acs:elasticsearch:cn-hangzhou:1234:instances/$instanceId"
            }
          ],
          "Version": "1"
        }
      • 以下示例为账号ID为1234的主账号下的某个子账号授予权限。使该子账号拥有对所有区域中,Elasticsearch实例的所有操作权限。
        {
          "Statement": [
            {
              "Action": [
                  "elasticsearch:*"
                    ],
              "Effect": "Allow",
              "Resource": "acs:elasticsearch:*:1234:instances/*"
            }
          ],
          "Version": "1"
        }
      • 以下示例为账号ID为1234的主账号下的某个子账号授予权限。使该子账号拥有在所有区域中,除创建实例和查看实例列表权限之外的所有操作权限。
        {
          "Statement": [
            {
              "Action": [
                  "elasticsearch:DescribeInstance",
                  "elasticsearch:DeleteInstance",
                  "elasticsearch:UpdateInstance",
                  "elasticsearch:RestartInstance"
                    ],
              "Effect": "Allow",
              "Resource": "acs:elasticsearch:*:1234:instances/$instanceId"
            }
          ],
          "Version": "1"
        }
  7. 单击确定

后续步骤

使用您创建的自定义策略,为RAM用户授予对应的权限,详情请参见为RAM用户授权