Amazon web services AWS S3 CLI ACL public read为我提供了403和sync命令
我不明白为什么在查看页面时会出现403权限拒绝错误。我正在通过以下命令使用AWS CLI:Amazon web services AWS S3 CLI ACL public read为我提供了403和sync命令,amazon-web-services,amazon-s3,acl,aws-cli,Amazon Web Services,Amazon S3,Acl,Aws Cli,我不明白为什么在查看页面时会出现403权限拒绝错误。我正在通过以下命令使用AWS CLI: aws s3 sync [source] [s3 destination] --acl public-read --recursive --delete --profile [my_profile] 关于IAM,我的政策如下: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:Lis
aws s3 sync [source] [s3 destination] --acl public-read --recursive --delete --profile [my_profile]
关于IAM,我的政策如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["bucket_location"]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": ["bucket_location"]
}
]
}
路径是正确的,因为它确实上载了文件,但它似乎忽略了--acl public read选项。当我使用cp命令时,它看起来运行正常。我只是喜欢使用sync来使用--delete选项进行清理。有什么想法吗?在您的第二个策略声明(带有
PutObject,
的声明)中,请确保在对象名称中包含通配符:
"Resources" : [ "bucket_name/*" ]
你知道你可以使用在线工具测试你的策略吗?好的,这是我在@sebsto建议策略模拟器后发现的:我需要
PutObjectAcl
和PutBucketAcl
。现在同步工作了