最近更新时间:2024-12-25 10:49:57
此 PUT 操作使用 acl
资源通过访问权限列表为已经存在的存储空间设定访问权限。
使用此接口,必须是Bucket的所有者或具有ks3:PutBucketACL权限。
Bucket的权限含义详见 ACL。
可以使用下面两种方式来设置对象的权限,注意不能同时使用。
* 在请求体中指定 ACL
。
* 使用请求头部来设置访问权限。
当同时在header中和Body中设置了ACL,最后只有header中的会生效。当同时在header中设置了x-kss-acl和x-kss-grant-*时,后者生效。
使用x-kss-acl在header中设置预设的ACL就可以满足大部分客户的绝大多数需求。一般需要设置bucket的x-kss-acl为private。
通过请求头设置ACL
PUT /?acl HTTP/1.1
Host: {BucketName}.{endpoint}
Date: {date}
x-kss-acl: {AclType}
Authorization: {SignatureValue}
通过请求体设置ACL
PUT /?acl HTTP/1.1
Host: {BucketName}.{endpoint}
Date: {date}
Authorization: {SignatureValue}
<AccessControlPolicy>
<Owner>
<ID>{Base64EncodeUserID}</ID>
<DisplayName>{Base64EncodeUserName}</DisplayName>
</Owner>
<AccessControlList>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
<ID>{Base64EncodeUserID}</ID>
<DisplayName>{Base64EncodeUserName}</DisplayName>
</Grantee>
<Permission>{Permission}</Permission>
</Grant>
...
</AccessControlList>
</AccessControlPolicy>
注意:
该接口不使用请求参数。
该接口可以使用所有常用请求头部。获取更多信息,请点击常用请求头部。
用户可以通过以下的header为Bucket设置预设的ACL
名称 | 描述 | 必须 |
---|---|---|
x-kss-acl | 指定Bucket的访问权限ACL。 | 否 |
如果用户期望为Bucket设置详细的ACL,可以通过以下header设置
名称 | 描述 | 必须 |
---|---|---|
x-kss-grant-read | 为若干用户授予READ权限。 | 否 |
x-kss-grant-write | 为若干用户授予WRITE权限。 | 否 |
x-kss-grant-full-control | 为若干用户授予FULL_CONTROL权限。 | 否 |
以上header值的值为以一个逗号","分割的授权列表。每个授权信息的格式为type=value,当前type支持id:
id:被授权者的用户id
例如,要给id为1234578和3344211的两个用户授予WRITE权限:
x-kss-grant-write:id=“1234578”,id=“3344211”
如果用户决定使用请求体来指定访问权限列表,需要使用下表元素。
注意 如果你使用请求体设置ACL,你不能再通过请求头部设置ACL
名称 | 描述 |
---|---|
AccessControlList | 包含 |
AccessControlPolicy | 包含了Bucket的所有权限控制信息。 |
Grant | 包含被授权者和其权限信息。 |
Grantee | 被授权者,参考 |
DisplayName | Bucket拥有者或被授权者名称的Base64编码。 |
ID | Bucket拥有者或被授权者用户ID的Base64编码。 |
Owner | 包含bucket拥有者信息( |
Permission | 指明授予被授权者的权限信息( |
该接口可以使用所有常用响应头部。获取更多信息,请点击常用响应头部。
该接口不返回响应内容。
该接口不返回任何特殊错误。
PUT /?acl HTTP/1.1
Host: ks3-example.ks3-cn-beijing.ksyuncs.com
Content-Length: 0
Date: Fri, 26 Dec 2014 06:34:32 GMT
x-kss-acl: public-read
Authorization: authorization string
HTTP/1.1 200 OK
Date: Fri, 26 Dec 2014 06:34:32 GMT
Connection: keep-alive
x-kss-request-id: f9lqet80gq3obs6l4p8qvnorlnkrunhk
Content-Length: 0
Server: KS3
PUT /?acl HTTP/1.1
Host: ks3-example.ks3-cn-beijing.ksyuncs.com
Content-Length: 1660
Date: Fri, 26 Dec 2014 06:34:32 GMT
Authorization: authorization string
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Owner>
<ID>NzM0MTAxMjU=</ID>
<DisplayName>a3MzQGtpbmdzb2Z0LmNvbQ==</DisplayName>
</Owner>
<AccessControlList>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
<ID>NzM0MTAxMjU=</ID>
<DisplayName>a3MzQGtpbmdzb2Z0LmNvbQ==</DisplayName>
</Grantee>
<Permission>FULL_CONTROL</Permission>
</Grant>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
<ID>NzM0MTAxMjU=</ID>
<DisplayName>a3MzQGtpbmdzb2Z0LmNvbQ==</DisplayName>
</Grantee>
<Permission>READ</Permission>
</Grant>
</AccessControlList>
</AccessControlPolicy>
HTTP/1.1 200 OK
Date: Fri, 26 Dec 2014 06:34:32 GMT
Connection: keep-alive
x-kss-request-id: dbea4ce4ec23415b9e454ecfa25ec4d9
Content-Length: 0
Server: KS3
纯净模式