阿里云OSS的资源默认都是私有的,如果您希望您的合作伙伴可以访问您的OSS资源,可以通过Bucket Policy授予合作伙伴访问Bucket的权限。
背景信息
公司A希望其合作公司B可以访问自己的OSS资源,但又不方便开放RAM用户给B公司。此时,A公司可以通过Bucket Policy授予合作伙伴访问Bucket的权限。B公司账号获得授权后,可以在控制台添加A公司OSS资源的访问路径进行访问。
添加Bucket Policy
A公司通过Bucket Policy授予合作伙伴B公司访问授权Bucket。具体步骤如下:
获取B公司账号的RAM用户UID。
登录RAM管理控制台。
在左侧导航栏,选择 。
在用户页面,单击创建用户。
在创建用户页面,用户账号信息区域输入登录名称和显示名称,访问方式选中控制台访问,其他参数保留默认配置,然后单击确定。
单击刚创建的RAM用户的用户名,在用户基本信息区域,查看并记录RAM用户的UID。
A公司账号授予B公司账号的RAM用户访问授权资源。
登录OSS管理控制台。
单击Bucket 列表,然后单击目标Bucket名称。
在左侧导航栏,选择 。
在Bucket 授权策略页面的按图形策略添加页签,单击新增授权。
在新增授权面板,填写授权策略。其中,授权用户选择其他账号,并填写B公司账号已创建RAM用户的UID。其他参数配置方式,请参见Bucket Policy。
单击确定。
登录RAM用户账号并添加访问路径
Bucket Policy添加完成后,您还需要登录B公司的RAM用户账号,添加A公司的Bucket访问路径。配置步骤如下:
通过RAM账号登录地址登录B公司RAM用户账号。
打开OSS管理控制台。
在左侧导航栏,单击我收藏的路径右侧的加号(+)。
在添加收藏路径对话框,按以下说明配置各项参数。
参数
说明
添加方式
选中从其他已授权bucket添加,将当前账号下公司A授权访问的Bucket添加到收藏路径。
地域
下拉选择A公司授权访问的Bucket所在地域。
文件路径
添加A公司授权访问的文件路径。例如当A公司授权访问examplebucket中文件夹examplefolder下的文件或子文件夹时,则填写
oss://examplebucket/examplefolder/
。请求者付费
当授权访问的Bucket开启了请求者付费模式,且您不是该Bucket拥有者的情况下,需选中我已知晓并同意。否则,访问文件路径下指定的资源时会报错AccessDenied。选中我已知晓并同意后,您可以正常访问文件路径下的指定资源,且访问该Bucket产生的流量、请求次数等费用将由您支付。更多信息,请参见开启请求者付费模式。
单击确定。
您也可以创建AccessKey,并通过AccessKey使用ossutil、ossbrowser等工具访问被授权的Bucket。