如果阿里云Elasticsearch的系统策略无法满足您的需求,可以通过创建自定义策略实现精细化权限管理。本文介绍如何创建自定义权限策略,并提供实例和标签权限策略配置示例供您参考。
前提条件
背景信息
- AliyunElasticsearchReadOnlyAccess:只读访问阿里云Elasticsearch或Logstash的权限,可用于只读用户。
- AliyunElasticsearchFullAccess:管理阿里云Elasticsearch或Logstash的权限,可用于管理员。
说明
- 以上两种权限仅为RAM用户授予阿里云Elasticsearch或Logstash的权限,不包括云监控和Tags权限,使用时需自定义对应权限。您也可参见管理员权限配置。
- 授权范围仅支持云账号全部资源,不支持指定资源组。
- 本文中的云账号是指阿里云主账号。
操作步骤
权限策略示例
- 管理员权限策略
以下示例设置为账号ID为<UID>的主账号下的某个RAM用户授权,使该用户拥有所有Elasticsearch实例的所有操作权限。
{ "Statement": [ { "Action": [ "elasticsearch:*" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "elasticsearch:ListInstance", "elasticsearch:ListSnapshotReposByInstanceId" ], "Effect": "Allow", "Resource": "acs:elasticsearch:cn-hangzhou:<UID>:instances/*" }, { "Action": [ "elasticsearch:ListCollectors" ], "Effect": "Allow", "Resource": [ "acs:elasticsearch:*:*:collectors/*" ] }, { "Action": [ "cms:ListProductOfActiveAlert", "cms:ListAlarm", "cms:QueryMetricList" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "elasticsearch:ListTags" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:*:tags/*" }, { "Action": [ "elasticsearch:ListLogstash" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<UID>:logstashes/*" }, { "Effect": "Allow", "Action": [ "elasticsearch:DescribeVpcs", "elasticsearch:DescribeVswitches" ], "Resource": [ "acs:elasticsearch:*:<UID>:vswitch/*", "acs:elasticsearch:*:<UID>:vpc/*" ] }, { "Action": "bss:PayOrder", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }
- 操作特定实例权限策略
以下示例设置为账号ID为<UID>的主账号下的某个RAM用户授权,使该用户拥有以下权限:
- 底层云监控权限
- 指定实例,除安全配置(删除实例、配置公网和私网访问白名单等)外的所有Elasticsearch相关操作的权限
- 查看实例列表的权限
- 查看所有实例标签的权限
- 查看采集器列表的权限
{ "Statement": [ { "Action": [ "elasticsearch:*" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<UID>:instances/<instanceId>" }, { "Action": [ "cms:ListProductOfActiveAlert", "cms:ListAlarm", "cms:QueryMetricList" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "elasticsearch:DeleteInstance", "elasticsearch:UpdatePublicNetwork", "elasticsearch:UpdateWhiteIps", "elasticsearch:ModifyWhiteIps", "elasticsearch:TriggerNetwork" ], "Effect": "Deny", "Resource": "acs:elasticsearch:*:<UID>:instances/*" }, { "Action": [ "elasticsearch:ListTags" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<UID>:tags/*" }, { "Action": [ "elasticsearch:ListInstance", "elasticsearch:ListSnapshotReposByInstanceId" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<UID>:instances/*" }, { "Action": [ "elasticsearch:ListCollectors" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<UID>:collectors/*" }, { "Action": [ "elasticsearch:ListLogstash" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<UID>:logstashes/*" }, { "Action": [ "elasticsearch:GetEmonProjectList" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:*:emonProjects/*" }, { "Action": [ "elasticsearch:getEmonUserConfig" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:*:emonUserConfig/*" } ], "Version": "1" }
Action | 说明 |
---|---|
|
云监控权限,具体说明如下:
|
|
支付订单的权限。授权后,RAM用户可在购买实例时,支付订单。 |
|
访问主账号的专有网络和虚拟交换机列表权限。授权后,在购买实例时,RAM用户可选择主账号创建的专有网络和虚拟交换机。
注意 设置RAM用户购买实例的权限时,需要同时配置
["bss:PayOrder"] Action,否则购买时,会出现无权限的错误。
|
|
操作Elasticsearch实例的所有权限。授权后,RAM用户可对所有或指定实例执行任意操作。
注意
elasticsearch:* 不包括高级监控告警、云监控、Tags权限,这些权限需要单独设置。如果没有设置,进入包含这些功能的页面后,会出现无权限的错误。但确认后,可以在该页面中使用其他已授权的功能。
|
|
查看Elasticsearch实例标签的权限。授权后,RAM用户可查看Elasticsearch实例的标签。 |
|
|
|
查看Beats采集器列表的权限。授权后,RAM用户可查看控制台中包含的所有Beats采集器。 |
|
查看Logstash实例列表的权限。授权后,RAM用户可在实例列表页面中,查看对应区域下包含的所有Logstash实例。 |
|
说明 此部分的Effect设置为Deny,表示不允许RAM用户执行以上操作。
|
|
获取集群监控项目列表的权限。
注意 此Action需要与
["elasticsearch:getEmonUserConfig"] Action一起使用,否则在进入集群监控页面时,会提示无权限。
|
|
获取集群监控用户配置的权限。 |
Effect | 说明 |
---|---|
Allow | 允许RAM用户执行Action中设置的操作。 |
Deny | 拒绝RAM用户执行Action中设置的操作。 |
在文档使用中是否遇到以下问题
更多建议
匿名提交