创建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实例所属的资源组并进行鉴权。