使用资源组进行精细化资源控制

更新时间:
复制为 MD 格式

当您使用资源组对资源进行分组管理时,可以结合访问控制(RAM),在单个阿里云账号内实现资源的隔离和精细化权限管理。本文总结了弹性伸缩对资源组的支持情况,以及资源组级别的授权操作步骤。

说明
  • 只有支持资源组的资源类型和支持资源组级别授权的操作,资源组级别授权才能生效。

  • 对于不支持资源组的资源类型,授予资源组范围的权限将无效。在选择资源范围时,请选择账号级别,进行账号级别授权。具体操作,请参见不支持资源组级别授权的操作

资源组授权的工作原理

您可以使用资源组(Resource Group)对阿里云账号内的资源进行分组管理。例如,为不同的项目创建对应的资源组,并将资源转移到对应的组中,以便集中管理各项目的资源。更多信息,请参见什么是资源组

在完成资源分组后,您可以为不同的RAM授权主体(RAM用户、RAM用户组或RAM角色)授予指定资源组范围的权限,从而限定这个授权主体只能管理该资源组内的资源。更多信息,请参见资源分组和授权

这种授权方式的优点有:

  • 权限精细化:确保每个身份能获得最准确的资源访问权限,避免账号下的多个项目的资源混合管理。

  • 良好的扩展性:后续新增资源时,只需将其加入该资源组,RAM身份便会自动获得新资源的相应权限,无需再次授权。

RAM用户授予资源组级别的权限

下面以RAM用户为例,介绍授予指定资源组内弹性伸缩资源权限的操作步骤。

1. 前置步骤

  1. 创建待使用的RAM用户,可参考:创建RAM用户

  2. 创建资源组并将已有资源划分到目标资源组,可参考:创建资源组资源自动转组资源手动转组

2. 进行资源组级别授权

您可以通过以下任一方式进行资源组级别授权。

方式一:在资源管理控制台中授权

通过资源组的权限管理功能为指定 RAM 用户授权。详情操作可参见RAM身份授予资源组范围的权限

  • 登录资源组控制台

  • 在资源组页面,单击目标资源组操作列的权限管理

  • 权限管理页签,单击新增授权

  • 新增授权面板,设置授权主体和权限策略。

    • 授权主体:选择已有RAM用户。

    • 权限策略:选择系统策略或已创建的自定义策略,参考创建自定义权限策略

  • 单击确认新增授权

方式二:在 RAM 控制台中授权

通过RAM控制台为指定 RAM 用户进行资源组级别授权。详细操作可参见管理RAM用户的权限

  • 使用阿里云账号(主账号)或RAM管理员登录RAM控制台

  • 在左侧导航栏,选择身份管理 > 用户用户页面,单击目标RAM用户操作列的添加权限

  • 新增授权面板,为RAM用户添加权限。

    • 资源范围:选择资源组级别

    • 授权主体:选择已有 RAM 用户或前面步骤创建的 RAM 用户。

    • 权限策略:选择系统策略或已创建的自定义策略,参考创建自定义权限策略

  • 单击确认新增授权

支持资源组的资源类型

弹性伸缩支持资源组的资源类型如下表所示:

云服务

云服务代码

资源类型

弹性伸缩

ess

scalinggroup : 伸缩组

说明

对于暂不支持资源组的资源类型,如有需要,您可以在资源组控制台提交反馈。

image

不支持资源组级别授权的操作

弹性伸缩中不支持资源组级别授权的操作(Action)如下:

操作(Action)

操作描述

ess:AiChat

-

ess:DeleteDiagnoseReport

-

ess:DescribeAlarm

-

ess:DescribeCandidateInstanceType

-

ess:DescribeElasticStrength

伸缩组配置的有效性很大程度决定了扩容过程的成功率。弹性伸缩通过弹性强度描述伸缩配置的有效性,让配置的优良程度量化,帮助用户针对性的优化伸缩配置。

ess:DescribeLimitation

调用API DescribeLimitation查询资源配额限制。例如查询支持创建定时任务的最大值、支持关联负载均衡实例的最大数量、支持设置伸缩组内最大实例数以及伸缩配置最大数量等。

ess:DescribeNotificationTypes

调用DescribeNotificationTypes接口,查询弹性伸缩组的弹性伸缩事件及资源变化通知的类型,例如:扩容伸缩活动成功,缩容伸缩活动成功,定时任务到期提醒,弹性扩容活动部分成功等。

ess:DescribePatternTypes

调用DescribePatternTypes接口,并可以指定交换机的ID、实例的vCPU核数、内存大小、规格族级别以及可接受的最高价格等参数,筛选出符合要求的实例规格。

ess:DescribeRegions

调用API VerifyUser验证是否已开通弹性伸缩服务,可以保证业务出现流量波动或负载变化时,系统能够自动扩缩容资源,有助于提高系统的稳定性、可用性和灵活性。

ess:DescribeUser

-

ess:ExitStandBy

-

ess:ListTagKeys

调用API ListTagKeys查询弹性伸缩资源标签键的列表,有利于您对弹性伸缩资源进行分类、识别以及监控等,提供更灵活和便捷的资源管理。

ess:ListTagValues

调用API ListTagValues查询弹性伸缩资源标签键对应的标签值,能够帮助您更好地了解弹性伸缩资源,实现资源的有效分类和管理。

ess:RemoveInstances

-

ess:UnTagResources

-

对于不支持资源组授权的操作,授权时资源范围选择资源组级别将无效。如果仍需要RAM用户有上述操作权限,您需要创建自定义权限策略,授权时资源范围选择账号级别

image.png以下是两个自定义权限策略示例,您可以根据实际需要调整策略内容。

  • 允许不支持资源组级别授权的全部只读操作:Action中列举不支持资源组级别授权的所有只读操作。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ess:DescribeAlarm",
            "ess:DescribeCandidateInstanceType",
            "ess:DescribeElasticStrength",
            "ess:DescribeLimitation",
            "ess:DescribeNotificationTypes",
            "ess:DescribePatternTypes",
            "ess:DescribeRegions",
            "ess:DescribeUser",
            "ess:ListTagKeys",
            "ess:ListTagValues"
          ],
          "Resource": "*"
        }
      ]
    }
    
  • 允许不支持资源组级别授权的全部操作:Action中列举不支持资源组级别授权的全部操作。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ess:AiChat",
            "ess:DeleteDiagnoseReport",
            "ess:DescribeAlarm",
            "ess:DescribeCandidateInstanceType",
            "ess:DescribeElasticStrength",
            "ess:DescribeLimitation",
            "ess:DescribeNotificationTypes",
            "ess:DescribePatternTypes",
            "ess:DescribeRegions",
            "ess:DescribeUser",
            "ess:ExitStandBy",
            "ess:ListTagKeys",
            "ess:ListTagValues",
            "ess:RemoveInstances",
            "ess:UnTagResources"
          ],
          "Resource": "*"
        }
      ]
    }
    
重要

获得账号级别权限的RAM用户或RAM角色,能够操作整个账号范围内的相关资源。请务必确认所授予的权限是否符合预期,遵从最小授权原则谨慎分配权限。

常见问题

如何查看当前资源属于哪个资源组?

  • 方式一:单击资源名称,进入资源的详情页面,即可查看到当前资源的资源组。

  • 方式二:登录资源管理控制台,单击资源中心 > 资源搜索,在左侧选择目标资源所属账号(默认为当前账号),通过筛选条件定位目标资源,即可查看其所属资源组。

如何查看当前产品在某个资源组下的所有资源?

  • 方式一:登录资源管理控制台,单击资源中心 > 资源搜索,然后在左侧的资源所属账号(默认为当前账号)下选择单击目标资源组名称,最后在右侧的选择资源类型中选择当前产品,即可查看当前产品在某个资源组下的所有资源。

  • 方式二:登录资源管理控制台,单击资源组 > 资源组,然后找到目标资源组,单击其所在行的操作列下的资源管理,最后在资源管理页面上方的产品下拉框中选择当前产品,即可查看当前产品在某个资源组下的所有资源。

如何批量修改多个资源的资源组?

登录资源管理控制台,单击资源组 > 资源组,在目标资源组所在行的操作列下,单击资源管理以进入资源管理页面。通过筛选条件定位多个目标资源,批量勾选第一列的复选框后单击下方转移资源组,并按页面提示完成资源组修改。