1.28.25 put-object-acl

优质
小牛编辑
131浏览
2023-12-01

Add/Delete object acl related api supported by FDS

Version: 1.0.0

/{bucketname}/{objectname}

PUT

Summary:

修改Object的ACL

Description:

只有Object的拥有者或拥有Bucket FULL_CONTROL权限,才能执行这个操作

Parameters
NameLocated inDescriptionRequiredSchema
bucketnamepathBucket名字Yesstring
objectnamepathObject名字Yesstring
authorizationheader认证信息,计算方式参考签名认证相关文档Yesstring
Dateheader请求时间Yesstring
aclquery表示该请求是为Bucket的ACL操作,值为空Yesstring
actionquery执行的操作,如果是delete,表示删除ACL,缺省为添加ACLNostring
bodybody需要修改的ACL 信息YesAccessControlPolicy
Responses
CodeDescription
200请求成功

Models

AccessControlPolicy

NameTypeDescriptionRequired
ownerOwnerBeanNo
accessControlList[ GrantBean ]No

GrantBean

NameTypeDescriptionRequired
granteeGranteeBeanNo
permissionstring权限描述,包括READ, FULL_CONTROLNo
typestring授权对象类型,包括USER, GROUPNo

GranteeBean

NameTypeDescriptionRequired
idstring用户IDNo

OwnerBean

NameTypeDescriptionRequired
idstring所有者IDNo
displayNamestring所有者名称No### 命令行示例
# 为id是10xx08的用户添加读取fds-demo下tests/test.txt的权限
curl -v -X 'PUT' 'http://cnbj0.fds.api.xiaomi.com/fds-demo/tests/test.txt?acl' \
> -H 'content-type: application/json; charset=UTF-8' \
> -H 'authorization: Galaxy-V2 54x045:2ExxxrQ=' \
> -H 'date: Mon, 27 Feb 2017 10:15:02 GMT' \
> -d '{"owner":{"id":"541xxxx45"},"accessControlList":[{"grantee":{"id":"10xx8"},"permission":"READ","type":"USER"}]}'
* Hostname was NOT found in DNS cache
*   Trying 111.206.200.99...
* Connected to cnbj0.fds.api.xiaomi.com (111.206.200.99) port 80 (#0)
> PUT /fds-demo/tests/test.txt?acl HTTP/1.1
> User-Agent: curl/7.35.0
> Host: cnbj0.fds.api.xiaomi.com
> Accept: */*
> content-type: application/json; charset=UTF-8
> authorization: Galaxy-V2 54x045:2ExxxrQ=
> date: Mon, 27 Feb 2017 10:15:02 GMT
> Content-Length: 116
> 
* upload completely sent off: 116 out of 116 bytes
< HTTP/1.1 200 OK
* Server Tengine is not blacklisted
< Server: Tengine
< Date: Mon, 27 Feb 2017 10:15:57 GMT
< Content-Length: 0
< Connection: keep-alive
< Access-Control-Allow-Credentials: true
< Access-Control-Max-Age: 1728000
< Access-Control-Allow-Methods: GET, POST, PUT, HEAD, DELETE, OPTIONS
< Access-Control-Allow-Headers: DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,Content-MD5
< Access-Control-Expose-Headers: content-md5, upload-time, x-xiaomi-meta-content-length
< 
* Connection #0 to host cnbj0.fds.api.xiaomi.com left intact