如果阿里云Elasticsearch的系统策略无法满足您的需求,可以通过创建自定义策略实现精细化权限管理。本文介绍如何创建自定义权限策略,并提供实例和标签权限策略配置示例供您参考。
背景信息
系统策略名称 | 说明 |
---|---|
AliyunElasticsearchReadOnlyAccess | 只读访问阿里云Elasticsearch或Logstash的权限,用于只读用户。 |
AliyunElasticsearchFullAccess | 管理阿里云Elasticsearch、Logstash或Beats的权限,用于管理员。 |
说明 以上权限仅为RAM用户授予阿里云Elasticsearch、Logstash、Beats或Serverless的权限,不包括云监控和Tags权限,使用时需自定义对应权限。您也可以参见权限策略示例配置。
前提条件
了解权限策略语言的基本结构和语法。详细信息,请参见权限策略语法和结构。
注意事项
自定义策略仅在账号级别生效,不会在资源组级别生效。如果您想对特定RAM用户仅显示控制台的特定资源,那么可以采用通过资源组授权特定实例的方式实现。
操作步骤
权限策略示例
重要
在使用以下代码示例前,请将代码中的以下信息替换成您自己对应的信息:
- <yourAccountId>:需要替换为您自己的阿里云账号ID,不支持通配符
*
。阿里云账号ID的获取方法:鼠标移至控制台右上角的用户头像上,即可查看到账号ID。 - <yourInstanceId>:需要替换为待授权的目标实例ID,不支持通配符
*
。获取方式,请参见查看实例的基本信息。
- 管理员权限策略
以下示例用于为账号ID为<yourAccountId>的阿里云账号下的某个RAM用户授权,使该用户拥有所有Elasticsearch实例的所有操作权限。
{ "Statement": [ { "Action": [ "elasticsearch:*" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "cms:*" ], "Effect": "Allow", "Resource": "*" }, { "Action": "bss:PayOrder", "Effect": "Allow", "Resource": "*" }, { "Action": "ims:*", "Effect": "Allow", "Resource": "acs:ims::<yourAccountId>:application/*" }, { "Action": "ram:CreateServiceLinkedRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": [ "collector.elasticsearch.aliyuncs.com", "ops.elasticsearch.aliyuncs.com" ] } } } ], "Version": "1" }
- 操作特定实例权限策略
以下示例用于为账号ID为<yourAccountId>的阿里云账号下的某个RAM用户授权,使该用户拥有以下权限:
- 底层云监控权限。
- 给指定实例授予所有Elasticsearch相关操作的权限。
- 查看实例列表的权限。
- 查看所有实例标签的权限。
- 查看采集器列表的权限。
说明 因为阿里云Elasticsearch控制台的实例管理页面,集成调用了Beats采集器、阿里云高级监控和标签Tags等外部依赖接口,所以在对特定实例授权时,需要参见以下配置示例,授予依赖权限。{ "Statement": [ { "Action": [ "elasticsearch:*" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<yourAccountId>:instances/<yourInstanceId>" }, { "Action": [ "cms:DescribeActiveMetricRuleList", "cms:ListAlarm", "cms:QueryMetricList" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "elasticsearch:ListTags" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<yourAccountId>:tags/*" }, { "Action": [ "elasticsearch:ListInstance", "elasticsearch:ListSnapshotReposByInstanceId" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<yourAccountId>:instances/*" }, { "Action": [ "elasticsearch:ListLogstash" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<yourAccountId>:logstashes/*" }, { "Action": [ "elasticsearch:ListCollectors" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<yourAccountId>:collectors/*" }, { "Action": [ "elasticsearch:GetEmonProjectList" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:*:emonProjects/*" }, { "Action": [ "elasticsearch:getEmonUserConfig" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:*:emonUserConfig/*" } ], "Version": "1" }
Action | 说明 |
---|---|
|
云监控权限,具体说明如下:
|
|
支付订单的权限。授权后,RAM用户可在购买实例时,支付订单。 |
|
RAM用户使用高级监控报警时,需要授予ims权限。您也可以通过阿里云账号登录高级监控报警控制台,手动对RAM用户授权,具体操作请参见步骤一:查看和配置可视化监控。
说明 IMS(Identity Management Service)为身份管理服务。主要管理的对象为阿里云RAM用户相关的身份Meta及认证相关的配置。同时,IMS提供了标准协议,能够应用于外部IDP控制台认证打通和用户数据同步的场景。
|
|
访问阿里云账号的专有网络和虚拟交换机列表权限。授权后,在购买实例时,RAM用户可选择阿里云账号创建的专有网络和虚拟交换机。
重要 设置RAM用户购买实例的权限时,需要同时配置
["bss:PayOrder"] Action,否则购买时,会出现无权限的报错。
|
|
操作Elasticsearch实例的所有权限。授权后,RAM用户可对所有或指定实例执行任意操作。
重要
elasticsearch:* 不包括高级监控告警、云监控和Tags权限,这些权限需要单独设置。如果没有设置,进入包含这些功能的页面后,会出现无权限的错误。但确认后,可以在该页面中使用其他已授权的功能。
|
|
查看Elasticsearch实例标签的权限。授权后,RAM用户可查看Elasticsearch实例的标签。 |
|
|
|
查看Beats采集器列表的权限。授权后,RAM用户可查看控制台中Beats采集器列表。 |
|
查看Logstash实例列表的权限。授权后,RAM用户可在实例列表页面中,查看对应地域下包含的所有Logstash实例。 |
|
获取集群监控项目列表的权限。
重要 此Action需要与
["elasticsearch:getEmonUserConfig"] Action一起使用,否则在进入集群监控页面时,会提示无权限。
|
|
获取集群监控用户配置的权限。 |
Effect | 说明 |
---|---|
Allow | 允许RAM用户执行Action中设置的操作。 |
Deny | 拒绝RAM用户执行Action中设置的操作。 |
参数 | 说明 |
---|---|
* | 所有实例资源。 |
<yourInstanceId> | 指定的实例资源,需要替换为待授权的目标实例ID。获取方式,请参见查看实例的基本信息。 |