当您需要精细化地管理用户权限时,可通过创建自定义权限策略实现。创建时,需要配置Action(操作)和Resource(资源)。本文提供了阿里云Elasticsearch通过访问控制实现团队或者部门成员鉴权、RAM用户授权、RAM角色授权以及跨云服务授权的Action和Resource列表。

背景信息

默认情况下,阿里云主账号或者RAM用户均能使用Elasticsearch控制台或Elasticsearch API操作自己创建的Elasticsearch资源。在以下场景中,会涉及到操作授权问题:
  • 刚创建的RAM用户没有权限操作阿里云主账号的资源时。
  • 从其他阿里云服务访问Elasticsearch资源,或者Elasticsearch访问其他阿里云服务时。
  • 操作具有权限控制的Elasticsearch资源前,需要资源拥有者授权目标资源和目标API行为权限。

自定义策略

您可以通过RAM控制台或者调用RAM API CreatePolicy创建一个自定义权限策略。

使用控制台的脚本配置方式,在自定义策略中,根据JSON模板文件填写策略内容。其中的ActionResource参数取值为本文授权资源列表中对应的参数值。详细信息,请参见创建自定义权限策略权限策略基本元素
{
  "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 冷更新阿里云Elasticsearch实例的IK分词插件,包括IK主分词词库和IK停用词词库。
    elasticsearch:ListDictInformation 更新AliNLP分词插件(analysis-aliws)的词典文件。
    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: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 获取诊断报告标号列表。
    elasticsearch:ListDiagnoseIndices 获取实例索引。
    elasticsearch:DescribeDiagnoseReport 获取诊断报告详情。
    elasticsearch:DescribeDiagnosisSettings 获取诊断配置。
    elasticsearch:UpdateDiagnosisSettings 更新诊断配置。

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,*表示所有实例资源。
  • <yourProjectId>:高级监控报警项目ID。
  • <yourCollectorId>:Beats采集器ID。
  • <yourClusterId>:安装Beats采集器的容器服务Kubernetes版ACK集群ID。