# OSS权限控制


<!--more-->


权限控制方式:

- 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




























