Lan*_*onC 9 amazon-s3 amazon-web-services aws-lambda
我创建了一个新的 S3 存储桶,并保留所有默认值。我正在尝试使用 PutObject 方法从 lambda 函数将对象写入存储桶。无论我附加什么策略或执行什么操作,我都会收到“访问被拒绝”的操作,除非我编辑存储桶 ACL 并将其完全公开。显然这不是一个很好的解决方案。我真的不知道发生了什么事:我知道我以前做过这件事,没有任何特殊设置。lambda 和 S3 存储桶位于同一账户中,分配给 lambda 的角色附加了 AWSLambdaFullAccess 策略。我快疯了,任何帮助将不胜感激。
Mic*_*iak 10
不幸的"s3:PutObject"是还不足以让它运行 - 你会不断得到403 Access denied错误。
您应该将"s3:PutObjectAcl"策略添加到您的 Lambda 角色。
根据您分配给 Lambda 函数的权限集,AWSLambdaFullAccess 不会授予您对 S3 存储桶的访问权限。除了这些权限之外,您还需要允许访问 S3。如果PutObject是您需要的唯一权限,则可以将以下策略添加到您的 Lambda 角色。请记住,这些权限可以进一步锁定到资源级别,但您可以从以下开始:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1546988882992",
"Action": [
"s3:PutObject"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
您可以根据需要添加或删除更多 S3 权限。
| 归档时间: |
|
| 查看次数: |
10060 次 |
| 最近记录: |