创建ECI资源时,您可以指定所属的资源组,以便对资源进行分组管理。本文介绍如何通过资源组控制RAM用户的权限,实现RAM用户只能操作特定资源组内的ECI资源。
背景信息
资源组是在阿里云账号下进行资源分组管理的一种机制,可以帮助您解决单个阿里云账号内的资源分组和授权管理的问题。资源组的使用说明如下:
一个资源组可以包含不同地域的云资源。例如:资源组A中可以包含华北2(北京)地域的实例和华东1(杭州)地域的实例。
同一个账号内不同资源组中,相同地域的资源可以进行关联。例如:资源组A中华北2(北京)地域的实例可以加入到资源组B中华北2(北京)地域的VPC内。
资源组会继承RAM用户的全局权限,即:如果您授权RAM用户管理所有的阿里云资源,那么阿里云账号下所有的资源组都会在该RAM用户中显示出来。
应用场景
每个ECI资源(ECI实例、镜像缓存)必须且只能属于一个资源组。创建ECI资源时,您可以指定资源组,如果没有指定资源组,则该资源将加入到默认资源组中。
您可以将不同用途的ECI资源分别加入到多个资源组中,并为每个资源组设置不同的RAM用户作为管理员,从而实现分组、分权管理ECI资源。
例如:如果您的ECI实例分别用于生产环境和测试环境,您可以将ECI实例分别加入到生产资源组和测试资源组中,授权RAM用户A可以操作生产资源组中的ECI实例,授权RAM用户B可以操作测试资源组中的ECI实例。配置完成后,当产品进行测试时,由RAM用户B操作测试资源组中的ECI实例。当产品需要上线时,由RAM用户A对生产资源组中的ECI实例进行操作。两套环境由不同的RAM用户进行管理,可以很好地控制权限,避免不必要的误操作。
配置流程
按以下场景为示例,创建多个资源组对ECI资源进行分组,并授权RAM用户只能操作特定资源组的ECI资源:
新增两个资源组:生产资源组、测试资源组。
新增两个RAM用户:RAM用户A具备生产环境的AliyunECIFullAccess权限,RAM用户B具备测试环境的AliyunECIFullAccess权限。
说明AliyunECIFullAccess是RAM提供的系统策略,包含操作ECI资源的所有权限。
配置流程如下:
创建两个资源组。具体操作,请参见创建资源组。
创建两个RAM用户。具体操作,请参见创建RAM用户。
分别为两个资源组设置对应的RAM用户作为管理员。具体操作,请参见添加RAM身份并授权。
授权时,授权主体请输入RAM用户,权限可以选择AliyunECIFullAccess权限。
指定资源组创建ECI实例。
如果通过弹性容器实例售卖页创建,请在其他设置(选填)页面指定资源组。
如果调用CreateContainerGroup创建,请传入资源组ID(ResourceGroupId)。
预期结果
按配置流程配置分组、分权管理ECI实例后,预期结果如下:
在弹性容器实例控制台上,RAM用户只能查看和操作有权限的资源组中的ECI资源。
调用各API接口时,RAM用户只能查看和操作有权限的资源组中的ECI资源。例如:
CreateContainerGroup
创建ECI实例时,必须要传入正确的资源组ID,才可以通过鉴权;如果没有传入资源组ID,或者传入的资源组ID不正确,则鉴权不通过。
说明如果RAM用户具备默认资源的权限,则无需传入资源组ID,ECI实例将默认将加入到默认资源组中。
DescribeContainerGroups
查询ECI实例信息时,必须要传入正确的资源组ID,才可以通过鉴权;如果没有传入资源组ID,或者传入的资源组ID不正确,则鉴权不通过。
说明如果传入的ECI实例ID与资源组ID不匹配,即ECI实例不属于该资源组时,即使资源组ID正确,也无法查看ECI实例的信息。
DescribeContainerLog
查询ECI实例的日志时,无需传入资源组ID,系统将自动检索ECI实例所属的资源组并进行鉴权。
DeleteContainerGroup
删除ECI实例时,无需传入资源组ID,系统将自动检索ECI实例所属的资源组并进行鉴权。