全部产品
Search
文档中心

访问控制:跨阿里云账号的资源授权

更新时间:Dec 16, 2024

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

背景信息

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

企业A有如下要求:

  • 企业A希望能专注于业务系统,仅作为资源Owner。企业A希望可以授权账号B来操作部分业务,例如:云资源运维、监控以及管理等。

  • 企业A希望当企业B的员工加入或离职时,无需做任何权限变更。企业B可以进一步将企业A的资源访问权限分配给企业B的RAM用户(员工或应用),并可以精细控制其员工或应用对资源的访问和操作权限。

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

解决方案

企业A需要授权企业B的员工对ECS进行操作。假设企业A和企业B下分别有一个阿里云账号A和阿里云账号B。

  • 企业A的阿里云账号ID为123456789012****,账号别名(企业别名)为company-a

  • 企业B的阿里云账号ID为134567890123****,账号别名(企业别名)为company-b

关于如何设置账号别名,请参见查看和修改默认域名

  1. 阿里云账号A创建一个RAM角色,并为RAM角色授予合适的权限,允许阿里云账号B使用该角色。

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

  2. 如果阿里云账号B下的某个员工(RAM用户)需要使用该RAM角色,那么阿里云账号B可以自主进行授权控制。阿里云账号B下的RAM用户将扮演RAM角色来操作阿里云账号A的资源。

    具体操作,请参见跨阿里云账号访问资源

  3. 如果企业A与企业B的合作终止,企业A只需要撤销阿里云账号B对RAM角色的使用。此时阿里云账号B下的所有RAM用户对RAM角色的使用权限将被自动撤销。

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

跨阿里云账号授权

  1. 阿里云账号A创建可信实体为阿里云账号的RAM角色ecs-admin

    说明

    创建RAM角色时选择其他云账号134567890123****作为受信云账号,即允许阿里云账号B下的RAM用户来扮演该RAM角色。

    具体操作,请参见创建可信实体为阿里云账号的RAM角色

    RAM角色创建成功后,在角色基本信息页面中可以查看到该RAM角色的ARN和信任策略。

    • RAM角色的ARN为acs:ram::123456789012****:role/ecs-admin

    • RAM角色的信任策略如下:

      说明

      以下策略表示允许阿里云账号B下的RAM用户来扮演该RAM角色。

      {
      "Statement": [
      {
       "Action": "sts:AssumeRole",
       "Effect": "Allow",
       "Principal": {
         "RAM": [
           "acs:ram::134567890123****:root"
         ]
       }
      }
      ],
      "Version": "1"
      }
  2. 阿里云账号A为RAM角色ecs-admin添加AliyunECSFullAccess权限。

    具体操作,请参见为RAM角色授权

  3. 阿里云账号B为其员工创建RAM用户Alice

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

  4. 阿里云账号B为创建好的RAM用户设置登录密码123456****并添加AliyunSTSAssumeRoleAccess权限,即允许RAM用户扮演RAM角色。

    具体操作,请参见为RAM用户授权

跨阿里云账号访问资源

对阿里云账号B的RAM用户Alice进行授权后,RAM用户通过切换角色便可以访问阿里云账号A下的ECS资源。

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

    说明

    RAM用户登录时需要输入账号别名company-b、RAM用户名称Alice和RAM用户密码123456****

    具体操作,请参见RAM用户登录阿里云控制台

  2. RAM用户登录成功后,将鼠标悬停在右上角头像的位置,单击切换身份

    说明

    切换角色时需要输入账号别名company-a和RAM角色名称ecs-admin

    具体操作,请参见扮演RAM角色

撤销跨阿里云账号授权

阿里云账号A可以撤销阿里云账号B对RAM角色ecs-admin的使用。

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

  2. 在左侧导航栏,选择身份管理 > 角色

  3. 单击RAM角色名称ecs-admin

  4. 信任策略页签下,单击编辑信任策略,删除整行策略内容"acs:ram::134567890123****:root"

    说明

    阿里云账号A也可以通过删除RAM角色ecs-admin来撤销阿里云账号B的权限。但在删除RAM角色前,请先为RAM角色移除权限。具体操作,请参见为RAM角色移除权限