跨阿里云账号访问资源

当一个企业希望将部分业务授权给另一个企业时,可以使用RAM角色进行跨阿里云账号的资源授权及访问。

应用场景

企业A购买了多种阿里云资源来开展业务,例如:ECS实例、RDS实例、SLB实例和OSS存储空间等。企业A希望:

  • 授权或委派企业B对企业A的资源进行代运维、代管理等。

  • 当企业B的员工加入或离职时,无需做任何权限变更。企业B可以将企业A的资源访问权限分配给企业B的员工或应用,并可以精细控制其员工或应用对资源的访问权限。

  • 如果双方合同终止,企业A可以随时撤销对企业B的授权。

解决方案

假设企业A拥有一个阿里云账号A(A@company-a.onaliyun.com),企业B拥有一个阿里云账号B(B@company-b.onaliyun.com),您可以通过RAM角色实现阿里云账号B访问阿里云账号A的资源。

image
  • 在阿里云账号A中创建一个RAM角色,可信实体为阿里云账号B内所有RAM身份,并为RAM角色授予合适的资源访问权限(例如:管理ECS实例的权限)。在阿里云账号B中创建一个RAM用户,允许该RAM用户通过角色扮演的方式访问阿里云账号A的资源。阿里云账号A只需要定义允许访问的可信实体和RAM角色的资源访问权限,阿里云账号B自主管控允许扮演该角色的RAM用户。

    具体操作,请参见跨阿里云账号授权

  • 如果企业A与企业B的合作终止,阿里云账号A只需要撤销阿里云账号BRAM角色的使用。撤销后,阿里云账号B下的所有RAM用户将无法扮演该RAM角色访问阿里云账号A的资源。

    具体操作,请参见撤销跨阿里云账号授权

跨阿里云账号授权

  1. 使用阿里云账号A创建可信实体为阿里云账号BRAM角色。

    1. 使用阿里云账号A登录RAM控制台

    2. 角色页面,创建一个RAM角色。

      信任主体类型选择云账号信任主体名称选择其他云账号,输入阿里云账号BID。更多信息,请参见创建可信实体为阿里云账号的RAM角色查看账号基本信息

      image

  2. 使用阿里云账号ARAM角色授予资源访问权限。

    角色页面或授权页面,为RAM角色添加系统策略或自定义策略。您需要遵循最小化授权原则,为RAM角色添加刚刚好的权限。例如:您想让该RAM角色管理ECS实例,就可以添加系统策略AliyunECSFullAccess。具体操作,请参见RAM角色授权

  3. 使用阿里云账号B创建RAM用户。

    1. 使用阿里云账号B登录RAM控制台

    2. 用户页面,创建一个RAM用户。

      具体操作,请参见创建RAM用户

  4. 使用阿里云账号BRAM用户授予角色扮演的权限。

    用户页面或授权页面,为RAM用户添加系统策略AliyunSTSAssumeRoleAccess。具体操作,请参见RAM用户授权

  5. 使用阿里云账号B中的RAM用户,通过角色扮演的方式,访问阿里云账号A中有权限的资源。

    角色扮演有以下两种方式,您可以任选其一:

撤销跨阿里云账号授权

阿里云账号A可以撤销阿里云账号BRAM角色使用权限。以下两种方法,您可以任选其一:

  • 修改RAM角色信任策略

    1. 使用阿里云账号A登录RAM控制台

    2. 角色页面,修改角色的信任策略。

      修改Principal字段,取消对阿里云账号B的信任。例如:您可以删除该字段中阿里云账号BUID。具体操作,请参见修改RAM角色的信任策略

      image

  • 删除RAM角色

    1. 使用阿里云账号A登录RAM控制台

    2. 角色页面,删除RAM角色。

      删除RAM角色的同时会移除该RAM角色上的权限。具体操作,请参见删除RAM角色