Updated on 2022-02-10 GMT+08:00

PUT Bucket acl

API Description

You can use this API to set the ACL for a bucket.

Method Definition

ObsClient.setBucketAcl

Request Parameter

Field

Type

Optional or Mandatory

Description

Bucket

String

Mandatory

Bucket name

RequestDate

String

or

Date

Optional

Request time

NOTE:

When the parameter type is String, the value must comply with the ISO8601 or RFC822 standards.

ACL

String

Optional

Pre-defined access control policy

Owner

Object

Optional

Bucket owner

  

ID

String

Mandatory

ID of the domain to which the bucket owner belongs

Grants

Array

Optional

List of grantees' permission information

  

Grantee

Object

Mandatory

Grantee

  

Type

String

Mandatory

Grantee type

ID

String

Mandatory when Type is CanonicalUser. In other cases, leave it null.

ID of the domain to which the grantee belongs

URI

String

Mandatory when Type is Group. In other cases, leave it null.

Grantee group

Permission

String

Mandatory

Granted permission

Delivered

Boolean

Optional

Whether an object inherits the ACL of its residing bucket

  • Owner and Grants must be used together and they cannot be used with ACL.
  • You must set either the two fields or ACL.

Returned Result (InterfaceResult)

Field

Type

Description

RequestId

String

Request ID returned by the OBS server

Sample Code

obsClient.setBucketAcl ({
       Bucket : 'bucketname',
       Owner:{ID:'ownerid'},
       Grants:[
                  {Grantee:{Type:'CanonicalUser',ID:'userid'},Permission:obsClient.enums.PermissionRead},
                  {Grantee:{Type:'CanonicalUser',ID:'userid'},Permission:obsClient.enums.PermissionWrite},
                  {Grantee:{Type:'Group', URI: obsClient.enums.GroupLogDelivery},Permission: obsClient.enums.PermissionWrite},
                  {Grantee:{Type:'Group', URI: obsClient.enums.GroupLogDelivery},Permission: obsClient.enums.PermissionWriteAcp}
       ]
},function (err, result) {
       if(err){
              console.error('Error-->' + err);
       }else{
              if(result.CommonMsg.Status < 300){
                     console.log('RequestId-->' + result.InterfaceResult.RequestId);
              }else{
                     console.log('Code-->' + result.CommonMsg.Code);
                     console.log('Message-->' + result.CommonMsg.Message);
              }
       }
});