我知道这个问题已经发布并回答了很多次,但没有一个解决方案适用于我的情况。
以下是附加到一个IAM用户的策略,该用户将被应用程序用于访问名为xyz-billing的s3桶:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::xyz-billing"]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": ["arn:aws:s3:::xyz-billing/*"]
}
]
}
事实上,我已经尝试了多种定义策略的方法,但下面是所有常见的问题:
- 当我尝试模拟策略时,一切都被拒绝。
- 当我使用星号"资源":"*"模拟器显示允许。
我哪里错了?
在我的例子中,bucket本身具有限制其他用户查看它的权限,这导致了问题。在编辑您的存储桶权限时,请看下面的内容。您需要S3桶上的列表、视图权限,以便允许Lambda访问桶(当然还有适当的角色、策略)