阿里云 OSS 的资源默认都是私有的,若您希望您的合作伙伴可以访问您的 OSS 资源,可以通过 Bucket Policy 授予合作伙伴访问 Bucket 的权限。

背景信息

案例:公司 A 希望其合作公司 B 可以访问自己的 OSS 资源,但又不方便开放子账号给 B 公司。此时,A 公司可以通过 Bucket Policy 授予合作伙伴访问 Bucket 的权限。B 公司账号获得授权之后,可以在控制台添加 A 公司 OSS 资源的访问路径进行访问。

添加 Bucket Policy

  • B 公司账号:
    1. 登录 RAM 访问控制台,创建 RAM 子账号。

      详细配置方法请参见创建 RAM 用户

    2. 在 RAM 访问控制台,单击用户
    3. 单击刚刚创建的 RAM 用户的用户名,查看并记录 RAM 用户的 UID 号。
  • A 公司账号
    1. 登录阿里云OSS 控制台
    2. 在左侧菜单栏选择您需要授权访问的 Bucket。
    3. 单击文件管理 > 授权 > 新增授权
    4. 新增授权的对话框,填写授权策略。其中,授权用户选择其他账号,并填写 B 公司子账号的 UID 号。其他参数请参考Bucket Policy
    5. 单击确定

登录 RAM 子账号并添加访问路径

Bucket Policy 添加完成之后,您还需要登录 B 公司子账号,添加 A 公司的 Bucket 访问路径。配置步骤如下:

  1. 通过 RAM 账号登录链接登录 B 公司子账号。
  2. 打开OSS 控制台
  3. 单击左侧菜单栏我的访问路径后的加号(+),添加 A 公司授权访问的 Bucket 路径信息。
    • 区域:下拉选择 A 公司允许访问的 Bucket 所在地域。
    • 访问路径:添加 A 公司允许访问的 Bucket 访问路径,格式为「bucket/object-prefix」。例如,仅允许访问名为 aliyun 的 Bucket 下的 abc 文件夹,则添加 aliyun/abc

您也可以创建子账号的 AccessKey,并通过 AccessKey 使用 ossutilossbrowser 等工具访问被授权的 Bucket。

参考文档

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