1001
iPhone_iPad_Mac_手机_平板_苹果apple
PutObjectACL__关于Object操作_API 参考_对象存储 OSS-阿里云
Put Object ACL接口用于修改Object的访问权限。目前Object有三种访问权限:private, public-read, public-read-write。Put Object ACL操作通过Put请求中的“x-oss-object-acl”头来设置,这个操作只有Bucket Owner有权限执行。如果操作成功,则返回200;否则返回相应的错误码和提示信息。
请求语法:
PUT /ObjectName?acl HTTP/1.1
x-oss-object-acl: Permission
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Object ACL释义
名称 | 描述 |
---|---|
private | 该ACL表明某个Object是私有资源,即只有该Object的Owner拥有该Object的读写权限,其他的用户没有权限操作该Object |
public-read | 该ACL表明某个Object是公共读资源,即非Object Owner只有该Object的读权限,而Object Owner拥有该Object的读写权限 |
public-read-write | 该ACL表明某个Object是公共读写资源,即所有用户拥有对该Object的读写权限 |
default | 该ACL表明某个Object是遵循Bucket读写权限的资源,即Bucket是什么权限,Object就是什么权限 |
细节分析:
- Object的读操作包括:GetObject,HeadObject,CopyObject和UploadPartCopy中的对source object的读;Object的写操作包括:PutObject,PostObject,AppendObject,DeleteObject,DeleteMultipleObjects,CompleteMultipartUpload以及CopyObject对新的Object的写。
- x-oss-object-acl中权限的值必须在上述3种权限中。如果有不属于上述3种的权限,OSS返回400 Bad Request消息,错误码:InvalidArgument。
- 用户不仅可以通过PutObjectACL接口来设置Object ACL,还可以在Object的写操作时,在请求头中带上x-oss-object-acl来设置Object ACL,效果与PutObjectA ACL等同。例如PutObject时在请求头中带上x-oss-object-acl可以在上传一个Object的同时设置某个Object的ACL。
- 对某个Object没有读权限的用户读取某个Object时,OSS返回 403 Forbidden消息,错误码:AccessDenied,提示:You do not have read permission on this object.
- 对某个Object没有写权限的用户写某个Object时,OSS返回 403 Forbidden消息,错误码:AccessDenied,提示:You do not have write permission on this object.
- 只有Bucket Owner采用权限调用PutObjectACL来修改该Bucket下某个Object的ACL。非Bucket Owner调用PutObjectACL时,OSS返回 403 Forbidden消息,错误码:AccessDenied,提示:You do not have write acl permission on this object.
- Object ACL优先级高于Bucket ACL。例如Bucket ACL是private的,而Object ACL是public-read-write的,则访问这个Object时,先判断Object的ACL,所以所有用户都拥有这个Object的访问权限,即使这个Bucket是private bucket。如果某个Object从来没设置过ACL,则访问权限遵循Bucket ACL。
示例
请求示例:
PUT /test-object?acl HTTP/1.1
x-oss-object-acl: public-read
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Wed, 29 Apr 2015 05:21:12 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:KU5h8YMUC78M30dXqf3JxrTZHiA=
返回示例:
HTTP/1.1 200 OK
x-oss-request-id: 559CC9BDC755F95A64485981
Date: Wed, 29 Apr 2015 05:21:12 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS
最后更新:2016-11-23 17:16:08
上一篇:
GetObjectMeta__关于Object操作_API 参考_对象存储 OSS-阿里云
下一篇:
GetObjectACL__关于Object操作_API 参考_对象存储 OSS-阿里云
查询实例规格族列表__其他接口_API 参考_云服务器 ECS-阿里云
快速开始-浏览器__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云
删除类目__媒体类目接口_API使用手册_视频点播-阿里云
查询推流历史__直播流操作接口_API 手册_CDN-阿里云
修改NAT网关属性__NAT网关相关接口_API参考_专有网络 VPC-阿里云
导入本地镜像__镜像_用户指南_云服务器 ECS-阿里云
快照 2.0 产品规格升级__快照_产品简介_云服务器 ECS-阿里云
DescribeLoadBalancerAttribute__LoadBalancer相关API_API 参考_负载均衡-阿里云
报错信息汇总__常见问题_短信服务-阿里云
通知报警__监控报警_用户指南_企业级分布式应用服务 EDAS-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云