全部产品
Search
文档中心

教程示例:跨账号授权OSS资源

更新时间: 2019-03-27

一个阿里云主账号(例如账号 A)可以将其资源的访问权限授予另一个主账号(例如账号 B)。然后,账号 B 将此权限授予其 RAM 用户。在此示例情形中,某存储空间所有者将跨账号权限授予另一个账号以执行存储空间的所有操作。

跨账号授权流程

假设企业 A(账号 ID = 11223344,企业别名 = company-a)需要将 OSS 操作权限授予企业 B(账号 ID = 12345678,企业别名 = company-b)的员工 Anne。授权流程如下:

  1. 企业 A 创建一个角色,以便企业 B 能够担任该角色。
  2. 企业 A 将权限授予该角色。
  3. 企业 B 创建 RAM 用户并授权其担任该角色。

说明:有关企业别名的详细信息,请参见 RAM 快速入门设置 RAM设置企业别名部分。

步骤 1:企业 A 创建一个角色

  1. 使用企业 A 的主账号登录到 RAM 控制台

  2. 从左侧的菜单中选择 RAM 角色管理,然后单击新建 RAM 角色

  3. 选择可信实体类型区域,选择阿里云账号

  4. 选择云账号区域选择其他云账号,然后填写账号 B 的受信云账号 ID。在此示例中,输入12345678

  5. RAM 角色名称栏,填写角色名称。在此示例中,输入oss-admin,然后单击确定
    创建角色后,企业 A 可以在 RAM 角色名称列表内单击指定的 RAM 角色名称查看角色信息。在此示例中,角色的全局名称 ARN 为 acs:ram::11223344:role/oss-admin。角色的授权策略如下:

    1. {
    2. "Statement": [
    3. {
    4. "Action": "sts:AssumeRole",
    5. "Effect": "Allow",
    6. "Principal": {
    7. "RAM": [
    8. "acs:ram::12345678:root"
    9. ]
    10. }
    11. }
    12. ],
    13. "Version": "1"
    14. }

    上述策略允许企业 B 担任此角色。

步骤 2:企业 A 将权限授予该角色

在此步骤中,企业 A 将授权策略 AliyunOSSFullAccess 分配给该角色,从而使该角色能够访问 OSS 资源。

要将权限授予该角色,请执行以下操作:

  1. 单击 RAM 角色管理,在 RAM 角色名称列表中找到步骤 1 中创建的角色,单击角色名称后面的添加权限

    说明:您也可以单击权限管理>授权>新增授权,输入步骤 1 中创建的角色,之后添加权限。

  2. 权限策略名称中找到 AliyunOSSFullAccess 策略,将其添加到已选中栏,然后单击确认

    注意:此步骤将授予 OSS 资源的全部访问权限。如果您希望授予 OSS 存储空间和文件夹的特定权限,请参见教程:控制存储空间和文件夹的访问权限

步骤 3:企业 B 创建 RAM 用户并授权他们担任该角色

  1. 使用企业 B 的主账号登录到 RAM 控制台

  2. 从左侧的菜单中单击人员管理>用户>新建用户,进入新建用户页面。

  3. 登录名称栏输入自定义的登录用户名,此示例中输入Anne。在显示名称栏输入可自定义的显示名称。

  4. 选择访问方式控制台密码登录,根据需要设置密码。之后,单击确定

  5. 选中刚创建的用户,单击添加权限

    说明:您也可以单击返回,之后在人员管理>用户,在用户登录名称/显示名称列表中,找到刚创建的用户,单击添加权限

  6. 权限策略名称中找到 AliyunSTSAssumeRoleAccess,并将其添加到已选中栏,之后单击确定

  7. 返回 RAM 控制台并单击概览。在账号管理区域,将用户登录地址的 URL提供给 RAM 用户,以便其使用 RAM 用户名和密码登录控制台。

控制台上的跨账号资源访问

  1. 打开 RAM 用户登录页面,并用 RAM 用户 Anne 的账号登录到 RAM 控制台。

    说明:用户登录信息显示在右上角。

  2. 将鼠标指针移到用户名并单击切换身份,进入角色切换页面。

  3. 输入企业 A 的企业别名 company-a 和角色名称 oss-admin,然后单击切换

  4. 对企业 A 的 OSS资源执行操作。

更多参考

基于Bucket Policy实现跨账号访问 OSS