借助RAM角色实现跨云账号访问资源

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

背景信息

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

  1. 企业A创建RAM角色。

  2. 企业A为该RAM角色添加AliyunEDASFullAccess权限。

  3. 企业B创建RAM用户。

  4. 企业B为RAM用户添加AliyunSTSAssumeRoleAccess权限。

  5. 企业B的RAM用户通过控制台或API访问企业A的资源。

可以为RAM角色添加的EDAS系统权限策略包括:AliyunEDASFullAccess,EDAS的完整权限。

说明
  • 被访问的角色需要具有AliyunEDASFullAccess权限。

  • RAM子用户只能扮演非自己主账户的角色,即子账户不能扮演子账户所在的主账户下的角色,只能扮演其它主账户下的拥有AliyunEDASFullAccess权限的角色。用户在自己主账户角色的情况下将无法访问EDAS,请退出角色登录再访问EDAS。

  • 子账户扮演具有AliyunEDASFullAccess权限的角色成功后,即拥有所扮演主账号的所有EDAS权限。

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

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

  1. 使用RAM管理员登录RAM控制台

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

  3. 角色页面,单击创建角色

  4. 创建角色页面,选择可信实体类型为阿里云账号,然后单击下一步

  5. 配置角色页签的角色名称文本框内输入RAM角色名称。

    说明

    RAM角色名称中允许使用英文字母、数字和“-”,长度不超过64个字符。

  6. 配置角色页签的选择云账号区域中选择其他云账号,并在文本框内输入企业B的云账号。

  7. 单击完成

  8. 单击关闭

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

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

  1. 使用RAM管理员登录RAM控制台

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

  3. 角色页面,单击目标RAM角色操作列的新增授权

    您也可以选中多个RAM角色,单击角色列表下方的新增授权,为RAM角色批量授权。

  4. 添加权限面板中,为RAM角色添加权限。

    1. 选择授权应用范围。

      • 整个云账号:权限在当前阿里云账号内生效。

      • 指定资源组:权限在指定的资源组内生效。

        说明

        指定资源组授权生效的前提是该云服务已支持资源组。更多信息,请参见支持资源组的云服务

    2. 输入授权主体。

      授权主体即需要授权的RAM角色,系统会自动填入当前的RAM角色,您也可以添加其他RAM角色。

    3. 单击权限策略将其添加至右侧的已选择列表中,然后单击确定

      说明

      可添加的权限参见背景信息部分。

  5. 选择权限区域中单击自定义策略,通过关键字搜索需要添加的权限策略,并单击权限策略将其添加至右侧的已选择列表中,然后单击确定

  6. 添加权限的下一页,查看授权信息摘要,并单击完成

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

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

  1. 使用阿里云账号(主账号)或RAM管理员登录RAM控制台

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

  3. 用户页面,单击创建用户

  4. 创建用户页面的用户账号信息区域,设置用户基本信息。

    • 登录名称:可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符。

    • 显示名称:最多包含128个字符或汉字。

    • 标签:单击edit,然后输入标签键和标签值。为RAM用户绑定标签,便于后续基于标签的用户管理。

    说明

    单击添加用户,可以批量创建多个RAM用户。

  5. 访问方式区域,选中控制台访问Open API 调用访问,并单击确定

    说明

    为提高安全性,请仅选中一种访问方式。

    • 如果选中控制台访问,则完成进一步设置,包括自动生成默认密码或自定义登录密码、登录时是否要求重置密码,以及是否开启MFA(多因素认证)。

    • 如果选中Open API 调用访问,则RAM会自动为RAM用户创建AccessKey(API访问密钥)。

      重要

      出于安全考虑,RAM控制台只在创建AccessKey时提供一次查看或下载AccessKeySecret的机会,因此请务必将AccessKeySecret记录到安全的地方。

  6. 安全验证对话框中单击点击获取验证码,并输入收到的手机验证码,然后单击确定

    创建的RAM用户显示在用户页面上。

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

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

  1. 使用阿里云账号(主账号)或RAM管理员登录RAM控制台

  2. 用户页面,单击目标RAM用户操作列的添加权限

  3. 添加权限面板设置授权范围,在选择权限区域中通过关键字搜索AliyunSTSAssumeRoleAccess权限策略 ,并单击该权限策略将其添加至右侧的已选择列表中,然后单击确定

  4. 添加权限授权结果页面上,查看授权信息摘要,并单击完成

后续步骤

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

  • 登录控制台访问企业A的云资源

    1. 在浏览器中打开RAM用户登录入口

    2. RAM用户登录页面上,输入RAM用户登录名称,单击下一步,并输入RAM用户密码,然后单击登录

      说明

      RAM用户登录名称的格式为 <子用户名称>@<默认域名>,或<子用户名称>@<企业别名>,例如username@company-alias.onaliyun.com或username@company-alias。

    3. 在控制台页面上,将光标移到右上角头像,并在浮层中单击切换身份

    4. 阿里云-角色切换页面,输入企业A的企业别名默认域名UID,以及角色名,然后单击提交

    5. 对企业A的阿里云资源执行操作。

  • 使用企业B的RAM用户通过API访问企业A的云资源

    要使用企业B的RAM用户通过API访问企业A的云资源,必须在代码中提供RAM用户的AccessKey ID、AccessKey Secret和Security Token(临时安全令牌)。