文档

访问控制

更新时间:
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

阿里云对象存储OSS提供读写权限ACL、授权策略、防盗链白名单等功能,实现存储资源访问的控制和管理。

读写权限

OSS为权限控制提供访问控制列表(ACL)。ACL是授予Bucket和Object访问权限的访问策略。 您可以在创建存储空间(Bucket)或上传对象(Object)时配置ACL,也可以在创建Bucket或上传Object后的任意时间内修改ACL。

  • Bucket ACL

    Bucket ACL是Bucket级别的权限访问控制。目前有三种访问权限,含义如下:

    权限值

    中文名称

    权限对访问者的限制

    public-read-write

    公共读写

    任何人(包括匿名访问)都可以对该Bucket中的Object进行读、写、删除操作;所有这些操作产生的费用由该Bucket的Owner承担,请慎用该权限。

    警告

    互联网上任何用户都可以对该Bucket内的文件进行访问,并且向该Bucket写入数据。这有可能造成您数据的外泄以及费用激增,如果被人恶意写入违法信息还可能会侵害您的合法权益。除特殊场景外,不建议您配置公共读写权限。

    public-read

    公共读

    只有该Bucket的Owner或者授权对象可以对存放在其中的Object进行写、删除操作;任何人(包括匿名访问)可以对Object进行读操作。

    警告

    互联网上任何用户都可以对该Bucket内文件进行访问,这有可能造成您数据的外泄以及费用激增,请谨慎操作。

    private

    私有

    只有该Bucket的Owner或者授权对象可以对存放在其中的Object进行读、写、删除操作;其他人在未经授权的情况下无法访问该Bucket内的Object。

  • Object ACL

    Object ACL是Object级别的权限访问控制。目前有四种访问权限,含义如下:

    权限值

    中文名称

    权限对访问者的限制

    public-read-write

    公共读写

    所有用户拥有对该Object的读写权限。

    警告

    互联网上任何用户都可以对该Object进行访问,并且向该Object写入数据。这有可能造成您数据的外泄以及费用激增,如果被人恶意写入违法信息还可能会侵害您的合法权益。除特殊场景外,不建议您配置公共读写权限。

    public-read

    公共读

    非Object Owner只有该Object的读权限,而Object Owner拥有该Object的读写权限。

    警告

    互联网上任何用户都可以对该Object进行访问,这有可能造成您数据的外泄以及费用激增,请谨慎操作。

    private

    私有

    只有该Object的Owner拥有该Object的读写权限,其他的用户没有权限操作该Object。

    default

    继承Bucket

    Object遵循Bucket的读写权限,即Bucket是什么权限,Object就是什么权限。

    说明

    Object的读写权限默认为继承Bucket。Object的权限大于Bucket权限。例如,设置了Object的权限是public-read,则无论Bucket是什么权限,该Object都可以被身份验证访问和匿名访问。

更多信息,请参见OSS开发指南中的Object ACL

基于用户的授权策略RAM Policy

RAM(Resource Access Management)是阿里云提供的资源访问控制服务,RAM Policy是基于用户的授权策略。通过设置RAM Policy,您可以集中管理您的用户(例如员工、系统或应用程序),以及控制用户可以访问您名下哪些资源的权限,例如限制您的用户只拥有对某个Bucket里的某些对象的读权限。

RAM Policy为JSON格式,您可以通过其中的Statement描述授权语义,每条语义包含对Action、Effect、Resource和Condition的描述。您可以根据业务场景设置多条语义,实现灵活的授权策略。详情请参见OSS开发指南中的RAM Policy概述

STS临时授权

相对于RAM提供的长效控制机制,STS(Security Token Service)提供的是一种临时访问授权。通过STS可以返回临时的AccessKey和Token,这些信息可以直接发给临时用户用来访问OSS。一般来说,从STS获取的权限会受到更加严格的限制,并且拥有时间限制,因此这些信息泄露之后对于系统的影响也很小。

OSS可以通过阿里云STS进行临时授权访问。通过STS,您可以为第三方应用或子用户(即用户身份由您自己管理的用户)颁发一个自定义时效和权限的访问凭证。更多信息请参见OSS开发指南中的使用STS临时访问凭证访问OSS

基于资源的授权策略Bucket Policy

Bucket Policy是基于资源的授权策略。相比于RAM Policy,Bucket Policy支持在控制台直接进行图形化配置操作,并且Bucket拥有者直接可以进行访问授权。

使用Bucket Policy,您可以授予其他账号的RAM用户访问您的OSS资源的权限,也可以向匿名用户授予带特定IP条件限制的访问权限。详情请参见通过Bucket Policy授权用户访问指定资源

防盗链白名单

对象存储OSS是按使用量收费的服务。为了减少您存储于OSS的数据被其他人盗链而产生额外费用,OSS支持设置基于HTTP和HTTPS header中表头字段Referer的防盗链方法。

您可以设置防盗链白名单,仅允许指定的域名访问OSS资源,或者仅允许HTTP或HTTPS header中包含Referer字段的请求才能访问OSS资源。对于公共读或公共读写的Bucket,防盗链白名单可以有效防止盗链,保护您的合法权益。详情请参见OSS开发指南中的防盗链

  • 本页导读 (1)
文档反馈