使用企业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控制台
  2. 在左侧导航栏,选择身份管理 > 角色
  3. 角色页面,单击创建角色
  4. 创建角色面板,选择可信实体类型为阿里云账号,然后单击下一步
  5. 设置角色信息。
    1. 输入角色名称
    2. 可选:输入备注
    3. 选择云账号。
      • 当前云账号:当您允许当前阿里云账号下的RAM用户扮演该RAM角色时,您可以选择当前云账号
      • 其他云账号:当您允许其他阿里云账号下的RAM用户扮演该RAM角色时,您可以选择其他云账号,然后输入其他阿里云账号ID。该项主要针对跨阿里云账号的资源授权访问场景。
        说明 您可以访问安全设置页面查看阿里云账号ID。
  6. 单击完成
  7. 单击关闭

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

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

  1. 使用阿里云账号登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 角色
  3. 角色页面,单击目标RAM角色操作列的添加权限
  4. 添加权限面板,为RAM角色添加权限。
    1. 选择授权应用范围。
      • 整个云账号:权限在当前阿里云账号内生效。
      • 指定资源组:权限在指定的资源组内生效。
        说明 指定资源组授权生效的前提是该云服务已支持资源组。更多信息,请参见支持资源组的云服务
    2. 输入授权主体。
      授权主体即需要授权的RAM角色,系统会自动填入当前的RAM角色,您也可以添加其他RAM角色。
    3. 选择权限策略。
      说明 每次最多绑定5条策略,如需绑定更多策略,请分次操作。
  5. 单击确定
  6. 单击完成

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

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

  1. 使用阿里云账号登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 用户
  3. 用户页面,单击创建用户
  4. 创建用户页面的用户账号信息区域,输入登录名称显示名称
    说明 单击添加用户,可一次性创建多个RAM用户。
  5. 访问方式区域,选择访问方式。
    • 控制台访问:设置控制台登录密码、重置密码策略和多因素认证策略。
      说明 自定义登录密码时,密码必须满足密码复杂度规则。关于如何设置密码复杂度规则,请参见设置RAM用户密码强度
    • OpenAPI调用访问:自动为RAM用户生成访问密钥(AccessKey),支持通过API或其他开发工具访问阿里云。
    说明 为了保障账号安全,建议仅为RAM用户选择一种登录方式,避免RAM用户离开组织后仍可以通过访问密钥访问阿里云资源。
  6. 单击确定

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

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

  1. 使用阿里云账号登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 用户
  3. 用户页面,单击目标RAM用户操作列的添加权限
  4. 添加权限面板,为RAM用户添加权限。
    1. 选择授权应用范围。
      • 整个云账号:权限在当前阿里云账号内生效。
      • 指定资源组:权限在指定的资源组内生效。
        说明 指定资源组授权生效的前提是该云服务已支持资源组。更多信息,请参见支持资源组的云服务
    2. 输入授权主体。
      授权主体即需要授权的RAM用户,系统会自动填入当前的RAM用户,您也可以添加其他RAM用户。
    3. 选择权限策略。
      说明 每次最多绑定5条策略,如需绑定更多策略,请分次操作。
  5. 单击确定
  6. 单击完成

后续步骤

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

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

  1. RAM用户登录阿里云控制台
  2. RAM用户名密码登录页签,输入RAM用户名,单击下一步
    • 方式一:使用默认域名登录。RAM用户的登录格式为<UserName>@<AccountAlias>.onaliyun.com,例如:username@company-alias.onaliyun.com。
      说明 <UserName>为RAM用户名称,<AccountAlias>.onaliyun.com为默认域名。关于默认域名的更多信息,请参见基本概念查看和修改默认域名
    • 方式二:使用账号别名登录。RAM用户的登录格式为<UserName>@<AccountAlias>,例如:username@company-alias。
      说明 <UserName>为RAM用户名称,<AccountAlias>为账号别名。关于账号别名的更多信息,请参见基本概念查看和修改默认域名
    • 方式三:如果创建了域别名,也可以使用域别名登录。RAM用户的登录格式为<UserName>@<DomainAlias>,例如:username@example.com。
      说明 <UserName>为RAM用户名称,<DomainAlias>为域别名。关于域别名的更多信息,请参见基本概念创建并验证域别名
  3. 输入RAM用户的登录密码,然后单击登录
  4. (可选)如果您开启了多因素认证(MFA),则需要输入虚拟MFA设备生成的验证码,或通过U2F安全密钥认证。

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

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