阅读126 返回首页    go 微信


什么是RAM?__产品简介_访问控制-阿里云

什么是RAM?

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

RAM需求场景

  • 企业子账号管理与分权

企业A购买了多种云资源(如ECS实例/RDS实例/负载均衡实例/OSS存储桶/…),A的员工需要操作这些云资源,比如有的负责购买,有的负责运维,还有的负责线上应用。由于每个员工的工作职责不一样,需要的权限也不一样。出于安全或信任的考虑,A不希望将云账号密钥直接透露给员工,而希望能给员工创建相应的用户账号。用户账号只能在授权的前提下操作资源,不需要对用户账号进行独立的计量计费,所有开销都算在A的头上。当然,A随时可以撤销用户账号身上的权限,也可以随时删除其创建的用户账号。

  • 不同企业之间的资源操作与授权管理

A和B代表不同的企业。A购买了多种云资源(如ECS实例/RDS实例/负载均衡实例/OSS存储桶/…)来开展业务。A希望能专注于业务系统,而将云资源运维监控管理等任务委托或授权给企业B。当然,企业B可以进一步将代运维任务分配给B的员工。B可以精细控制其员工对A的云资源操作权限。如果A和B的这种代运维合同终止,A随时可以撤销对B的授权。

  • 针对不可信客户端App的临时授权管理

企业A开发了一款移动App,并购买了OSS服务。移动App需要上传数据到OSS(或从OSS下载数据),A不希望所有App都通过AppServer来进行数据中转,而希望让App能直连OSS上传/下载数据。由于移动App运行在用户自己的终端设备上,这些设备并不受A的控制。出于安全考虑,A不能将访问密钥保存到移动App中。A希望将安全风险控制到最小,比如,每个移动App直连OSS时都必须使用最小权限的访问令牌,而且访问时效也要很短(比如30分钟)。

RAM设计思路

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

RAM用户身份是指任意的通过控制台或OpenAPI操作阿里云资源的人、系统或应用程序。为了支持多种应用场景的身份管理,RAM支持两种不同的用户身份类型:RAM-User和RAM-Role。 RAM-User是一种实体身份,有确定的身份ID和身份认证密钥,它通常与某个确定的人或应用程序一一对应。 RAM-Role是一种虚拟身份,有确定的身份ID,但没有确定的身份认证密钥。RAM-Role需要与某个实体身份进行关联之后才能被使用。一个RAM-Role可以与多种实体身份关联,比如可以与当前云账号下的RAM-User关联,与其它云账号下的RAM-User关联,与阿里云服务(EMR/MTS/…)关联,与外部实体身份(如企业本地账号)关联。

RAM允许在云账号下创建并管理多个授权策略,每个授权策略本质上是一组权限的集合。管理员可以将一个或多个授权策略分配给RAM用户(包括RAM-User和RAM-Role)。RAM授权策略语言可以表达精细的授权语义,可以指定对某个API-Action和Resource-ID授权,也可以支持多种限制条件(源IP、访问时间、多因素认证等)。

云账户 vs RAM用户

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

RAM产品功能

RAM包括下列功能:

  • 集中控制RAM用户及其密钥 —— 可以在云账号下创建并管理用户及其访问密钥,并可以为用户绑定/解绑多因素认证设备
  • 集中控制RAM用户的访问权限 —— 可以为每个用户或用户组绑定一个或多个授权策略,限制用户对指定资源的操作权限
  • 集中控制RAM用户的资源访问方式 —— 可以要求用户必须使用安全信道(如SSL)、指定时间范围、以及在指定源IP条件下才能操作指定的云资源
  • 集中控制RAM角色与外部账号的身份联盟管理 —— 可以使用RAM角色与外部身份系统(比如您的企业本地域账号、您的App用户账号)进行关联,满足直接使用外部身份登录到一个RAM角色身份访问阿里云控制台或API。
  • 集中控制云资源 —— 可以对用户创建的实例或数据进行集中控制。当用户离开您的组织时,这些实例或数据仍然受您的完全控制。
  • 统一账单 —— 云账户将收到包括所有RAM用户的资源操作所发生的费用的单一账单

RAM与企业级云资源管理

需求说明(如下图所示):

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

RAM服务与其它云服务的资源关系图

适用具有如下特点的企业场景:

  • 希望很简单就能管理每个操作人员(或应用)的账号及权限
  • 不需要分别核算每个操作人员(或应用)的成本和费用

最后更新:2016-11-23 17:16:05

  上一篇:go Node.jsSDK使用手册__SDK使用手册_云监控-阿里云
  下一篇:go RAM术语__产品简介_访问控制-阿里云