如何在大桶中授予亚马逊s3对象的打开/下载权限?

时间:2014-07-17 00:52:58

标签: amazon-web-services amazon-s3

我有一个拥有成千上万个物品的亚马逊水桶。我刚刚使用他们的AWS控制台上传了新文件,但我无法在他们的控制台中获取它,因为我必须向下滚动数千次!

我尝试将文件夹设为公共文件夹,但它会遍历所有对象。我还下载了BucketExplorer,但它下载了所有需要花费很多时间的对象的索引!

那么,无论如何都要远程编辑Amazon S3上特定对象的权限吗?!

2 个答案:

答案 0 :(得分:1)

您可以使用AWS CLI S3再次上传对象,并将选项中的ACL添加到公共读取。或者,如果这不是一个选项并且您知道新对象的密钥,则可以使用AWS CLI s3api命令使用s3api put-object-acl命令编辑ACL。

S3 cp示例

将test.txt文件复制到名为test2.txt的S3存储桶mybucket,并将ACL设置为public-read

aws s3 cp test.txt s3://mybucket/test2.txt --acl public-read
  

- acl(string)设置执行命令时对象的ACL。如果使用此参数,则必须具有" s3:PutObjectAcl"权限包含在您的IAM策略的操作列表中。仅接受private,public-read,public-read-write,authenticated-read,aws-exec-read,bucket-owner-read,bucket-owner-full-control和log-delivery-write的值。有关详细信息,请参阅固定ACL

S3api示例

将存储桶MyBuckey中的objet file.txt的ACL设置为公共读取

aws s3api put-object-acl --bucket MyBucket --key file.txt --acl public-read

AWS CLI S3 CP命令

http://docs.aws.amazon.com/cli/latest/reference/s3/cp.html

AWS CLI s3api命令

http://docs.aws.amazon.com/cli/latest/reference/s3api/put-object-acl.html

答案 1 :(得分:0)

您是否考虑过通过存储桶策略授予GetObject权限?该策略将应用于存储桶拥有者也是对象所有者的对象。

http://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html