我对使用AWS策略生成器创建的S3存储桶具有以下策略,以允许使用特定角色运行的lambda访问存储桶中的文件。然而,当我执行LAMBDA,我得到403权限被拒绝:S3策略允许Lambda
"errorMessage": "Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: <requestId>)",
"errorType": "com.amazonaws.services.s3.model.AmazonS3Exception",
在S3斗政策:
{
"Version": "2012-10-17",
"Id": "Policy<number>",
"Statement": [
{
"Sid": "Stmt<number>",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<account>:role/<roleName>"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::<bucketName>/*"
}
]
}
什么是错的政策? Lamba正在使用策略中配置的角色运行。
我将从首先修改此策略开始,为所有权限提供所有权限..基本上删除Principal和bucketname ..这将告诉您,如果问题出现在您的s3策略或lambda中。 – Deepak
为什么不将S3存储桶权限添加到分配给Lambda函数的IAM角色,而不是试图通过存储桶策略执行此操作? –
你在做什么来自Lambda的水桶?有些操作需要资源在最后排除'/ *',其他操作需要包含''Resource':[“arn:aws:s3 :::”,“arn:aws:s3 ::: /*“]' –