我有一个拥有成千上万个物品的亚马逊水桶。我刚刚使用他们的AWS控制台上传了新文件,但我无法在他们的控制台中获取它,因为我必须向下滚动数千次!
我尝试将文件夹设为公共文件夹,但它会遍历所有对象。我还下载了BucketExplorer,但它下载了所有需要花费很多时间的对象的索引!
那么,无论如何都要远程编辑Amazon S3上特定对象的权限吗?!
答案 0 :(得分:1)
您可以使用AWS CLI S3再次上传对象,并将选项中的ACL添加到公共读取。或者,如果这不是一个选项并且您知道新对象的密钥,则可以使用AWS CLI s3api命令使用s3api put-object-acl命令编辑ACL。
将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
将存储桶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