doc-exports/docs/obs/s3api/en-us_topic_0125560468.html
Jawei, Li 1a4c1a720a OBS s3api 2.0.38.SP5
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-authored-by: Jawei, Li <lijiawei5@huawei.com>
Co-committed-by: Jawei, Li <lijiawei5@huawei.com>
2022-11-16 14:51:13 +00:00

15 KiB

PUT Bucket acl

OBS allows you to control access permission for buckets. By default, only the creator of a bucket has READ and WRITE permission for the bucket. The creator can also set other access permission. For example, the creator can set a public-read access policy to grant READ permission to other users.

You can set an access control policy when creating a bucket, and modify or obtain the bucket access control list (ACL) using the PUT Bucket acl and GET Bucket acl operations.

Request Syntax

PUT /?acl HTTP/1.1 
 User-Agent: agent
 Host: bucketname.obs.example.com 
 Date: date 
 Authorization: authorization  
 Content-Length: length 

 <AccessControlPolicy> 
 <Owner> 
 <ID>ID</ID>
 <DisplayName>displayname</DisplayName> 
 </Owner>
 <AccessControlList>
 <Grant>
 <Grantee>grantee</Grantee> 
 <Permission>permission</Permission> 
 </Grant>
 </AccessControlList>
 </AccessControlPolicy> 

Request Parameters

This request involves no parameters.

Request Headers

You can set the ACL of a bucket to a predefined ACL, also called a canned ACL. Each canned ACL has a predefined set of grantees and permission.

Optional header x-amz-acl is used in this request to specify canned ACLs. Table 1 describes the optional header.

Table 1 Optional header for specifying canned ACLs

Header

Description

Remarks

x-amz-acl

Indicates the canned ACL applied to a bucket.

Type: String

Valid values: private| public-read| public-read-write|authenticated-read|bucket-owner-read|bucket-owner-full-control|log-delivery-write

Optional

x-amz-security-token

Header field used to identify the request of a federated user. When the federal authentication function is enabled, users sending such requests are identified as federated users.

Type: string

Optional. This parameter must be carried in the request sent by federated users.

Request Elements

This request uses elements to specify an ACL. Table 2 describes the elements.

Table 2 Request elements

Element

Description

Remarks

Owner

Indicates the bucket owner. This element consists of ID and DisplayName.

Type: XML

Optional

ID

Indicates the DomainId of a grantee.

Type: String

Optional

DisplayName

Indicates the name of the grantee.

Type: String

Optional

Grant

Container for the grantee and its permission.

Type: XML

Optional

Grantee

Container for the details about the grantee. For details, see Table 1.

Type: XML

Optional

Permission

Indicates the permission to be granted. For details, see Table 2.

Type: Enumeration

Optional

AccessControlList

Indicates the ACL. This element consists of Grant, Grantee, and Permission.

Type: XML

Optional

Response Syntax

HTTP/1.1 status_code 
 Server: Server Name 
 x-amz-request-id: request id 
 x-reserved: amazon, aws and amazon web services are trademarks or registered trademarks of Amazon Technologies, Inc 
 x-amz-id-2: id 
 Date: date 
 Content-Length: length 

Response Headers

This response uses common headers. For details about common response headers, see section Common Response Headers.

Response Elements

This response involves no elements.

Error Responses

No special error responses are returned. For details about error responses, see Table 1.

Sample Request for Setting the Bucket ACL

PUT /?acl HTTP/1.1 
 User-Agent: Jakarta Commons-HttpClient/3.1 
 Host: bucketname.obs.example.com 
 Accept-Encoding: gzip,deflate 
 Date: Mon, 27 Sep 2010 01:37:17 GMT 
 Authorization: AWS 04RZT432N80TGDF2Y2G2:9uNLINAQ7IOIrD9OnCpDfY2R6nU= 
 Content-Length: 598 

 <AccessControlPolicy> 
 <Owner> 
 <ID>bcaf1ffd86f41caff1a493dc2ad8c2c2</ID> 
 <DisplayName>user</DisplayName> 
 </Owner> 
 <AccessControlList> 
 <Grant> 
 <Grantee xsi:type="CanonicalUser" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
 <ID>bcaf1ffd86f41caff1a493dc2ad8c2c2</ID> 
 <DisplayName>user</DisplayName> 
 </Grantee> 
 <Permission>READ</Permission> 
 </Grant> 
 </AccessControlList> 
 </AccessControlPolicy>    

Sample Response for Setting the Bucket ACL

HTTP/1.1 200 OK 
 Server: OBS 
 x-amz-request-id: 7B6DFC9BC71DD58B061285551605709 
 x-reserved: amazon, aws and amazon web services are trademarks or registered trademarks of Amazon Technologies, Inc 
 x-amz-id-2: N0I2REZDOUJDNzFERDU4QjA2MTI4NTU1MTYwNTcwOUFBQUFBQUFBYmJiYmJiYmJD 
 Date: Mon, 27 Sep 2010 01:40:03 GMT 
 Content-Length: 0

Sample Request for Setting the Bucket ACL Using Headers

PUT /?acl HTTP/1.1 
User-Agent: curl/7.19.0
Host: bucketname.obs.example.com
Accept: */* 
Date: Mon, 27 Sep 2010 01:37:17 GMT 
Authorization: AWS 04RZT432N80TGDF2Y2G2:9uNLINAQ7IOIrD9OnCpDfY2R6nU=
x-amz-acl: private 

Sample Response for Setting the Bucket ACL Using Headers

HTTP/1.1 200 OK 
 Server: OBS 
 x-amz-request-id: 7B6DFC9BC71DD58B061285551605709 
 x-reserved: amazon, aws and amazon web services are trademarks or registered trademarks of Amazon Technologies, Inc
 x-amz-id-2: N0I2REZDOUJDNzFERDU4QjA2MTI4NTU1MTYwNTcwOUFBQUFBQUFBYmJiYmJiYmJD 
 Content-Type: application/xml
 Date: Mon, 27 Sep 2010 01:40:03 GMT 
 Content-Length: 526