我想将整个存储桶下载到本地目录。我试过了:
aws s3 sync s3://my-bucket-name . --profile default
我收到了身份验证错误:
下载失败:s3://my-bucket-name/thumbnail.jpg来路径 local / thumbnail.jpg调用时出现客户端错误(未知) GetObject操作:未知
我相信我的IAM配置正确,因为它可以完全访问S3存储桶。当我尝试另一个命令时它会起作用,例如:
aws s3 ls
我对IAM用户的内联策略是:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": ["arn:aws:s3:::*"]
}
]
}
我在这个设置中遗漏了什么吗?
答案 0 :(得分:1)
如果您想通过cli和Web控制台访问并将存储桶限制为用户及其上的一些基本操作,则可以使用以下策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::YOURBUCKET"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:ListObjects"
],
"Resource": [
"arn:aws:s3:::YOURBUCKET/*"
]
}
]
}
答案 1 :(得分:0)
政策中存在问题。将政策更改为以下。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::*"
}
]
}
如果您希望用户只访问一个存储桶,请使用以下政策。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::name-of-bucket/*"
}
]
}