1
我拉姆達代碼:AWS LAMBDA代碼拋出 「(UnauthorizedOperation)調用StartInstances操作時發生錯誤
instances = [aws_instance]
ec2 = boto3.client('ec2',region_name="us-west-2")
if task == 'start':
ec2.start_instances(InstanceIds=instances)
我的IAM用戶策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeVolumes",
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:CreateSnapshot",
"ec2:DeleteSnapshot",
"ec2:DescribeSnapshots",
}
``` "ec2:RunInstances",
"ec2:CopySnapshot",
"ec2:CreateTags",
"rds:DescribeDBInstances",
"rds:CreateDBSnapshot",
"rds:DeleteDBSnapshot",
"rds:DescribeDBSnapshots",
"rds:ListTagsForResource",
"lambda:AddPermission",
"lambda:CreateFunction",
"lambda:InvokeFunction",
"apigateway:PUT",
"apigateway:POST",
"apigateway:GET",
"ssm:SendCommand"
],
"Resource": [
"*"
]
}
]
}
此拋出錯誤」 錯誤發生(UnauthorizedOperation)調用StartInstances操作時:您沒有權限來執行此操作「
C:\ Program Files文件\微軟的Visual Studio 11.0> AWS --re祗園美西2 EC2啓動實例--instance-ID的i-cd2cb9d5
工作正常。
我無法理解,爲什麼lambda函數說,我不允許執行「start_instances」
附加到角色的方針是: { 「版本」:「2012年10月17日」, 「聲明」:[{ 「效果」: 「允許」, 「操作」:[ 「拉姆達:InvokeFunction」, 「拉姆達:CreateFunction」 ], 「資源」:[ 「*」 ] } ] } –
因此,此Lambda可以創建並調用其他Lambda,但不能啓動EC2實例。 –
謝謝亞歷克西斯。我得到了這個問題。 –