【发布时间】:2020-03-09 11:18:01
【问题描述】:
我正在尝试使用 AWS Lamba 调整亚马逊 s3 中托管图像的大小。我遵循了亚马逊提供的以下教程。
但是,当我尝试更新我的存储桶策略时,它总是给出错误 “缺少必填字段 Principal”
这是我的政策代码:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*",
},
{
"Effect": "Allow",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::yyyy",
"Principal":{"AWS":"arn:aws:iam::123456789:user/xxxxx"}
}
]
}
我不明白为什么我会收到错误消息。我做错了什么?
【问题讨论】:
-
您有两个语句,但只有第二个包含一个 Principal。
-
@jarmod 我也将 Principal 添加到上述语句中。然后它给出 Policy has invalid action 错误
-
查看@Mari 的答案。您不小心创建了 S3 存储桶策略(需要 Principal)和常规 IAM 策略(不需要或允许 Principal)的混合体。对于相关教程,您的 Lambda 函数需要后者。
标签: amazon-web-services amazon-s3 aws-lambda