当您使用资源组对资源进行分组管理时,可以结合访问控制(RAM),在单个阿里云账号内实现资源的隔离和精细化权限管理。本文总结了阿里云Elasticsearch对资源组的支持情况,以及资源组级别的授权操作步骤。
-
只有支持资源组的资源类型和支持资源组级别授权的操作,资源组级别授权才能生效。
-
对于不支持资源组的资源类型,授予资源组范围的权限将无效。在选择资源范围时,请选择账号级别,进行账号级别授权。具体操作,请参见不支持资源组级别授权的操作。
资源组授权的工作原理
您可以使用资源组(Resource Group)对阿里云账号内的资源进行分组管理。例如,为不同的项目创建对应的资源组,并将资源转移到对应的组中,以便集中管理各项目的资源。更多信息,请参见什么是资源组。
在完成资源分组后,您可以为不同的RAM授权主体(RAM用户、RAM用户组或RAM角色)授予指定资源组范围的权限,从而限定这个授权主体只能管理该资源组内的资源。更多信息,请参见资源分组和授权。
这种授权方式的优点有:
-
权限精细化:确保每个身份能获得最准确的资源访问权限,避免账号下的多个项目的资源混合管理。
-
良好的扩展性:后续新增资源时,只需将其加入该资源组,RAM身份便会自动获得新资源的相应权限,无需再次授权。
为RAM用户授予资源组级别的权限
下面以RAM用户为例,介绍授予指定资源组内阿里云Elasticsearch资源权限的操作步骤。
1. 前置步骤
2. 进行资源组级别授权
您可以通过以下任一方式进行资源组级别授权。
方式一:在资源管理控制台中授权
通过资源组的权限管理功能为指定 RAM 用户授权。详情操作可参见为RAM身份授予资源组范围的权限。
方式二:在 RAM 控制台中授权
通过RAM控制台为指定 RAM 用户进行资源组级别授权。详细操作可参见为RAM用户授权。
支持资源组的资源类型
阿里云Elasticsearch支持资源组的资源类型如下表所示:
|
云服务 |
云服务代码 |
资源类型 |
|
阿里云Elasticsearch |
elasticsearch |
apm : 应用性能监控 |
|
阿里云Elasticsearch |
elasticsearch |
instance : 实例 |
|
阿里云Elasticsearch |
elasticsearch |
logstash : Logstash |
对于暂不支持资源组的资源类型,如有需要,您可以在资源组控制台提交反馈。

不支持资源组级别授权的操作
阿里云Elasticsearch中不支持资源组级别授权的操作(Action)如下:
|
操作(Action) |
操作描述 |
|
elasticsearch:ActivePhone |
- |
|
elasticsearch:AddWhiteListTemplate |
- |
|
elasticsearch:AttachMigrationJob |
- |
|
elasticsearch:CreateCollector |
创建采集器,采集指定服务上的数据。 |
|
elasticsearch:CreateComponentIndex |
创建Elasticsearch组合模板。 |
|
elasticsearch:CreateEmonAlarmGroup |
- |
|
elasticsearch:CreateEmonAlarmRule |
- |
|
elasticsearch:CreateEmonContact |
- |
|
elasticsearch:CreateEmonContactGroup |
- |
|
elasticsearch:CreateEmonContactGroupContact |
- |
|
elasticsearch:CreateEmonProject |
- |
|
elasticsearch:CreateMigrationJob |
- |
|
elasticsearch:DeleteCollector |
删除指定的采集器。 |
|
elasticsearch:DeleteEmonAlarmGroup |
- |
|
elasticsearch:DeleteEmonAlarmRule |
- |
|
elasticsearch:DeleteEmonProject |
- |
|
elasticsearch:DeleteMigrationJobResource |
- |
|
elasticsearch:DeleteWhiteListTemplate |
- |
|
elasticsearch:DescribeAckOperator |
调用DescribeAckOperator,查看指定容器服务Kubernetes版ACK(Container Service for Kubernetes)集群上安装的Elasticsearch Operator信息。 |
|
elasticsearch:DescribeCollector |
获取采集器实例的详细信息。 |
|
elasticsearch:DescribeMigrationMergeConfig |
- |
|
elasticsearch:DescribeVpcs |
- |
|
elasticsearch:DescribeVswitches |
- |
|
elasticsearch:DisableEmonAlarmRule |
- |
|
elasticsearch:DisableEmonContact |
- |
|
elasticsearch:DisableEmonContactGroup |
- |
|
elasticsearch:EnableEmonAlarmRule |
- |
|
elasticsearch:EnableEmonContact |
- |
|
elasticsearch:EnbaleEmonContactGroup |
- |
|
elasticsearch:FeedbackReport |
- |
|
elasticsearch:GetClusterDataInformation |
获取索引迁移数据信息。 |
|
elasticsearch:GetEmonAlarmEventList |
- |
|
elasticsearch:GetEmonAlarmEventStatistics |
- |
|
elasticsearch:GetEmonAlarmGroup |
- |
|
elasticsearch:GetEmonAlarmGroupList |
- |
|
elasticsearch:GetEmonAlarmRecordList |
- |
|
elasticsearch:GetEmonAlarmRecordStatistics |
- |
|
elasticsearch:GetEmonAlarmRecordStatisticsDistribute |
- |
|
elasticsearch:GetEmonAlarmRule |
- |
|
elasticsearch:GetEmonAlarmRuleList |
- |
|
elasticsearch:GetEmonConsoleConfig |
- |
|
elasticsearch:GetEmonContact |
- |
|
elasticsearch:GetEmonContactGroup |
- |
|
elasticsearch:GetEmonContactGroupList |
- |
|
elasticsearch:GetEmonContactList |
- |
|
elasticsearch:GetEmonGrafanaAlerts |
调用GetEmonGrafanaAlerts,获取Grafana报警列表。 |
|
elasticsearch:GetEmonGrafanaDashboards |
调用GetEmonGrafanaDashboards,获取Grafana大盘列表。 |
|
elasticsearch:GetEmonProject |
- |
|
elasticsearch:GetEmonProjectList |
- |
|
elasticsearch:GetEmonUserConfig |
- |
|
elasticsearch:GetMigrationJob |
- |
|
elasticsearch:GetRegionConfiguration |
- |
|
elasticsearch:GetSinleEmonUserConfig |
- |
|
elasticsearch:GetWhiteListTemplates |
- |
|
elasticsearch:InitCustomModel |
- |
|
elasticsearch:InitializeOperationRole |
调用InitializeOperationRole,创建服务关联角色。 |
|
elasticsearch:InstallAckOperator |
在指定容器服务集群上安装 Ack Operator。 |
|
elasticsearch:ListAckClusters |
获取容器服务Kubernetes版ACK(Container Service for Kubernetes)集群列表。 |
|
elasticsearch:ListAckNamespaces |
查看指定容器服务Kubernetes版ACK(Container Service for Kubernetes)集群的所有命名空间。 |
|
elasticsearch:ListApm |
- |
|
elasticsearch:ListCollectors |
获取当前用户vpc和vswitch下的ECS 实例列表。 |
|
elasticsearch:ListDefaultCollectorConfigurations |
调用ListDefaultCollectorConfigurations,获取采集器的默认配置文件。 |
|
elasticsearch:ListDistinctEventInstanceIds |
- |
|
elasticsearch:ListEcsInstances |
- |
|
elasticsearch:ListEventRecords |
- |
|
elasticsearch:ListInstanceHistoryEvents |
调用ListInstanceHistoryEvents,查看Elasticsearch集群触发的硬件运维事件列表。 |
|
elasticsearch:ListMigrationJobs |
- |
|
elasticsearch:ListNodes |
智能运维的历史报告列表。 |
|
elasticsearch:ListStatsEventRecords |
- |
|
elasticsearch:ListTags |
用户在当前区域创建的所有标签。 |
|
elasticsearch:ModifyDeployMachine |
更新一个collector安装的esc机器。 |
|
elasticsearch:PostEmonAck |
- |
|
elasticsearch:PostEmonCheckin |
- |
|
elasticsearch:PostEmonTryAlarmRule |
调用PostEmonTryAlarmRule,发送测试的报警消息。 |
|
elasticsearch:QueryEmonMetrics |
查询Elasticsearch实例的Grafana指标监控数据。 |
|
elasticsearch:ReinstallCollector |
重试安装在创建时没有安装成功的采集器。 |
|
elasticsearch:RestartCollector |
重启采集器,进行数据采集工作。 |
|
elasticsearch:StartCollector |
启动采集器,进行数据采集。 |
|
elasticsearch:StopCollector |
调用StopCollector,停止运行中的采集器。 |
|
elasticsearch:SuggestEmonMetric |
- |
|
elasticsearch:SuggestEmonMetricTagKey |
- |
|
elasticsearch:SuggestEmonMetricTagValue |
- |
|
elasticsearch:TagResources |
- |
|
elasticsearch:UntagResources |
- |
|
elasticsearch:UpdateCollector |
修改采集器配置。 |
|
elasticsearch:UpdateCollectorName |
调用UpdateCollectorName,修改采集器名称。 |
|
elasticsearch:UpdateComponentIndex |
更新Elasticsearch的组合模板。 |
|
elasticsearch:UpdateEmonAlarmGroup |
- |
|
elasticsearch:UpdateEmonAlarmRule |
- |
|
elasticsearch:UpdateEmonContact |
- |
|
elasticsearch:UpdateEmonContactGroup |
- |
|
elasticsearch:UpdateEmonProject |
- |
|
elasticsearch:UpdateMigrationJob |
- |
|
elasticsearch:UpdateWhiteListTemplate |
- |
|
elasticsearch:ValidateSlrPermission |
验证当前账户SLR权限。 |
|
elasticsearch:createInstance |
- |
对于不支持资源组授权的操作,授权时资源范围选择资源组级别将无效。如果仍需要RAM用户有上述操作权限,您需要创建自定义权限策略,授权时资源范围选择账号级别。
以下是两个自定义权限策略示例,您可以根据实际需要调整策略内容。
-
允许不支持资源组级别授权的全部只读操作:
Action中列举不支持资源组级别授权的所有只读操作。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "elasticsearch:DescribeAckOperator", "elasticsearch:DescribeCollector", "elasticsearch:DescribeMigrationMergeConfig", "elasticsearch:DescribeVpcs", "elasticsearch:DescribeVswitches", "elasticsearch:GetClusterDataInformation", "elasticsearch:GetEmonAlarmEventList", "elasticsearch:GetEmonAlarmEventStatistics", "elasticsearch:GetEmonAlarmGroup", "elasticsearch:GetEmonAlarmGroupList", "elasticsearch:GetEmonAlarmRecordList", "elasticsearch:GetEmonAlarmRecordStatistics", "elasticsearch:GetEmonAlarmRecordStatisticsDistribute", "elasticsearch:GetEmonAlarmRule", "elasticsearch:GetEmonAlarmRuleList", "elasticsearch:GetEmonConsoleConfig", "elasticsearch:GetEmonContact", "elasticsearch:GetEmonContactGroup", "elasticsearch:GetEmonContactGroupList", "elasticsearch:GetEmonContactList", "elasticsearch:GetEmonGrafanaAlerts", "elasticsearch:GetEmonGrafanaDashboards", "elasticsearch:GetEmonProject", "elasticsearch:GetEmonProjectList", "elasticsearch:GetEmonUserConfig", "elasticsearch:GetMigrationJob", "elasticsearch:GetRegionConfiguration", "elasticsearch:GetSinleEmonUserConfig", "elasticsearch:GetWhiteListTemplates", "elasticsearch:ListAckClusters", "elasticsearch:ListAckNamespaces", "elasticsearch:ListApm", "elasticsearch:ListCollectors", "elasticsearch:ListDefaultCollectorConfigurations", "elasticsearch:ListDistinctEventInstanceIds", "elasticsearch:ListEcsInstances", "elasticsearch:ListEventRecords", "elasticsearch:ListInstanceHistoryEvents", "elasticsearch:ListMigrationJobs", "elasticsearch:ListNodes", "elasticsearch:ListStatsEventRecords", "elasticsearch:ListTags", "elasticsearch:QueryEmonMetrics", "elasticsearch:SuggestEmonMetric", "elasticsearch:SuggestEmonMetricTagKey", "elasticsearch:SuggestEmonMetricTagValue" ], "Resource": "*" } ] } -
允许不支持资源组级别授权的全部操作:
Action中列举不支持资源组级别授权的全部操作。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "elasticsearch:ActivePhone", "elasticsearch:AddWhiteListTemplate", "elasticsearch:AttachMigrationJob", "elasticsearch:CreateCollector", "elasticsearch:CreateComponentIndex", "elasticsearch:CreateEmonAlarmGroup", "elasticsearch:CreateEmonAlarmRule", "elasticsearch:CreateEmonContact", "elasticsearch:CreateEmonContactGroup", "elasticsearch:CreateEmonContactGroupContact", "elasticsearch:CreateEmonProject", "elasticsearch:CreateMigrationJob", "elasticsearch:DeleteCollector", "elasticsearch:DeleteEmonAlarmGroup", "elasticsearch:DeleteEmonAlarmRule", "elasticsearch:DeleteEmonProject", "elasticsearch:DeleteMigrationJobResource", "elasticsearch:DeleteWhiteListTemplate", "elasticsearch:DescribeAckOperator", "elasticsearch:DescribeCollector", "elasticsearch:DescribeMigrationMergeConfig", "elasticsearch:DescribeVpcs", "elasticsearch:DescribeVswitches", "elasticsearch:DisableEmonAlarmRule", "elasticsearch:DisableEmonContact", "elasticsearch:DisableEmonContactGroup", "elasticsearch:EnableEmonAlarmRule", "elasticsearch:EnableEmonContact", "elasticsearch:EnbaleEmonContactGroup", "elasticsearch:FeedbackReport", "elasticsearch:GetClusterDataInformation", "elasticsearch:GetEmonAlarmEventList", "elasticsearch:GetEmonAlarmEventStatistics", "elasticsearch:GetEmonAlarmGroup", "elasticsearch:GetEmonAlarmGroupList", "elasticsearch:GetEmonAlarmRecordList", "elasticsearch:GetEmonAlarmRecordStatistics", "elasticsearch:GetEmonAlarmRecordStatisticsDistribute", "elasticsearch:GetEmonAlarmRule", "elasticsearch:GetEmonAlarmRuleList", "elasticsearch:GetEmonConsoleConfig", "elasticsearch:GetEmonContact", "elasticsearch:GetEmonContactGroup", "elasticsearch:GetEmonContactGroupList", "elasticsearch:GetEmonContactList", "elasticsearch:GetEmonGrafanaAlerts", "elasticsearch:GetEmonGrafanaDashboards", "elasticsearch:GetEmonProject", "elasticsearch:GetEmonProjectList", "elasticsearch:GetEmonUserConfig", "elasticsearch:GetMigrationJob", "elasticsearch:GetRegionConfiguration", "elasticsearch:GetSinleEmonUserConfig", "elasticsearch:GetWhiteListTemplates", "elasticsearch:InitCustomModel", "elasticsearch:InitializeOperationRole", "elasticsearch:InstallAckOperator", "elasticsearch:ListAckClusters", "elasticsearch:ListAckNamespaces", "elasticsearch:ListApm", "elasticsearch:ListCollectors", "elasticsearch:ListDefaultCollectorConfigurations", "elasticsearch:ListDistinctEventInstanceIds", "elasticsearch:ListEcsInstances", "elasticsearch:ListEventRecords", "elasticsearch:ListInstanceHistoryEvents", "elasticsearch:ListMigrationJobs", "elasticsearch:ListNodes", "elasticsearch:ListStatsEventRecords", "elasticsearch:ListTags", "elasticsearch:ModifyDeployMachine", "elasticsearch:PostEmonAck", "elasticsearch:PostEmonCheckin", "elasticsearch:PostEmonTryAlarmRule", "elasticsearch:QueryEmonMetrics", "elasticsearch:ReinstallCollector", "elasticsearch:RestartCollector", "elasticsearch:StartCollector", "elasticsearch:StopCollector", "elasticsearch:SuggestEmonMetric", "elasticsearch:SuggestEmonMetricTagKey", "elasticsearch:SuggestEmonMetricTagValue", "elasticsearch:TagResources", "elasticsearch:UntagResources", "elasticsearch:UpdateCollector", "elasticsearch:UpdateCollectorName", "elasticsearch:UpdateComponentIndex", "elasticsearch:UpdateEmonAlarmGroup", "elasticsearch:UpdateEmonAlarmRule", "elasticsearch:UpdateEmonContact", "elasticsearch:UpdateEmonContactGroup", "elasticsearch:UpdateEmonProject", "elasticsearch:UpdateMigrationJob", "elasticsearch:UpdateWhiteListTemplate", "elasticsearch:ValidateSlrPermission", "elasticsearch:createInstance" ], "Resource": "*" } ] }
获得账号级别权限的RAM用户或RAM角色,能够操作整个账号范围内的相关资源。请务必确认所授予的权限是否符合预期,遵从最小授权原则谨慎分配权限。
常见问题
如何查看当前资源属于哪个资源组?
-
方式一:单击资源名称,进入资源的详情页面,即可查看到当前资源的资源组。
-
方式二:登录资源管理控制台,单击,在左侧选择目标资源所属账号(默认为当前账号),通过筛选条件定位目标资源,即可查看其所属资源组。
如何查看当前产品在某个资源组下的所有资源?
如何批量修改多个资源的资源组?
登录资源管理控制台,单击,在目标资源组所在行的操作列下,单击资源管理以进入资源管理页面。通过筛选条件定位多个目标资源,批量勾选第一列的复选框后单击下方转移资源组,并按页面提示完成资源组修改。