当您需要精细化地管理用户权限时,可通过创建自定义权限策略实现。创建时,需要配置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:UpdateReadWritePolicy
开启或关闭实例的写入高可用特性。
elasticsearch:InterruptElasticsearchTask
中断变更中的实例。
elasticsearch:ResumeElasticsearchTask
恢复中断变更的实例。
elasticsearch:DescribeElasticsearchHealth
获取指定实例的健康情况。
elasticsearch:GetElastictask
获取集群的弹性扩缩容规则。
elasticsearch:ModifyElastictask
更新实例的弹性扩缩容规则。
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:UpdateExtendConfig
修改实例的场景化配置模板。
elasticsearch:UpdateTemplate
修改实例的场景化模板配置内容。
elasticsearch:RecommendTemplates
获取推荐的场景化模板配置。
elasticsearch:ListDicts
查看指定类型的词典详情以及签名生成的公网可下载链接。
索引管理
Action
Resource
Action描述
elasticsearch:CreateIndexTemplate
acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId>
创建索引模板。
elasticsearch:DeleteIndexTemplate
删除索引模板。
elasticsearch:UpdateIndexTemplate
更新索引模板的组件化设置。
elasticsearch:DescribeIndexTemplate
获取索引模板的组件化设置。
elasticsearch:ListIndexTemplates
查看索引模板列表。
elasticsearch:DescribeILMPolicy
查询指定索引生命周期详情。
elasticsearch:ListILMPolicies
查看已有的索引生命周期策略列表。
elasticsearch:CreateILMPolicy
创建索引生命周期策略。
elasticsearch:DeleteILMPolicy
删除指定的生命周期策略定义。
elasticsearch:UpdateILMPolicy
修改索引生命周期策略。
elasticsearch:CreateDataStream
创建数据流。
elasticsearch:DeleteDataStream
删除数据流。
elasticsearch:RolloverDataStream
滚动更新数据流下的匹配索引。
elasticsearch:ListDataStreams
查看数据流列表。
elasticsearch:CloseManagedIndex
关闭Indexing Service实例中某个索引的云端托管功能。
插件管理
Action
Resource
Action描述
elasticsearch:ListPlugins
acs:elasticsearch:<yourRegionId>:<yourAccountId>:instances/<yourInstanceId>
查看指定实例的插件列表。
elasticsearch:InstallSystemPlugin
安装系统预置插件。
elasticsearch:UninstallPlugin
卸载已安装的预置插件。
elasticsearch:InstallUserPlugins
安装用户自定义的已经上传至Elasticsearch控制台的插件。
集群监控和日志查询
Action
Resource
Action描述
elasticsearch:GetEmonMonitorData
acs:elasticsearch:<yourRegionId>:<yourAccountId>:emonProjects/<yourProjectId>
获取Grafana指标监控数据。
elasticsearch:GetEmonGrafanaDashboards
获取Grafana大盘列表。
elasticsearch:GetEmonGrafanaAlerts
获取Grafana报警列表。
elasticsearch:PostEmonTryAlarmRule
acs:elasticsearch:<yourRegionId>:<yourAccountId>:emonProjects/*
发送测试的报警消息。
elasticsearch:GetEmonAlarmGroupList
获取报警组列表。
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 | * | 获取用户已开通云监控服务的产品。 |
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-5
欧洲与美洲
美国(弗吉尼亚)
us-east-1
美国(硅谷)
us-west-1
德国(法兰克福)
eu-central-1
英国(伦敦)
eu-west-1
<yourAccountId>:阿里云账号ID,*表示所有账号下的资源。
<yourInstanceId>:实例ID,*表示所有实例资源。
<yourProjectId>:高级监控报警项目ID。
<yourCollectorId>:Beats采集器ID。
<yourClusterId>:安装Beats采集器的容器服务Kubernetes版ACK集群ID。