全部产品
阿里云办公

教程示例:基于RAM角色实现跨账号访问OSS

更新时间:2019-01-03 09:22:37

一个阿里云主账号(例如账号 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. 从左侧的菜单中选择角色管理,然后单击新建角色,进入创建角色向导页面。

  3. 对于1:选择角色类型,选择用户角色

  4. 对于2:填写类型信息页面,选择其他云账号,然后填写账号 B 的受信云账号 ID。在此示例中,输入12345678

  5. 对于3:配置角色基本信息,填写角色名称。在此示例中,输入oss-admin,然后单击创建
    创建角色后,企业 A 可以在角色详情页面上查看角色信息。在此示例中,角色的全局名称 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. 4:创建成功 中单击授权,或者进入角色详情页面后单击角色授权策略

  2. 单击编辑授权策略,进入编辑角色授权策略页面。

  3. 可选授权策略名称中找到 AliyunOSSFullAccess 策略,将其添加到已选授权策略名称中,然后单击确认

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

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

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

  2. 从左侧的菜单中选择用户管理,然后单击新建用户,进入创建用户页面。

  3. 输入用户名,例如 Anne。其他信息可选填。然后单击确认

  4. 在用户名列表中,单击用户名进入用户详情页面。单击启用控制台登录并设置 RAM 用户的登录密码。

  5. 返回 RAM 控制台并单击概览。在 RAM 概览页中找到 RAM 用户登录链接 URL。您将向 RAM 用户提供此 URL,以便其使用 RAM 用户名和密码登录控制台。

  6. 进入用户详情页面,单击用户授权策略。然后单击编辑授权策略,进入编辑个人授权策略页面。

  7. 可选授权策略名称中找到 AliyunSTSAssumeRoleAccess 策略,将其添加到已选授权策略名称中,然后单击确认

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

  1. 打开 RAM 用户登录页面,并用 RAM 用户 Anne 的账号登录到 RAM 控制台。
    用户登录信息显示在右上角。

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

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

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

参考文档

您也可以通过以下方式授权合作伙伴访问您的 OSS 资源: