在文件夹中的所有文件上将ACL设置为private

时间:2017-12-26 08:21:33

标签: amazon-web-services amazon-s3 aws-php-sdk

出于测试目的,我已将'n'个文件上传到s3存储桶中的文件夹作为“任何aws用户”ACL。现在我想为该文件夹中的所有文件将ACL更改为“private”。我发现可以通过名为s3cmd的第三方工具更轻松地完成它。但我无权使用第三方工具。那么有什么方法可以通过aws控制台来完成它(除了在程序上迭代每个文件并设置ACL)。我正在使用php api,或者有没有办法通过AWS cli递归设置acl

1 个答案:

答案 0 :(得分:0)

您可以使用put-bucket-acl添加--acl to private

来参考此here

或者,您可以使用存储桶策略指定强制对存储区进行私有访问: { "Version": "2012-10-17", "Statement": [ { "Sid": "PrivateAclPolicy", "Effect": "Deny", "Principal": { "AWS": "*"}, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::bucket_name/foldername/*" ], "Condition": { "StringNotEquals": { "s3:x-amz-acl": [ "private" ] } } } ] }

将bucket_name和foldername替换为您的存储桶和文件夹的名称。

由于