使用企业A的阿里云账号(主账号)创建RAM角色并为该角色授权,并将该角色赋予企业B,即可实现使用企业B的主账号或其RAM用户(子账号)访问企业A的阿里云资源的目的。

背景信息

假设企业A购买了多种云资源来开展业务,并需要授权企业B代为开展部分业务,则可以利用RAM角色来实现此目的。RAM角色是一种虚拟用户,没有确定的身份认证密钥,需要被一个受信的实体用户扮演才能正常使用。为了满足企业A的需求,可以按照以下流程操作:

  1. 企业A创建RAM角色
  2. 企业A为该RAM角色添加权限
  3. 企业B创建RAM用户
  4. 企业B为RAM用户添加AliyunSTSAssumeRoleAccess权限
  5. 企业B的RAM用户通过控制台或API访问企业A的资源

可以为RAM角色添加的ARMS系统权限策略包括:

  • AliyunARMSFullAccess:ARMS的完整权限
  • AliyunARMSReadOnlyAccess:ARMS的只读权限

步骤一:企业A创建RAM角色

首先需要使用企业A的阿里云账号(主账号)登录RAM控制台并创建RAM角色。

  1. 登录RAM控制台,在左侧导航栏中单击RAM角色管理,并在RAM角色管理页面上单击创建RAM角色
  2. 创建RAM角色面板中执行以下操作并单击关闭
    1. 当前可信实体类型区域框中选择阿里云账号,并单击下一步
    2. RAM角色名称文本框内输入RAM角色名称,在选择云账号区域框中选择其他云账号,并在文本框内输入企业B的云账号,单击完成
      说明 RAM角色名称中允许使用英文字母、数字和“-”,长度不超过64个字符。

步骤二:企业A为该RAM角色添加权限

新创建的角色没有任何权限,因此企业A必须为该角色添加权限。

  1. RAM控制台左侧导航栏中单击RAM角色管理
  2. RAM角色管理页面上单击目标角色操作列中的添加权限
  3. 添加权限面板的选择权限区域框中,通过关键字搜索需要添加的权限策略 ,并单击权限策略将其添加至右侧的已选择列表中,然后单击确定
    说明 可添加的权限参见背景信息部分。
  4. 添加权限授权结果页面上,查看授权信息摘要,并单击完成

步骤三:企业B创建RAM用户

接下来要使用企业B的阿里云账号(主账号)登录RAM控制台并创建RAM用户。

  1. 登录RAM控制台,在左侧导航栏中选择人员管理 > 用户,并在用户页面上单击创建用户
  2. 创建用户页面的用户账号信息区域框中,输入登录名称显示名称
    说明 登录名称中允许使用小写英文字母、数字、“.”、“_”和“-”,长度不超过128个字符。显示名称不可超过24个字符或汉字。
  3. (可选)如需一次创建多个用户,则单击添加用户,并重复上一步。
  4. 访问方式区域框中,勾选控制台密码登录编程访问,并单击确定
    说明 为提高安全性,请仅勾选一种访问方式。
    • 如果勾选控制台密码登录,则完成进一步设置,包括自动生成默认密码或自定义登录密码、登录时是否要求重置密码,以及是否开启MFA多因素认证。
    • 如果勾选编程访问,则RAM会自动为RAM用户创建AccessKey(API访问密钥)。
      注意 出于安全考虑,RAM控制台只提供一次查看或下载AccessKeySecret的机会,即创建AccessKey时,因此请务必将AccessKeySecret记录到安全的地方。
  5. 手机验证对话框中单击获取验证码,并输入收到的手机验证码,然后单击确定。创建的RAM用户显示在用户页面上。

步骤四:企业B为RAM用户添加权限

企业B必须为其主账号下的RAM用户添加AliyunSTSAssumeRoleAccess权限,RAM用户才能扮演企业A创建的RAM角色。

  1. RAM控制台左侧导航栏中选择人员管理 > 用户
  2. 用户页面上找到需要授权的用户,单击操作列中的添加权限
  3. 添加权限面板的选择权限区域框中,通过关键字搜索AliyunSTSAssumeRoleAccess权限策略 ,并单击该权限策略将其添加至右侧的已选择列表中,然后单击确定
  4. 添加权限授权结果页面上,查看授权信息摘要,并单击完成

后续步骤

完成上述操作后,企业B的RAM用户即可按照以下步骤登录控制台访问企业A的云资源或调用API。

  • 登录控制台访问企业A的云资源
    1. 在浏览器中打开RAM用户登录入口
    2. RAM用户登录页面上,输入RAM用户登录名称,单击下一步,并输入RAM用户密码,然后单击登录
      说明 RAM用户登录名称的格式为<$username>@<$AccountAlias><$username>@<$AccountAlias>.onaliyun.com<$AccountAlias>为账号别名,如果没有设置账号别名,则默认值为阿里云账号(主账号)的ID。
    3. 子用户用户中心页面上,将鼠标指针移到右上角头像,并在浮层中单击切换身份
    4. 阿里云-角色切换页面,输入企业A的企业别名默认域名,以及角色名,然后单击切换
    5. 对企业A的阿里云资源执行操作。
  • 使用企业B的RAM用户通过API访问企业A的云资源

    要使用企业B的RAM用户通过API访问企业A的云资源,必须在代码中提供RAM用户的AccessKeyId、AccessKeySecret和SecurityToken(临时安全令牌)。使用STS获取临时安全令牌的方法参见STS使用入门