OSS权限控制
权限控制方式:
- ACL:OSS为权限控制提供访问控制列表(ACL)。ACL是基于资源的授权策略,可授予Bucket 和Object访问权限。可以在创建Bucket或上传Object时设置ACL,也可以在创建Bucket 或上传Object后的任意时间内修改ACL。
- RAM Policy:RAM(Resource Access Management)是阿里云提供的资源访问控制服务。RAM Policy是基于用户的授权策略。
- Bucke tPolicy:Bucket Policy是基于资源的授权策略。相比于RAM Policy,Bucket Policy操作简单,支持在控制台直接进行图形化配置。
1. ACL
1.1 bucket ACL
BucketACL是Bucket级别的权限访问控制。目前有三种访问权限:public-read-write(公共读写),public-read(公共读)和private(私有)
阿里云控制台配置即可
1.2 Object ACL
Object ACL是Object级别的权限访问控制。目前有四种访问权限:private、public-read、public-read-write、default。
PutObjec tACL操作通过Put请求中的x-oss-object-acl头来设置,这个操作只有BucketOwner有权限执行。
2. RAM Policy
RAM(ResourceAccessManagement)是阿里云提供的资源访问控制服务,RAMPolicy是基于用户的授权策略。使用RAM,您可以创建、管理RAM用户,并可以控制这些RAM用户对资源的操作权限。当您的企业存在多用户协同操作资源时,使用RAM可以让您避免与其他用户共享云账号密钥,按需为用户分配最小权限,管理更加方便,权限更加明确,信息更加安全。
Tips:
如果您选择使用RAMPolicy,建议您通过官方工具RAM策略编辑器快速生成所需的RAM Policy。RAM Policy操作比较复杂,强烈推荐您使用简单易用的图形化配置方式BucketPolicy。
3. BucketPolicy
BucketPolicy是基于资源的授权策略。相比于RAMPolicy,BucketPolicy支持在控制台直接进行图形化配置操作,并且Bucket拥有者直接可以进行访问授权。常见应用场景如下:
-
向其他账号的RAM用户授权访问。
您可以授予其他账号的RAM用户访问您的OSS资源的权限。
-
向匿名用户授予带特定IP条件限制的访问权限。
某些场景下,您需要向匿名用户授予带IP限制的访问策略。例如,企业内部的机密文档,只允许在企业内部访问,不允许在其他区域访问。由于企业内部人员较多,如果针对每个人配置RAM Policy,工作量非常大。此时,您可以基于BucketPolicy设置带IP限制的访问策略,从而高效方便地进行授权。
官方文档: https://help.aliyun.com/document_detail/85111.html#concept-ahc-tx4-j2b