shy*_*ent 9 python amazon-s3 boto amazon-web-services
我想创建一个所谓的"预签名"URL,用于将特定对象(PUT)上传到Amazon S3存储桶.
到现在为止还挺好.我正在使用python库boto创建一个URL,其中包含所有必需的东西(过期,签名等).URL如下所示:
https://<bucketname>.s3.amazonaws.com/<key>?Signature=<sig>&Expires=<expires>&AWSAccessKeyId=<my key id>&x-amz-acl=public-read
注意最后一个参数.
至少,正如我所理解的那样,这限制了使用此URL将对象上载到特定存储桶中的特定键的人,并且还将将在对象上设置的固定ACL限制为"公共读取".
我的最后一句话是非常不正确的.
事实证明,如果您使用此URL,则可以使用x-amz-acl 标头执行以下操作(与具有相同名称的查询字符串参数相反,您必须为签名检查设置成功):
所以看来,那样
x-amz-acl=public-read在查询字符串中指定,则可以将x-amz-acl标头设置为authenticated-read而不是公共可读对象获取对象,该对象只能由经过身份验证的用户读取.x-amz-acl QS参数与标题之间的真实关系是什么?有没有办法限制对象的权限,即通过PUT请求上传到所谓的"预签名"URL?
| 归档时间: |
|
| 查看次数: |
4550 次 |
| 最近记录: |