RAM (Resource Access Management) 是阿里云为客户提供的用户身份管理与资源访问控制服务。使用 RAM,您可以创建、管理用户账号(比如员工、系统或应用程序),并可以控制这些用户账号对资源的操作权限。当您的企业存在多用户协同操作资源时,使用 RAM 可以让您避免与其他用户共享云账号密钥,按需为用户分配最小权限,从而降低企业信息安全风险。

使用 RAM 进行身份管理和资源访问控制

RAM 允许在一个云账户下创建并管理多个用户身份,并允许给单个身份或一组身份分配不同的权限策略,从而实现不同用户拥有不同的云资源访问权限。

用户身份

RAM 用户身份是指任意通过控制台或 OpenAPI 操作阿里云资源的人、系统或应用程序。为了支持多种应用场景的身份管理,RAM 支持两种不同的用户身份类型:RAM 用户和 RAM 角色。

  • RAM 用户:一种实体身份,有确定的身份 ID 和身份认证密钥,它通常与某个确定的人或应用程序一一对应。
  • RAM 角色:一种虚拟身份,有确定的身份 ID,但没有确定的身份认证密钥。
RAM 角色需要与某个实体身份进行关联之后才能被使用。一个 RAM 角色可以与多种实体身份关联:
  • 与当前云账号下的 RAM 用户关联。
  • 与其它云账号下的 RAM 用户关联。
  • 与阿里云服务(EMR/MTS/…)关联。
  • 与外部实体身份(如企业本地账号)关联。

权限策略

RAM 允许在云账号下创建并管理多个权限策略,每个权限策略本质上是一组权限的集合。管理员可以将一个或多个权限策略分配给 RAM 用户(包括 RAM 用户和 RAM 角色)。

RAM 权限策略语言可以表达精细的授权语义,可以指定对某个 API-Action 和 Resource-ID 授权,也可以支持多种限制条件(源 IP、访问时间、多因素认证等)。

云账户与 RAM 用户的关系

  • 从归属关系来看,云账户与 RAM 用户是一种主子关系。
    • 云账户是阿里云资源归属、资源使用计量计费的基本主体。
    • RAM 用户只能存在于某个云账户下的 RAM 实例中。RAM 用户不拥有资源,在被授权操作时所创建的资源归属于主账户;RAM 用户不拥有账单,被授权操作时所发生的费用也计入主账户账单。
  • 从权限角度来看,云账户与 RAM 用户是一种 root 与 user 的关系(类比 Linux系统)。
    • Root 对资源拥有一切操作控制权限。
    • User 只能拥有被 root 所授予的某些权限,而且 root 在任何时刻都可以撤销 user 身上的权限。

使用 RAM 进行企业级云资源管理

RAM 适用具有如下特点的企业场景:
  • 简单管理每个操作人员(或应用)的账号及权限。
  • 不需要分别核算每个操作人员(或应用)的成本和费用。
其具体需求如下图所示:
图 1. 企业场景


  • 企业只需使用一个云账号(比如 companyA@aliyun.com)。
  • 所有资源都归属于该云账号的名下,云账号是资源的 Owner(掌握完全控制权的人),也是账单的支付者。
  • 通过 RAM 为您名下的操作员(对资源进行运维管控操作)创建独立的用户账号并进行授权管理。
  • 用户账号不拥有资源(对其所创建的资源默认没有访问权限),只能操作被授权的资源。
  • 用户账号操作所发生费用都计入主账号名下,不支持用户账号的独立计量计费。

学习路径图

您可以通过 RAM 学习路径图快速了解 RAM,学习相关的基础操作,并利用丰富的 API、SDK 包和便捷工具进行二次开发。