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

问题描述 投票:0回答:1

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

amazon-web-services amazon-s3 aws-php-sdk
1个回答
0
投票

你可以使用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" ] } } } ] }

使用存储桶和文件夹的名称替换存储桶名称和文件夹名称。

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.