Я получаю эту ошибку: Error: Error creating Lambda function: InvalidParameterValueException: The provided execution role does not have permissions to call CreateNetworkInterface on EC2
при попытке создать лямбду с такими разрешениями IAM с пользовательской ролью лямбда:
...
statement {
sid = "MyCustomLamdaStatementDescribe"
actions = [
"ec2:DescribeNetworkInterfaces",
]
resources = ["*"]
}
statement {
sid = "MyCustomLamdaStatementCreateDelete"
actions = [
"ec2:AttachNetworkInterface",
"ec2:CreateNetworkInterface",
"ec2:DeleteNetworkInterface",
"ec2:AssignPrivateIpAddresses",
"ec2:UnassignPrivateIpAddresses",
"ec2:DescribeVpcs"
]
resources = [
"*"
]
condition {
test = "ArnEquals"
variable = "ec2:vpc"
values = [
"arn:aws:ec2:${var.my_region}:${var.my_account_id}:vpc/${var.my_vpc_id}",
]
}
}
...
Создание лямбды отлично работает без каких-либо условий (как указано в AWS Lambda: предоставленная роль выполнения не имеет разрешений на вызов DescribeNetworkInterfaces в EC2), но мне нужно, чтобы роль соответствовала VPC (или ec2:Subnet
arn).
Примечание. Я попробовал condition.test с ArnEquals
и StringEquals
.