Elasticsearch授权资源

当您需要精细化地管理用户权限时,可通过创建自定义权限策略实现。创建时,需要配置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

    更新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。