阿里云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列表,之后单击目标Bucket名称。
    3. 单击文件管理 > 授权 > 新增授权
      说明 您也可以单击权限管理 > Bucket授权策略 > 设置 > 新增授权
    4. 新增授权的对话框,填写授权策略。其中,授权用户选择其他账号,并填写B公司子账号的UID号。其他参数请参考Bucket Policy
    5. 单击确定

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

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

  1. 通过RAM账号登录链接登录B公司子账号。
  2. 打开OSS控制台
  3. 单击左侧菜单栏我的访问路径后的加号(+),添加A公司授权访问的Bucket路径信息。
    • 区域:下拉选择A公司授权访问的Bucket所在地域。
    • Bucket:输入A公司授权访问的Bucket名称。
    • 访问路径:添加A公司授权访问的Bucket访问路径。例如,仅允许访问根目录abctest目录,则添加abc/test

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

参考文档

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