我正在使用Serverless将我的Lambda函数部署到亚马逊网络服务,其中一个读取S3对象。我在serverless.yml
文件中设置了以下权限:
iamRoleStatements:
- Effect: Allow
Action:
- s3:ListBucket
- s3:GetObject
Resource: "arn:aws:s3:::myBucket"
然而,在部署API之后,当我尝试访问Serverless给我的端点时,我得到了403。我还进入亚马逊网络服务控制台中的IAM,检查适用区域的lambdaRole,对于S3,我看到“访问级别”为“有限:列表”。我的理解是,基于我允许的操作,我也应该在这里看到"Read“。
谁能给我指出我可能遗漏的方向?
发布于 2019-05-17 03:26:39
GetObject
操作在对象上操作,而不是在存储桶上操作,因此您的策略是错误的。尝试以下操作:
iamRoleStatements:
- Effect: Allow
Action:
- s3:ListBucket
Resource: "arn:aws:s3:::myBucket"
- Effect: Allow
Action:
- s3:GetObject
Resource: "arn:aws:s3:::myBucket/*"
https://stackoverflow.com/questions/56175205
复制相似问题