当您在阿里云上拥有多个资源,并希望限制用户只能查看和管理部分资源时,您可以使用资源组对资源进行分组,然后使用阿里云RAM创建RAM用户,并对RAM用户授予资源组范围内的权限。
背景信息
游戏公司A正在开发3个游戏项目,每个游戏项目都会用到多种云资源。
公司A有如下要求:
项目独立管理:每个管理员各自能够独立管理项目人员及其访问权限。
按项目分账:财务部门希望能够根据项目进行出账,以解决财务成本分摊的问题。
公司A有如下解决方案:
多账号方案
可以满足项目独立管理:公司A注册3个阿里云账号(对应3个项目),每个阿里云账号有对应项目管理员可以独立管理成员及其访问权限。
可以满足按项目分账:每个阿里云账号有默认账单,可以利用阿里云提供的多账号合并记账能力来解决统一账单和发票问题。
单账号资源打标签方案
无法满足项目独立管理:给资源打标签可以模拟项目分组,但无法解决项目管理员独立管理项目成员及其访问权限的问题。
可以满足按项目分账:按照项目组给资源打上对应标签,根据标签实现分账。
单账号资源组方案
可以满足项目独立管理:每个资源组有对应的管理员,资源组管理员可以独立管理成员及其访问权限。
可以满足按项目分账:账单管理功能支持按资源组进行分账,解决财务成本分摊的问题。
经过分析对比:多账号方案,更适合不同项目要彻底隔离,由项目人员自主管理,同时中心团队能对多账号做整体的管控,保证一致性和标准的落地。单账号方案,更适合集中运维模式的企业,由集中的团队负责整个公司的IT运维,不同项目组通过资源组对资源做分组管理。所以,公司A选择了单账号资源组方案。本文将为您详细介绍该方案的实施方法。
解决方案
资源组是在阿里云账号下进行资源分组管理的一种机制,公司A只需使用1个阿里云账号(主账号),创建3个资源组(对应3个游戏项目),创建3个RAM用户(对应3个游戏项目的管理员)。
只有支持资源组的云服务和资源类型,资源组授权才能生效。更多信息,请参见支持资源组的云服务。
操作步骤
以下所有操作使用账号管理员完成。
在RAM控制台,创建RAM用户。
本示例中,将创建以下3个RAM用户。具体操作,请参见创建RAM用户。
RAM用户
Alice
:担任游戏项目1的管理员。RAM用户
Bob
:担任游戏项目2的管理员。RAM用户
Charlie
:担任游戏项目3的管理员。
在资源组控制台,创建资源组。
本示例中,将创建以下3个资源组。具体操作,请参见创建资源组。
资源组
Game1
:管理游戏项目1的资源。资源组
Game2
:管理游戏项目2的资源。资源组
Game3
:管理游戏项目3的资源。
资源划分到对应资源组。
为RAM用户授予对应资源组的权限。
本示例中,因为3个RAM用户需要担任资源组管理员,所以您可以授予RAM用户在对应资源组范围内的完全管理权限
AdministratorAccess
。例如:授予RAM用户Alice
在资源组Game1
范围内的AdministratorAccess
权限。在实际业务环境中,建议您遵循最小授权原则,授予RAM用户刚刚好的权限即可,避免权限过大带来的安全风险。
以下两种授权方法您可以任选其一:
在资源组控制台授权:添加RAM身份并授权。
- 重要
授权范围请务必选择指定资源组。
执行结果
本示例中,由于RAM用户Alice、Bob和Charlie分别是资源组Game1、Game2、Game3的管理员,RAM用户将拥有以下权限:
在云产品控制台,可以查看对应资源组内的资源,并可以在对应资源组内创建和管理资源。
重要您必须在云产品控制台选择对应资源组,才能看到资源组内的资源。如果不选资源组,您将无法看到任何资源。
在资源组控制台,可以管理授权了对应资源组范围权限的RAM用户、RAM用户组和RAM角色。
相关示例
仅允许RAM用户查看和管理被授权的ECS实例:使用资源组限制RAM用户管理指定的ECS实例。