Bucket Policy是阿里云OSS推出的针对Bucket的授权策略,您可以通过Bucket Policy授权其他用户访问您的OSS资源。
背景信息
相比于RAM Policy,Bucket Policy支持在控制台直接进行图形化配置操作,并且Bucket拥有者直接可以进行访问授权,通常用来将私有文件共享给指定的用户或群体。
配置步骤
- 登录OSS管理控制台。
- 在左侧Bucket列表,单击目标Bucket名称。
- 单击文件管理页签,然后单击授权。
- 在授权对话框,单击新增授权。
- 在新增授权页面,设置以下项目后单击确定。
配置项 |
说明 |
授权资源 |
- 整个Bucket:授权策略针对整个Bucket生效。
- 指定资源:授权策略只针对指定的资源生效。您需要同时输入资源路径,例如abc/myphoto.png。若是针对目录授权,则需在目录结尾处加上星号(*),例如abc/*。
|
授权用户 |
- 选择子账号:您可以从下拉菜单中选择当前账号的子账号,授予资源访问权限。您的账号必须是主账号,或拥有此Bucket管理权限及RAM控制台ListUsers权限的子账号,否则无法查看当前账号的子账号列表。
- 其他账号:当您需要给其他账号授权时,请输入被授权账号的UID。
- 匿名账号(*):若您需要给所有用户授权,可以选择匿名账号(*)。
注意
- 被授权的用户是其他阿里云主账号时,该主账号无法通过OSS控制台访问授权资源,您可以通过命令行工具ossutil、图形化工具ossbrowser、OSS SDK访问授权资源。
- 给RAM用户授予ListUsers权限请参见为RAM用户授权。
|
授权操作 |
- 只读:对相关资源拥有查看、列举及下载权限。
- 读/写:对相关资源有读和写权限。
- 完全控制:对相关资源有读、写、删除等所有操作权限。
- 拒绝访问:拒绝对相关资源的所有操作。
说明 若针对某用户同时配置了多个Bucket Policy规则,那么该用户所拥有的权限是所有Policy规则的叠加,但是拒绝访问优先。例如针对某用户第一次设置了只读权限,第二次设置了读/写权限,那么该用户最终的权限为只读和读/写权限的叠加,即读/写权限。如果第三次设置了拒绝访问权限,则该用户最终的权限为拒绝访问。
|
条件(可选)
|
您可以限定只有符合特定条件的用户能够访问OSS资源。
- IP =:设置IP等于某一IP地址或IP地址段。
- IP ≠:设置IP不等于某一IP地址或IP地址段。
说明
- IP地址:例如10.10.10.10。如有多个IP地址,用英文逗号(,)分隔。
- IP地址段:例如10.10.10.1/24。
- 访问方式:设置使用HTTP/HTTPS访问OSS资源。
|
- 被授权账号访问已授权资源。
您可以通过以下方式访问授权资源:
- 控制台(仅当授权对象为子账号时)
当授权对象为子账号时,使用被授权的子账号登录OSS控制台。在左边菜单栏单击
我的访问路径后的加号(+),添加授权访问的文件路径,格式为
bucket/object-prefix。
注意
- 被授权的用户是其他阿里云主账号时,该主账号无法通过OSS控制台访问授权资源,您可以通过命令行工具ossutil、图形化工具ossbrowser、OSS SDK访问授权资源。
- 若授权资源为指定文件或指定目录,通过访问路径访问时可能会提示没有访问权限,忽略即可。
- 命令行工具ossutil
使用被授权的阿里云账号通过ossutil访问授权资源,详情请参见ossutil。
- 图形化工具ossbrowser
使用被授权的阿里云账号登录ossbrowser,登录时在预设OSS路径栏输入被授权访问的文件目录。详情请参见ossbrowser。
- OSS SDK
使用各语言SDK访问授权资源,详情请参见OSS SDK。
- 文件URL(仅当授权对象为匿名用户时)
在浏览器上,使用Bucket默认域名或已绑定在Bucket上的自有域名加文件路径进行访问。例如http://mybucket.oss-cn-beijing.aliyuncs.com/file/myphoto.png
。详情请参见OSS访问域名使用规则。
场景案例
场景一:某公司A,希望其合作公司B可以访问Bucket内指定文件目录date/内的文件。实现步骤如下:
- 参考配置步骤配置Bucket Policy,其中参数配置如下:
- 授权资源填写指定的文件目录date/*。
- 授权用户选择其他账号,并填写B公司账号的子账号UID号。
- 授权操作选择只读。
- 条件不配置。
- B公司员工使用被授权的子账号,参照步骤9的方法访问A公司授权访问的资源。
场景二:某公司C,部分内部公开文档存放在OSS Bucket的file/目录内,现希望公司员工可以直接访问公开文档内的资料。
考虑到员工较多,通过RAM Policy授权,工作量很大。此时,可以使用Bucket Policy设置带IP限制的访问策略,实现C公司需求,步骤如下:
- 参考配置步骤配置Bucket Policy,其中参数配置如下:
- 授权资源填写指定的文件目录file/*。
- 授权用户选择匿名账号(*)。
- 授权操作选择只读。
- 条件选择IP =,并填写C公司的外网出口IP。
- C公司员工在公司内部使用任意阿里云账号,参照步骤9的方法访问授权访问的资源。
场景三:公司D的产品资料存放在OSS Bucket的public/目录内,需授权给本公司内部员工和合作公司E访问,为了访问安全,仅允许使用HTTPS的方式访问。
因为有多个需求,所以需要配置三条策略,实现步骤如下:
- 配置策略,授权给合作公司E访问权限,配置步骤参考场景一。
- 配置策略,授权给内部员工访问权限,配置步骤参考场景二。
- 配置策略,禁止使用HTTP的方式访问,配置参数如下图所示。
- 策略配置完成后,参照步骤9的方法访问授权访问的资源。需要注意以下几点:
教程视频
- 授权多个用户访问 OSS 资源
- 拒绝特定 IP 地址访问 OSS 资源
评论