我确实在AWS中四处乱逛,试图找出我在这里缺少的内容。我想这样做,以便IAM用户可以从S3存储桶下载文件-而不只是将文件完全公开-但我被拒绝访问。如果有人能发现发生了什么事,我会被感动。
到目前为止,我所做的是:
- 创建了一个名为my-user的用户(例如)
- 为用户生成访问密钥,并将其放在EC2实例上的〜/ .aws中
- 创建了一个存储桶策略,希望该策略可以为我的用户授予访问权限
- 跑命令
aws s3 cp --profile my-user s3://my-bucket/thing.zip .
铲斗政策:
{
"Id": "Policy1384791162970",
"Statement": [
{
"Sid": "Stmt1384791151633",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*",
"Principal": {
"AWS": "arn:aws:iam::111122223333:user/my-user"
}
}
]
}
结果是,A client error (AccessDenied) occurred: Access Denied
尽管我可以使用相同的命令和默认(根帐户?)访问密钥进行下载。
我也尝试添加用户策略。虽然我不知道为什么有必要这样做,但我认为这不会造成伤害,因此我将其附加到了用户身上。
{
"Statement": [
{
"Sid": "Stmt1384889624746",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
结果相同。