当您需要精细化地管理用户权限时,可通过创建自定义权限策略实现。创建时,需要配置Action(操作)和Resource(资源)。本文提供了阿里云Elasticsearch通过访问控制实现团队或者部门成员鉴权、RAM用户授权、RAM角色授权以及跨云服务授权的Action和Resource列表。
背景信息
默认情况下,阿里云主账号或者RAM用户均能使用Elasticsearch控制台或Elasticsearch API操作自己创建的Elasticsearch资源。在以下场景中,会涉及到操作授权问题:
- 刚创建的RAM用户没有权限操作阿里云主账号的资源时。
- 从其他阿里云服务访问Elasticsearch资源,或者Elasticsearch访问其他阿里云服务时。
- 操作具有权限控制的Elasticsearch资源前,需要资源拥有者授权目标资源和目标API行为权限。
自定义策略
您可以通过RAM控制台或者调用RAM API CreatePolicy创建一个自定义权限策略。
使用控制台的脚本配置方式,在自定义策略中,根据JSON模板文件填写策略内容。其中的Action和Resource参数取值为本文授权资源列表中对应的参数值。详细信息,请参见创建自定义权限策略和权限策略基本元素。
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"elasticsearch:[Elasticsearch RAM Action]",
"elasticsearch:ListInstance"
],
"Resource": [
"[Elasticsearch RAM Action Resource]",
"acs:elasticsearch:cn-hangzhou:133071096032****:instances/es-cn-2r42b7uyg003k****"
]
}
],
"Version": "1"
}
授权资源列表
Elasticsearch
- 实例管理
Action Resource Action描述 elasticsearch:CreateInstance acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/* 创建实例。 elasticsearch:ListInstance 查看所有实例的详细信息。 elasticsearch:DescribeInstance acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId> 查询指定实例的详细信息。 elasticsearch:EstimatedRestartTime 获取重启实例的预估时间。 elasticsearch:RestartInstance 重启指定实例。 elasticsearch:UpdateInstanceChargeType 将按量付费实例转换为包年包月实例。 elasticsearch:UpdateDescription 更新指定实例的名称。 elasticsearch:DeleteInstance 释放指定按量付费类型的阿里云Elasticsearch实例。 elasticsearch:CancelDeletion 恢复释放后被冻结的Elasticsearch实例。 elasticsearch:RenewInstance 为包年包月实例续费。 elasticsearch:ActivateZones 恢复已下线的可用区。 elasticsearch:DeactivateZones 在有多个可用区的情况下,下线部分可用区。并将下线的可用区中的节点迁移到其他可用区。 elasticsearch:InterruptElasticsearchTask 中断变更中的实例。 elasticsearch:ResumeElasticsearchTask 恢复中断变更的实例。 elasticsearch:DescribeElasticsearchHealth 获取指定实例的健康情况。 elasticsearch:ListInstanceIndices 获取实例的索引列表。 elasticsearch:MigrateToOtherZone 迁移对应可用区下的节点到目标可用区。 elasticsearch:MoveResourceGroup 迁移实例到指定资源组。 elasticsearch:ModifyInstanceMaintainTime 更改并开启实例的可维护时间。 elasticsearch:ListShardRecoveries 查看正在进行和已完成的分片恢复的数据进度列表。 - 标签管理
Action Resource Action描述 elasticsearch:ListTags acs:elasticsearch:<yourRegionId>:<yourAccountId>:tags/<yourInstanceId> 查询所有可见的用户标签。 elasticsearch:CreateTags 创建或更新标签。 elasticsearch:RemoveTags 删除标签。 elasticsearch:ListTagResources - acs:elasticsearch:<yourRegionId>:<yourAccountId>:tags/*
- acs:elasticsearch:<yourRegionId>:<yourAccountId>:tags/<yourInstanceId>
查询可见资源标签关系。 - 数据迁移
Action Resource Action描述 elasticsearch:ListDataTasks acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId> 查看数据迁移任务信息。 elasticsearch:CancelTask 取消数据迁移任务。 elasticsearch:CreateDataTasks 创建索引迁移任务,将所选实例中的数据迁移到当前实例。 elasticsearch:DeleteDataTask 删除索引迁移任务。 elasticsearch:GetClusterDataInformation - acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/*
- acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId>
获取实例的数据信息。 - 实例升降配
Action Resource Action描述 elasticsearch:UpgradeEngineVersion acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId> 升级实例版本或内核补丁版本。 elasticsearch:UpdateInstance 变更实例配置。 elasticsearch:DowngradeInstance - 缩容前,校验是否可以迁移指定实例中某些节点上的数据。
- 缩容前,执行数据迁移任务。
- 校验指定实例中的某些节点是否可以缩容。
- 执行实例节点缩容操作。
- 集群配置
Action Resource Action描述 elasticsearch:UpdateInstanceSettings acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId> 更新指定实例的YML参数配置。 elasticsearch:UpdateHotIkDicts 热更新实例的IK分词插件,包括IK主分词词库和IK停用词词库。 elasticsearch:UpdateSynonymsDicts 更新实例的同义词词典。 elasticsearch:UpdateDict 冷更新实例的IK分词插件,包括IK主分词词库和IK停用词词库。 elasticsearch:UpdateAliwsDict 更新AliNLP分词插件(analysis-aliws)的词典文件。 elasticsearch:ListDictInformation 在添加用户OSS存储的词典文件时,获取和校验用户OSS词典文件的详情。 elasticsearch:UpdateAdvancedSetting 更改指定实例的垃圾回收器配置。 elasticsearch:DescribeTemplates 获取实例的场景化配置模板。 elasticsearch:ListDicts 查看指定类型的词典详情以及签名生成的公网可下载链接。 - 插件管理
Action Resource Action描述 elasticsearch:ListPlugins acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId> 查看指定实例的插件列表。 elasticsearch:InstallSystemPlugin 安装系统预置插件。 elasticsearch:UninstallPlugin 卸载已安装的预置插件。 elasticsearch:InstallUserPlugins 安装用户自定义的已经上传至Elasticsearch控制台的插件。 - 日志查询
Action Resource Action描述 elasticsearch:ListSearchLogs acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId> 查看实例日志。 - 安全配置
Action Resource Action描述 elasticsearch:TriggerNetwork acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId> 开启或关闭Elasticsearch或Kibana实例的公网或私网访问。 elasticsearch:UpdatePrivateNetworkWhiteIps 更新指定实例的VPC私网访问白名单。 elasticsearch:UpdatePublicWhiteIps 更新指定实例的公网地址访问白名单。 elasticsearch:UpdatePublicNetwork 开启或关闭指定实例的公网地址。 elasticsearch:UpdateWhiteIps 更新实例的VPC私网访问白名单。 elasticsearch:ModifyWhiteIps 更新指定实例的访问白名单。 elasticsearch:UpdateAdminPassword 更新指定实例的elastic账号的密码。 elasticsearch:OpenHttps 开启HTTPS协议。 elasticsearch:CloseHttps 关闭HTTPS协议。 elasticsearch:AddConnectableCluster 配置实例网络互通。 elasticsearch:DeleteConnectedCluster 移除互通实例。 elasticsearch:DescribeConnectableClusters 获取能够与当前实例进行网络互通的实例列表。不包括已经打通的实例。 elasticsearch:ListConnectedClusters 获取已经与当前实例进行了网络互通的实例列表。 elasticsearch:DeleteVpcEndpoint 删除服务VPC下的终端节点。 elasticsearch:ListVpcEndpoints 查看服务VPC下的终端节点状态。 - 数据备份
Action Resource Action描述 elasticsearch:CreateSnapshot acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId> 手动对实例进行快照备份。 elasticsearch:AddSnapshotRepo acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/* 在设置跨集群OSS仓库时,创建引用仓库。 elasticsearch:DeleteSnapshotRepo 删除一个跨集群OSS引用仓库。 elasticsearch:ListSnapshotReposByInstanceId 获取当前实例的跨集群OSS仓库设置列表。 elasticsearch:ListAlternativeSnapshotRepos acs:elasticsearch:<yourRegionId>:<yourAccountId>:snapshotrepository/* 获取当前实例可添加的OSS引用仓库。 elasticsearch:DescribeSnapshotSetting acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId> 获取指定实例的数据备份配置。 elasticsearch:UpdateSnapshotSetting 更新指定实例的数据备份配置。 - 智能运维
Action Resource Action描述 elasticsearch:OpenDiagnosis - acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/*
- acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId>
开启智能运维。 elasticsearch:CloseDiagnosis 关闭智能运维。 elasticsearch:UpdateDiagnosisSettings 更新智能运维场景设置。 elasticsearch:DiagnoseInstance 即刻诊断实例。 elasticsearch:ListDiagnoseReport 查看智能运维的历史报告。 elasticsearch:ListDiagnoseReportIds 查看智能运维历史报告的ID。 elasticsearch:ListDiagnoseIndices 查看指定实例智能运维模块中,健康诊断的诊断索引。 elasticsearch:DescribeDiagnoseReport 获取智能运维的历史报告。 elasticsearch:DescribeDiagnosisSettings 获取智能运维的场景设置。
Kibana
Action | Resource | Action描述 |
---|---|---|
elasticsearch:DescribeKibanaSettings | acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId> | 查看Kibana配置。 |
elasticsearch:UpdateKibanaSettings | 更新Kibana配置。 | |
elasticsearch:ListKibanaPlugins | 查看Kibana插件。 | |
elasticsearch:InstallKibanaSystemPlugin | 安装Kibana插件。 | |
elasticsearch:UninstallKibanaPlugin | 卸载Kibana插件。 | |
elasticsearch:UpdateKibanaWhiteIps | 修改Kibana白名单。 |
Logstash
- 实例管理
Action Resource Action描述 elasticsearch:CreateLogstash - acs:elasticsearch:<yourRegionId>:<yourAccountId>:logstashes/*
- acs:elasticsearch:<yourRegionId>:<yourAccountId>:logstashes/<yourInstanceId>
创建一个Logstash实例。 elasticsearch:ListLogstash 查看所有或指定Logstash实例的详细信息。 elasticsearch:DescribeLogstash acs:elasticsearch:<yourRegionId>:<yourAccountId>:logstashes/<yourInstanceId> 查询指定Logstash实例的详细信息。 elasticsearch:UpdateLogstash 修改指定Logstash实例的部分信息,例如节点数、配额、名称、硬盘大小等。 elasticsearch:RenewLogstash 为Logstash实例续费。 elasticsearch:RestartLogstash 重启指定的Logstash实例。 elasticsearch:EstimatedLogstashRestartTime 获取Logstash实例重启的预估时间。 elasticsearch:UpdateLogstashDescription 修改指定Logstash实例的名称。 elasticsearch:UpdateLogstashChargeType 将按量付费的Logstash实例转换为包年包月实例。 elasticsearch:DeleteLogstash 释放指定按量付费的Logstash实例。 elasticsearch:CancelLogstashDeletion 恢复释放后被冻结的Logstash实例。 - 集群配置
Action Resource Action描述 elasticsearch:UpdateLogstashSettings acs:elasticsearch:<yourRegionId>:<yourAccountId>:logstashes/<yourInstanceId> 更新指定Logstash实例的配置。 elasticsearch:ListExtendfiles 查看指定Logstash实例的扩展文件配置。 elasticsearch:UpdateExtendfiles 更新指定Logstash实例的扩展文件配置。 - 插件管理
Action Resource Action描述 elasticsearch:ListPlugin acs:elasticsearch:<yourRegionId>:<yourAccountId>:logstashes/<yourInstanceId> 查看插件列表。 elasticsearch:InstallSystemPlugin 安装系统预置插件。 elasticsearch:UninstallSystemPlugin 卸载系统预置插件。 - 集群监控和日志查询
Action Resource Action描述 elasticsearch:ListAvailableEsInstanceIds acs:elasticsearch:<yourRegionId>:<yourAccountId>:logstashes/<yourInstanceId> 在设置Logstash实例的X-Pack监控时,查看可用的Elasticsearch实例列表(具备X-Pack监控能力)。 elasticsearch:ValidateConnection 在Logstash实例的监控报警配置中,验证提供X-Pack监控的Elasticsearch实例的联通性。 elasticsearch:UpdateXpackMonitorConfig 更新Logstash实例的X-Pack监控报警配置。 elasticsearch:DescribeXpackMonitorConfig 获取Logstash实例的X-Pack监控配置。 elasticsearch:ListLogstashLog 查看Logstash实例的日志。 - 变更任务管理
Action Resource Action描述 elasticsearch:InterruptLogstashTask acs:elasticsearch:<yourRegionId>:<yourAccountId>:logstashes/<yourInstanceId> 中断实例变更任务。 elasticsearch:ResumeLogstashTask 恢复实例的变更中断任务。 - 管道管理
Action Resource Action描述 elasticsearch:CreatePipelines acs:elasticsearch:<yourRegionId>:<yourAccountId>:logstashes/<yourInstanceId> 创建管道。 elasticsearch:ListPipeline 查看管道列表。 elasticsearch:DescribePipeline 查看管道配置。 elasticsearch:UpdatePipelines 更新管道配置。 elasticsearch:RunPipelines 立即部署管道。 elasticsearch:StopPipelines 停止运行管道。 elasticsearch:UpdatePipelineManagementConfig 更新管道管理方式。 elasticsearch:DescribePipelineManagementConfig 获取管道管理配置。 elasticsearch:ListPipelineIds 设置Kibana管道管理时,测试Logstash与Kibana连通性,并获取目标Kibana上创建的管道ID列表。 elasticsearch:DeletePipelines 删除管道。
Beats
Action | Resource | Action描述 |
---|---|---|
elasticsearch:CreateCollector | acs:elasticsearch:<yourRegionId>:<yourAccountId>:collectors/<yourCollectorId> | 创建采集器。 |
elasticsearch:DescribeCollector | 获取采集器的详细信息。 | |
elasticsearch:ReinstallCollector | 重试安装在创建时没有安装成功的采集器。 | |
elasticsearch:ListCollectors | acs:elasticsearch:<yourRegionId>:<yourAccountId>:collectors/* | 获取采集器列表信息。 |
elasticsearch:ListDefaultCollectorConfigurations | 获取采集器的默认配置文件。 | |
elasticsearch:UpdateCollectorName | acs:elasticsearch:<yourRegionId>:<yourAccountId>:collectors/<yourCollectorId> | 修改采集器名称。 |
elasticsearch:UpdateCollector | 更新采集器信息。 | |
elasticsearch:StartCollector | 启动采集器。 | |
elasticsearch:RestartCollector | 重启采集器。 | |
elasticsearch:StopCollector | 停止运行中的采集器。 | |
elasticsearch:DeleteCollector | 删除采集器。 | |
elasticsearch:ListEcsInstances | 获取ECS机器列表。 | |
elasticsearch:ModifyDeployMachine | 更新采集器安装的ECS机器。 | |
elasticsearch:ListNodes | 查看安装采集器的ECS机器的状态。 | |
elasticsearch:ListAckClusters | acs:elasticsearch:<yourRegionId>:<yourAccountId>:ackClusters/* | 查看容器服务Kubernetes版ACK集群列表。 |
elasticsearch:ListAckNamespaces | acs:elasticsearch:<yourRegionId>:<yourAccountId>:ackClusters/<yourClusterId> | 查看指定容器服务Kubernetes版ACK集群的所有命名空间。 |
elasticsearch:DescribeAckOperator | 查看指定容器服务Kubernetes版ACK集群上安装的Elasticsearch Operator信息。 | |
elasticsearch:InstallAckOperator | 在指定容器服务Kubernetes版ACK集群上安装Elasticsearch Operator。 |
访问控制
Action | Resource | Action描述 |
---|---|---|
elasticsearch:InitializeOperationRole | acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/* | 创建服务关联角色。 |
底层云监控
Action | Resource | Action描述 |
---|---|---|
cms:ListProductOfActiveAlert | acs:elasticsearch:<yourRegionId>:<yourAccountId>:* | 获取用户已开通云监控服务的产品。 |
cms:ListAlarm | 查询指定或全部报警规则设置。 | |
cms:QueryMetricList | 查询一段时间内指定实例的监控数据。 |
购买页专有网络和虚拟交换机
Action | Resource | Action描述 |
---|---|---|
elasticsearch:DescribeVpcs | acs:elasticsearch:<yourRegionId>:<yourAccountId>:vpc/* | 获取VPC列表。 |
elasticsearch:DescribeVswitches | acs:elasticsearch:<yourRegionId>:<yourAccountId>:vswitch/* | 获取vSwitch列表。 |
参数说明
本文Resource中包含的参数说明如下,请在使用时替换为实际值:
- <yourRegionId>:实例所在地域的ID,*表示所有地域下的资源。各地域对应的地域ID如下。
地域 地域ID 中国 华东 2(上海) cn-shanghai 华南 1(深圳) cn-shenzhen 华北1(青岛) cn-qingdao 华北3(张家口) cn-zhangjiakou 华北2(北京) cn-beijing 华东 1(杭州) cn-hangzhou 中国(香港) cn-hongkong 亚太 新加坡 ap-southeast-1 马来西亚(吉隆坡) ap-southeast-3 日本(东京) ap-northeast-1 澳大利亚(悉尼) ap-southeast-2 印度尼西亚(雅加达) ap-southeast-5 欧洲与美洲 美国(弗吉尼亚) us-east-1 美国(硅谷) us-west-1 德国(法兰克福) eu-central-1 英国(伦敦) eu-west-1 中东与印度 印度(孟买) ap-south-1 - <yourAccountId>:阿里云账号ID,*表示所有账号下的资源。
- <yourInstanceId>:实例ID,*表示所有实例资源。
- <yourCollectorId>:Beats采集器ID。
- <yourClusterId>:安装Beats采集器的容器服务Kubernetes版ACK集群ID。