华为云对象存储OBS设置对象ACL_云淘科技

功能介绍

OBS支持对对象的操作进行权限控制。默认情况下,只有对象的创建者才有该对象的读写权限。用户也可以设置其他的访问策略,比如对一个对象可以设置公共访问策略,允许所有人对其都有读权限。SSE-KMS方式加密的对象即使设置了ACL,跨租户也不生效。

OBS用户在上传对象时可以设置权限控制策略,也可以通过ACL操作API接口对已存在的对象更改或者获取ACL(access control list) 。一个对象的ACL最多支持100条Grant授权。

本节将介绍如何更改对象ACL,改变对象的访问权限。

多版本

默认情况下,更改的是最新版本的对象ACL。要设置指定版本的对象ACL,请求可以带参数versionId。

请求消息格式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
PUT /ObjectName?acl HTTP/1.1 
Host: bucketname.obs.cn-north-4.myhuaweicloud.com 
Date: date
Authorization: authorization

 
     
        ID 
     
    true
     
         
            
               ID
             
            permission 
         
     

请求消息参数

请求参数说明如表1所示。

表1 请求消息参数

参数名称

描述

是否必选

versionId

对象的版本号。标示更改指定版本的对象ACL。

类型:String

请求消息头

该请求使用公共请求消息头,具体参见表3。

请求消息元素

该请求消息通过带消息元素来传递对象的ACL信息,元素的意义如表2所示。

表2 请求消息元素

元素名称

描述

是否必选

Owner

桶的所有者信息,包含ID。

类型:XML

ID

用户DomainId。

类型:String

Grant

用于标记用户及用户的权限。单个对象的ACL,Grant元素不能超过100个。

类型:XML

Grantee

记录用户信息。

类型:XML

Canned

向所有人授予权限。

取值范围:Everyone。

类型:String

Delivered

对象ACL是否继承桶的ACL。

类型:Boolean

默认:true。

Permission

授予权限。

取值范围:READ | READ_ACP | WRITE_ACP | FULL_CONTROL

类型:String

AccessControlList

访问控制列表,包含Grant、 Grantee、Permission三个元素。

类型:XML

响应消息样式

1
2
3
HTTP/1.1 status_code
Content-Length: length
Content-Type: application/xml

响应消息头

该请求的响应消息使用公共消息头,具体请参考表1。

除公共响应消息头之外,还可能使用如表3中的消息头。

表3 附加响应消息头

消息头名称

描述

x-obs-version-id

被更改ACL的对象的版本号。

类型:String

响应消息元素

该请求的响应消息中不带有消息元素。

错误响应消息

该请求的响应无特殊错误,所有错误已经包含在表2中。

请求示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
PUT /obj2?acl HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.cn-north-4.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 04:42:34 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:8xAODun1ofjkwHm8YhtN0QEcy9M=
Content-Length: 727

 xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/">
   
    b4bf1b36d9ca43d984fbcb9491b6fce9 
    
  false
   
     
       
        b4bf1b36d9ca43d984fbcb9491b6fce9 
        
      FULL_CONTROL 
      
     
       
        783fc6652cf246c096ea836694f71855 
        
      READ
      
     
       
        Everyone 
        
      READ 
     
   

响应示例

1
2
3
4
5
6
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: 8DF400000163D3F0FD2A03D2D30B0542
x-obs-id-2: 32AAAUgAIAABAAAQAAEAABAAAQAAEAABCTjCqTmsA1XRpIrmrJdvcEWvZyjbztdd
Date: WED, 01 Jul 2015 04:42:34 GMT
Content-Length: 0

请求示例:已启用版本控制

PUT /object01?acl&versionId=G001118A6803675AFFFFD3043F7F91D0 HTTP/1.1
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iqSPeUBl66PwXDApxjRKk6hlcN4=
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Date: WED, 01 Jul 2015 02:37:22 GMT
Content-Type: application/xml
 

    
        d029cb567d46458sp0x75800575ee4cf
    
    false
    
        
            
                f98sx63gg849422e8f330af1349c588f
            
            FULL_CONTROL
        
        
            
                fa558a82a84946sn98u30af195as3hi5
            
            READ
        
        
            
                Everyone
            
            READ
        
    

响应示例:已启用版本控制

x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSmpL2dv6zZLM2HmUrXKTAi258MPqmrp
x-obs-request-id: 0000018A2A73AF59D3085C8F8ABF0C65
Server: OBS
Content-Length: 0
Date: WED, 01 Jul 2015 02:37:22 GMT
x-obs-version-id: G001118A6803675AFFFFD3043F7F91D0

父主题: 对象操作

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家