出于测试目的,我已将'n'个文件上传到s3存储桶中的文件夹作为“任何aws用户”ACL。现在我想为该文件夹中的所有文件将ACL更改为“private”。我发现可以通过名为s3cmd的第三方工具更轻松地完成它。但我无权使用第三方工具。那么有什么方法可以通过aws控制台来完成它(除了在程序上迭代每个文件并设置ACL)。我正在使用php api,或者有没有办法通过AWS cli递归设置acl
答案 0 :(得分:0)
您可以使用put-bucket-acl
添加--acl to private
或者,您可以使用存储桶策略指定强制对存储区进行私有访问:
{
"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替换为您的存储桶和文件夹的名称。
由于