出于测试目的,我已将'n'个文件上传到s3存储桶中的文件夹作为“任何aws用户”ACL。现在我想为该文件夹中的所有文件将ACL更改为“private”。我发现可以通过名为s3cmd的第三方工具更轻松地完成它。但我无权使用第三方工具。那么有没有办法通过aws控制台来做它(除了在程序上迭代每个文件并设置ACL)。我使用的是php api,或者有什么方法可以通过AWS cli递归设置acl
你可以使用AWS CLI Documentation参考这个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"
]
}
}
}
]
}
使用存储桶和文件夹的名称替换存储桶名称和文件夹名称。
谢谢