最近,阿里云ResourceManager服务新增了“资源组管理”功能,以帮助客户解决企业内部多用户、多项目的资源分级管理难题。使用资源组管理,您可以对单个云账号下多个地域、多种资源进行统一的分组管理;您也可以给各个资源组设置完全独立的管理员,实现在资源组范围内的用户与权限管理;您还可以按资源组维度查看您的账单消费数据,以解决不同项目的分账问题。(如果您的企业拥有多个云账号,ResourceManager后续也将提供多账号管理能力,敬请期待)
下面我们一起来了解下ResourceManager的资源组管理。
基本概念
阿里云账户(Account)
- 云账户是云资源的容器,例如:阿里云ECS实例、RDS数据库实例、OSS存储桶等。
- 云账号是阿里云账户的身份标识。
- 云账号是阿里云多租户资源隔离的安全边界。
- 云账号是云资源属主(Owner),对云资源拥有root权限。
- 云账号可以将其拥有的一组子权限集授予给RAM用户、用户组或RAM角色。
资源组(ResourceGroup, 简称RG)
- 一个云账户通常包含一个默认资源组和多个自定义的资源组。
- 一个资源只能唯一归属于某一个资源组。
- 任意时刻都可以向资源组添加或移除资源。
- 允许将资源从一个资源组移动到另一个资源组(但不允许跨账号)。
- 一个资源组可以包含不同地域的云资源。
- 支持在指定资源组范围(而不是云账户范围)对用户进行授权。
- 可以按应用/项目管理的视角对云资源进行分组:具有相同生命周期的资源(一起部署、升级或删除)一般会放在同一个分组。
- 同一账户内不同资源组中的资源可以进行关联,即允许不同生命周期的两个资源建立关联关系。比如,资源组1中的ECS实例可以加入资源组2中创建的VPC。
Account范围的授权管理
账户级别授权的含义是,给一个RAM用户附加一个Policy策略时,该策略的授权作用范围是指云账户内的所有资源(即所有资源组的资源)。大家所熟悉的经典RAM用户授权提供的就是账户级别的授权管理。
账户级别授权模型如下图所示:
比如给一个RAM用户授予ReadOnlyAccess策略,该策略针对账户下的所有资源(包括所有资源组)生效。
如果您只希望给RAM用户分配指定某个资源组内的资源权限,那么您需要使用资源组(RG)范围的授权管理,而不是Account范围的授权。注意,如果要取得分级管理的效果,Account范围的授权和RG范围的授权就不要同时使用。
RG范围的授权管理
资源组级别授权的含义是,当在某个资源组内添加一个RAM用户并附加一个Policy策略时,该策略的授权作用范围则仅仅是指该资源组内的所有资源。
资源组级别授权模型如下图所示:
如果您是资源组的管理员(资源组的创建者会被默认设置为管理员),您可以在资源组的成员管理中添加用户并授予访问策略Policy,此时的Policy授权作用范围就只会对当前资源组内的所有资源生效。
管理员视角的操作
账户管理员授权Alice为资源组管理员
账户管理员登录并进入ResourceManager控制台,如下图所示:
账号管理员创建资源组,给资源组分配资源,并设置已经存在的RAM用户(假设为Alice)为资源组管理员。
操作如下图所示:新增成员,选择Alice,并为Alice添加AdministratorAccess授权策略。此时,在资源组范围内拥有AdministratorAccess策略的Alice即成为该资源组的管理员。
资源组管理员Alice授予Bob日常运维操作权限
Alice作为资源组管理员,她可以自治管理资源组资源,并可以授权其他用户对该资源组的操作权限。
比如,Alice希望授权Bob拥有对该资源组中ECS实例的运维操作,那么Alice只需要在资源组的成员管理中,添加用户Bob并授权AliyunECSFullAccess,此时Bob便拥有了该资源组的ECS管理权限。
普通用户视角的操作
Bob登录阿里云进行日常运维操作
Bob 登录 后,进入ECS管理控制台,在控制台页面顶端(top-bar),Bob可以选择进入自己拥有操作权限的那些资源组。假设某账号名下拥有10个资源组,但给Bob授权了其中的三个资源组(eg, “prod环境”、“test环境”、“staging环境”)的操作管理权限,那么Bob在ECS控制台中可以选择某个资源组(eg, “test环境”)进行相应的资源操作。
注意,Bob在top-bar页面上只能看到自己有操作权限的资源组列表,并可随时进行资源组的切换。
面向资源组的财务功能
财务管理(比如账单合并或分摊)通常是企业上云的一个痛点。阿里云的财务管理系统不仅提供了多个独立云账号的账单聚合能力(进入“财务云管理” -> “关联账号财务”),而且还提供了针对单账号内资源组粒度的消费详情(进入“财务云管理” -> “资源组报表”)。
一个账号内的不同资源组消费详情样例如下图所示:
结语
本文简要介绍了阿里云ResourceManager所提供的面向资源组的分级资源管理与授权管理功能。该功能不会收费,目前已在公共云上开放公测,欢迎大家试用并提交反馈。
关于企业云上资源管理的更多场景及其解决方案,请您进一步阅读阿里云的云账号结构管理模型的最佳实践指导 —— 您需要了解的云账号管理模型。