gpt4 book ai didi

aws-lambda - 创建 IAM 角色时出错 : MalformedPolicyDocument: Has prohibited field Resource

转载 作者:行者123 更新时间:2023-12-02 19:44:26 26 4
gpt4 key购买 nike

我正在尝试创建一个 Lambda 角色并将其附加到允许所有 ElasticSearch 集群操作的策略。

下面是代码-

resource "aws_iam_role" "lambda_iam" {
name = "lambda_iam"
assume_role_policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [{
"Action": [
"es:*"
],
"Effect": "Allow",
"Resource": "*"
}]
}
EOF
}

resource "aws_lambda_function" "developmentlambda" {
filename = "lambda_function.zip"
function_name = "name"
role = "${aws_iam_role.lambda_iam.arn}"
handler = "exports.handler"

source_code_hash = "${filebase64sha256("lambda_function.zip")}"

runtime = "nodejs10.x"
}

我得到以下错误

Error creating IAM Role lambda_iam: MalformedPolicyDocument: Has prohibited field Resource

有关资源的 Terraform 文档说您可以为所有用户指定一个“*”。 Principal 字段也不是强制性的,所以这不是问题所在。我还是改成了

  assume_role_policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "es.amazonaws.com"
},
"Effect": "Allow",
"Sid": ""
}
]
}
EOF
}

但是那是说 -

Error creating Lambda function: InvalidParameterValueException: The role defined for the function cannot be assumed by Lambda.

我的 lambda 函数定义很简单

resource "aws_lambda_function" "development_lambda" {
filename = "dev_lambda_function.zip"
function_name = "dev_lambda_function_name"
role = "${aws_iam_role.lambda_iam.arn}"
handler = "exports.test"

source_code_hash = "${filebase64sha256("dev_lambda_function.zip")}"

runtime = "nodejs10.x"
}

lambda 文件本身没有任何内容,但我不知道这是否可以解释错误。

我在这里遗漏了什么吗?

最佳答案

代入角色策略是角色的信任策略(允许代入角色),而不是角色的权限策略(什么权限角色授予假设实体)。

Lambda 执行角色需要两种类型的策略。

立即发生的错误是 “Lambda 无法承担为函数定义的角色”,因为它需要 "Principal": {"Service": "lambda.amazonaws. com"},而不是 es.amazonaws.com - 这在权限策略中。我不使用 terraform,但它看起来可能是 resource "aws_iam_policy" 基于 https://www.terraform.io/docs/providers/aws/r/lambda_function.html ,我认为这是您正在使用的引用。

关于aws-lambda - 创建 IAM 角色时出错 : MalformedPolicyDocument: Has prohibited field Resource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59586838/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com