
# ACL
访问控制列表（Access Control List，ACL）用于资源拥有者给其他账号授予资源的访问权限。OBS ACL是基于账号级别的读写权限控制，且主要用于授予基本的读/写权限，权限控制细粒度不如桶策略和IAM权限。一般情况下，建议使用[IAM权限](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0003.html)和[桶策略](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0004.html)进行访问控制。
默认情况下，创建存储桶或对象时仅资源拥有者对资源的完全控制权限，即桶创建者对桶拥有完全控制权限，对象上传者对对象拥有完全控制权限，而其他账号默认无权访问资源。如果资源拥有者想授予其他账号资源的读写权限，可以使用ACL实现。OBS桶和对象的ACL是基于账号进行授权，授权后对账号和账号下的IAM用户都生效。
#### ACL应用场景
在以下场景，建议您使用ACL：
- 账号A上传对象a到账号B的桶，对象a拥有者是账号A，账号B默认没有对象a的读写权限，此时建议账号A将对象ACL设置为bucket-owner-full-control权限，此时账号B拥有对象a的完全控制权，便于账号B作为桶拥有者对对象进行统一管理。
- 需要对象级的访问权限控制时。桶策略可以授予对象或对象集访问权限，当授予一个对象集权限后，想对对象集中某一个对象再进行单独授权，通过配置桶策略的方法显然不太实际。此时建议使用对象ACL，使得单个对象的权限控制更加方便。
#### 桶ACL和对象ACL的关系
OBS支持为桶和对象分别配置ACL，桶ACL和对象ACL的关系如[表1]：
 表1桶ACL和对象ACL的关系 
| 比较维度                                                      | 桶ACL                                                                                                                                                                                                                                                                                                                                    | 对象ACL                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| 谁来授权                                                      | 桶拥有者 指创建桶的账号。桶拥有者默认拥有所有的桶访问权限，其中桶ACL的读取和写入这两种权限永远拥有，且不支持修改。不建议修改桶拥有者对桶的读取和写入权限。                                                                                                                                                                                                               | 对象拥有者 指上传对象的账号，而不是对象所属桶的拥有者。例如，账号A上传对象a到账号B的桶时，对象拥有者是账号A。 对象拥有者默认拥有其对象的所有访问权限，其中对象ACL的读取和写入这两种权限永远拥有且不支持修改。                                                                                                                                            |
| [可以授权给谁]      | - 其他账号  - 匿名用户  - 日志投递用户组                 | - 其他账号  - 匿名用户                                                                                                    |
| [可以授予什么权限] | - 桶访问权限  - 桶ACL访问权限  - 对象是否继承桶ACL   | - 对象访问权限  - 对象ACL访问权限  - 对象是否继承桶ACL   |
| 桶ACL和对象ACL的继承关系                                           | 对象ACL继承桶ACL时，授权的用户取桶ACL和对象ACL的全集： - 继承读（READ）：桶ACL和对象ACL的READ授权用户，都可以读对象。例如，桶ACL配置为匿名用户可读，对象ACL配置为账号A可读，最后作用结果为"匿名用户+账号A"可读，此时对象a实际为匿名用户可读。  - 继承读ACL属性（READ_ACP）：桶ACL和对象ACL的READ_ACP授权用户，都可以读对象的ACL属性。  - 继承写ACL属性（WRITE_ACP）：桶ACL和对象ACL的WRITE_ACP授权用户，都可以更新对象的ACL属性。                                                               ||
   
#### 可以授权给谁
OBS支持通过ACL对[表2]所示用户授予桶的访问权限。
 表2OBS支持的被授权用户类型 
| 被授权用户类型                                                                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|
| 其他账号                                                                                                     | ACL支持通过账号授予桶/对象的访问权限。授予账号权限后，账号下所有具有OBS资源权限的IAM用户都可以拥有此桶/对象的访问权限。 当需要为其他账号下不同IAM用户授予不同的权限时，可以通过桶策略配置。 说明： 跨账号场景，用户在拥有ACL权限的同时，还要拥有IAM权限，才能正常访问资源，详见[访问控制机制冲突时，如何工作？](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0001.html#ZH-CN_TOPIC_0242742467__section54731919133310) |
| 匿名用户                                                                                                     | 未注册华为云的普通访客。如果匿名用户被授予了访问桶/对象的权限，则表示所有人都可以访问对应的桶/对象，并且不需要经过任何身份认证。 注意： 开启匿名用户的桶/对象访问权限后，所有人都可以在不经过身份认证的情况下，对桶/对象进行访问，请谨慎操作。                                                                                                                                                                                                   |
| 日志投递用户组 说明： 仅桶ACL支持。 | 日志投递用户组用于投递OBS桶及对象的访问日志。由于OBS本身不能在账户的桶中创建或上传任何文件，因此在需要为桶记录访问日志时，只能由账户授予日志投递用户组一定权限后，OBS才能将访问日志写入指定的日志存储桶中。该用户组仅用于OBS内部的日志记录。 须知： 当日志记录开启后，目标存储桶的日志投递用户组会同步开启桶的写入权限和ACL读取权限。如果手动将日志投递用户组的桶写入权限和ACL读取权限关闭，桶的日志记录会失败。                                                                                                         |
   
 #### 可以授予什么权限
使用桶ACL功能可以配置[表4 桶访问权限]和[表5 桶ACL访问权限]：
 表3桶访问权限 
| 配置选项  | 描述                                                                              |
|:---|:---|
| 读取权限  | 允许被授权者获取桶内对象列表和桶元数据。                                                            |
| 写入权限  | 允许被授权者向桶中上传对象。 对于桶中现有对象，允许授权者删除和覆盖这些对象。 |
| 对象读权限 | 对象继承桶的访问权限，在桶配置读取权限时，对象继承配置，允许被授权者获取对象内容和元数据。                                   |
   
 表4桶ACL访问权限 
| 配置选项 | 描述              |
|:---|:---|
| 读取权限 | 允许被授权者读取桶ACL属性。 |
| 写入权限 | 允许被授权者更新桶ACL属性。 |
   
使用对象ACL功能可以配置[表6 对象访问权限]和[表7 对象ACL访问权限]：
 表5对象访问权限 
| 配置选项 | 描述                |
|:---|:---|
| 读取权限 | 允许被授权者获取对象内容和元数据。 |
   
 表6对象ACL访问权限 
| 配置选项 | 描述               |
|:---|:---|
| 读取权限 | 允许被授权者读取对象ACL属性。 |
| 写入权限 | 允许被授权者更新对象ACL属性。 |
   
#### 如何设置ACL
您可以使用系统预定义的ACL设置桶和对象ACL，也可以自定义ACL。
- [使用预定义ACL]
  OBS提供6种预定义ACL，如[表 OBS预定义ACL]所示，预定义ACL的被授权用户是所有用户，即没有针对指定账号进行ACL配置，配置成功后，所有用户均生效。
  ![](https://support.huaweicloud.com/perms-cfg-obs/public_sys-resources/caution_3.0-zh-cn.png)
  请充分评估业务需求后，谨慎将ACL设置为公开（包括public-read、public-read-write、public-read-delivered、public-read-write-delivered）。将**桶** 设置为公开后，匿名用户无需进行身份和权限验证即可获取桶信息和**桶内对象列表** 。如需给其他账号授权，建议使用[桶策略](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0004.html)。
   表7OBS预定义ACL 
  | **预定义ACL**                  | **描述**                                                                                                                                                                                                                                                                                                         |
  |:---|:---|
  | private                     | 私有。 桶或对象的所有者拥有完全控制的权限，其他任何人都没有访问权限。 系统默认配置为private。                                                                                                                                                                           |
  | public-read                 | 公共读。 设在桶上，所有人（包括匿名用户和所有账号的所有IAM用户）可以获取该桶内对象列表、桶内多段任务、桶的元数据。 设在对象上，所有人可以获取该对象内容和元数据。                                                                                                                                             |
  | public-read-write           | 公共读写。 设在桶上，所有人可以获取该桶内对象列表、桶内多段任务、桶的元数据、上传对象、删除对象、初始化段任务、上传段、合并段、拷贝段、取消多段上传任务。 设在对象上，所有人可以获取该对象内容和元数据，等同于public-read。                                                                                                       |
  | public-read-delivered       | 设在桶上，所有人可以获取该桶内对象列表、桶内多段任务、桶的元数据，相较于public-read额外可以获取该桶内对象的内容和元数据。 不能应用在对象上。                                                                                                                                                                                           |
  | public-read-write-delivered | 设在桶上，所有人可以获取该桶内对象列表、桶内多段任务、桶的元数据、上传对象、删除对象、初始化段任务、上传段、合并段、拷贝段、取消多段上传任务，相较于public-read-write额外可以获取该桶内对象的内容和元数据。 不能应用在对象上。                                                                                                                                            |
  | bucket-owner-full-control   | 设在对象上，桶的所有者和对象的所有者均拥有对象的完全控制权限，其他任何人都没有访问权限。 默认情况下，上传对象至其他用户的桶中，桶拥有者没有对象的控制权限。对象拥有者为桶拥有者添加bucket-owner-full-control后，桶所有者可以完全控制对象。 例如，用户A上传对象a至用户B的桶中，系统默认用户B没有对象a的控制权。当用户A为对象a设置bucket-owner-full-control后，用户B就拥有了对象a的完全控制权。 |
     
  **使用控制台配置预定义ACL**
  控制台支持配置的预定义ACL
  - 针对桶，控制台提供5种预定义ACL：
    1. 在OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)左侧导航栏选择"桶列表"。
    
    2. 在桶列表中，单击待操作的桶，进入"对象"页面。
    
    3. 在左侧导航栏，单击"权限控制 \> 桶ACL"，进入桶ACL配置页面： ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000002552998216.png)
       **公共权限中的"私有"对应预定义的"private"，"公共读"对应预定义的"public-read"，"公共读写"对应预定义的"public-read-write"。** 此时选项作用在桶上，如需将桶内对象设置为公开，请执行[4]。
       
    
    4. 单击用户权限区域下匿名用户所在行的"编辑"，在弹窗中配置ACL时：
       ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000002583598253.png)
       - 勾选"桶访问权限\>读取权限"时，勾选"对象访问权限\>对象读权限"对应预定义的"public-read-delivered"。
       
       - 勾选"桶访问权限\>读取权限"、"桶访问权限\>写入权限"时，勾选"对象访问权限\>对象读权限"对应预定义的"public-read-write-delivered"。
        
     
  
  - 针对对象，控制台提供2种预定义ACL
    1. 在OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)左侧导航栏选择"桶列表"。
    
    2. 在桶列表中，单击待操作的桶，进入"对象"页面。
    
    3. 单击待操作的对象名称，进入对象详情页。
    
    4. 选择"对象ACL"页签，进入对象ACL配置页面。 ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000002552838584.png)
       **公共权限中的"私有"对应预定义的"private"，"公共读"对应预定义的"public-read"**。
       
     
   
  **使用API配置预定义ACL**
  使用**x-obs-acl** 头域，可以在创建桶或上传对象时通过头域设置桶或对象的ACL（使用示例见[创桶请求示例](https://support.huaweicloud.com/api-obs/obs_04_0021.html#section12)，[对象上传请求示例](https://support.huaweicloud.com/api-obs/obs_04_0080.html#section13)），也可以在[创桶后配置桶ACL](https://support.huaweicloud.com/api-obs/obs_04_0030.html)、在上传对象后[配置对象ACL](https://support.huaweicloud.com/api-obs/obs_04_0089.html)。
  **使用SDK配置预定义ACL**
  
  |    创建桶设置ACL    | [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0401.html) | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0801.html) | [C](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0301.html) | [Go](https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0402.html) |                                   BrowserJS不支持创建桶                                    | [.NET](https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0301.html) | [Android](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0301.html) | [iOS](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0301.html) | [PHP](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0301.html) | [Node.js](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0301.html) |
  |---|---|---|---|---|---|---|---|---|---|---|
  | ****设置桶ACL**** | [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0406.html) | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0814.html) | [C](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0305.html) | [Go](https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0416.html) | [BrowserJS](https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_0404.html) | [.NET](https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0306.html) | [Android](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0306.html) | [iOS](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0305.html) | [PHP](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0306.html) | [Node.js](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0306.html) |
  | **上传对象设置ACL**  | [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0600.html) | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0501.html) | [C](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0400.html) | [Go](https://support.huaweicloud.com/sdk-go-devg-obs/obs_23_0401.html) | [BrowserJS](https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_0501.html) | [.NET](https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0401.html) | [Android](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0401.html) | [iOS](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0401.html) | [PHP](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0401.html) | [Node.js](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0401.html) |
  | **设置对象ACL**    | [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0802.html) | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0922.html) | [C](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0314.html) | [Go](https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0509.html) | [BrowserJS](https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_0702.html) | [.NET](https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0602.html) | [Android](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0602.html) | [iOS](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0602.html) | [PHP](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0602.html) | [Node.js](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0604.html) |
     
  **使用OBS Browser+配置预定义ACL**
  - [创建桶时设置ACL](https://support.huaweicloud.com/browsertg-obs/obs_03_1041.html)
  
  - [上传对象时设置ACL](https://support.huaweicloud.com/browsertg-obs/obs_03_1061.html)
  
  
  **使用obsutil配置预定义ACL**
  - [创建桶时设置ACL](https://support.huaweicloud.com/utiltg-obs/obs_11_0008.html)
  
  - [设置桶ACL](https://support.huaweicloud.com/utiltg-obs/obs_11_0040.html)
  
  - [上传对象时设置ACL](https://support.huaweicloud.com/utiltg-obs/obs_11_0013.html)
  
  - [设置对象ACL](https://support.huaweicloud.com/utiltg-obs/obs_11_0041.html)
   
- [使用自定义ACL]
  您可以自定义ACL，为指定账号或匿名用户授权，[表7]是桶/对象支持的ACL配置项：
   表8桶/对象支持的ACL配置项 
  | 配置选项         | 作用在桶上                                                                            | 作用在对象上                              | **对应API头域**              |
  |:---|:---|:---|:---|
  | READ         | 允许被授权者获取桶内对象列表和桶元数据。                                                             | 允许被授权者获取对象内容和元数据。                   | x-obs-grant-read         |
  | WRITE        | 允许被授权者向桶中上传对象。 对于桶中现有对象，允许授权者删除和覆盖这些对象。 | 不支持                                 | x-obs-grant-write        |
  | READ_ACP     | 允许被授权者读取桶ACL属性。                                                                  | 允许被授权者读取对象ACL属性。                    | x-obs-grant-read-acp     |
  | WRITE_ACP    | 允许被授权者更新桶ACL属性。                                                                  | 允许被授权者更新对象ACL属性。                    | x-obs-grant-write-acp    |
  | FULL_CONTROL | 允许被授予者拥有READ、WRITE、READ_ACP和WRITE_ACP权限。                                         | 允许被授予者对象的READ、READ_ACP和WRITE_ACP权限。 | x-obs-grant-full-control |
     
  OBS支持自定义配置对象ACL继承桶ACL，使用x-obs-grant-read-delivered头域配置桶ACL，允许被授权者获取桶内对象列表和桶元数据，且对象继承桶ACL的READ。使用x-obs-grant-full-control-delivered头域配置桶ACL，允许被授予者拥有READ、WRITE、READ_ACP和WRITE_ACP权限，且对象继承桶ACL的READ、READ_ACP和WRITE_ACP。
  
  **使用控制台配置自定义ACL**
  控制台支持配置的自定义ACL
  - 控制台配置桶ACL：
    1. 在OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)左侧导航栏选择"桶列表"。
    
    2. 在桶列表中，单击待操作的桶，进入"对象"页面。
    
    3. 在左侧导航栏，单击"权限控制 \> 桶ACL"，进入桶ACL配置页面。
    
    4. 单击用户权限区域下的"增加"，在弹窗中配置ACL时： ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000002583518241.png)
       - 桶访问权限中的"读取权限"和"写入权限"分别对应的是"READ"和"WRITE"。
       
       - 对象权限中的"对象读权限"表示对象继承桶的READ权限。
       
       - ACL访问权限中的"读取权限"和"写入权限"分别对应的是"READ_ACP"和"WRITE_ACP"。
        
     
  
  - 控制台配置对象ACL：
    1. 在OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)左侧导航栏选择"桶列表"。
    
    2. 在桶列表中，单击待操作的桶，进入"对象"页面。
    
    3. 单击待操作的对象名称，进入对象详情页。
    
    4. 选择"对象ACL"页签，进入对象ACL配置页面。
    
    5. 单击用户权限区域下的"增加"，在弹窗中配置ACL： ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000002552998218.png)
       - 对象访问权限中的"读取权限"对应的是"READ"。
       
       - ACL访问权限中的"读取权限"和"写入权限"分别对应的是"READ_ACP"和"WRITE_ACP"。
        
     
  
  
  **使用API配置自定义ACL**
  - 创建桶或上传对象时，使用如[表8]头域，可以设置桶或对象的ACL。
  
  - 创建桶或上传对象完成后，可以在[创桶后配置桶ACL](https://support.huaweicloud.com/api-obs/obs_04_0030.html)、在上传对象后[配置对象ACL](https://support.huaweicloud.com/api-obs/obs_04_0089.html)。
  
  
  **使用SDK配置自定义ACL**
  
  |    创建桶设置ACL    | [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0401.html) | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0801.html) | [C](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0301.html) | [Go](https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0402.html) |                                   BrowserJS不支持创建桶                                    | [.NET](https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0301.html) | [Android](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0301.html) | [iOS](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0301.html) | [PHP](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0301.html) | [Node.js](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0301.html) |
  |---|---|---|---|---|---|---|---|---|---|---|
  | ****设置桶ACL**** | [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0406.html) | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0814.html) | [C](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0305.html) | [Go](https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0416.html) | [BrowserJS](https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_0404.html) | [.NET](https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0306.html) | [Android](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0306.html) | [iOS](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0305.html) | [PHP](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0306.html) | [Node.js](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0306.html) |
  | **上传对象设置ACL**  | [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0600.html) | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0501.html) | [C](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0400.html) | [Go](https://support.huaweicloud.com/sdk-go-devg-obs/obs_23_0401.html) | [BrowserJS](https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_0501.html) | [.NET](https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0401.html) | [Android](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0401.html) | [iOS](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0401.html) | [PHP](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0401.html) | [Node.js](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0401.html) |
  | **设置对象ACL**    | [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0802.html) | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0922.html) | [C](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0315.html) | [Go](https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0509.html) | [BrowserJS](https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_0702.html) | [.NET](https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0602.html) | [Android](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0602.html) | [iOS](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0602.html) | [PHP](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0602.html) | [Node.js](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0604.html) |
     
  **使用OBS Browser+配置自定义ACL**
  [设置桶ACL](https://support.huaweicloud.com/browsertg-obs/obs_03_1049.html)
  设置对象ACL
  - 单击对象所在行右侧的![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000002301716021.png)，选择"对象ACL"，在弹窗中配置对象ACL
    ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000002301718365.png)
    
   
  **使用obsutil配置自定义ACL**
  - [设置桶ACL](https://support.huaweicloud.com/utiltg-obs/obs_11_0040.html)
  
  - [设置对象ACL](https://support.huaweicloud.com/utiltg-obs/obs_11_0041.html)
   
