AWS Lambda Functions:它不显示现有角色的列表

Pra*_*een 0 amazon-ec2 amazon-web-services amazon-iam aws-lambda

IAM我已经根据策略创建了一个角色AmazonEC2FullAccess。这个角色是在 中正确创建的IAM。但同样的角色似乎并没有附加lambda功能。

有人可以帮忙吗?我有管理员访问权限,因此我收到以下错误。

(AccessDenied) when calling the PutMetricAlarm operation: User: arn:aws:sts::xxx:assumed-role/lambdaEC2fullaccess/StopEc2 is not authorized to perform: iam:CreateServiceLinkedRole on resource: arn:aws:iam::xxx:role/aws-service-role/events.amazonaws.com/AWSServiceRoleForCloudWatchEvents"

具有访问角色的图像

角色未出现在 Lambda 中

Mar*_*cin 5

从您的屏幕截图来看,该AmazonEC2FullAccess 角色似乎适用于 EC2 实例,而不是 lambda。您可以通过进入 IAM 控制台、单击AmazonEC2FullAccess并检查其信任关系来验证这一点。

例如,如果信任策略是这样的:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

但是,Lambda 的 IAM 信任策略应如下所示:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lambda.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

您可以编辑信任策略,并刷新 lambda 控制台窗口。或者您可以从头开始为 lambda 创建新角色。