【问题标题】:AWS Lambda Functions: it doesn't show list of existing rolesAWS Lambda 函数:它不显示现有角色的列表
【发布时间】:2021-01-08 10:20:20
【问题描述】:

我在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"

【问题讨论】:

    标签: amazon-web-services amazon-ec2 aws-lambda amazon-iam


    【解决方案1】:

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

    例如,如果信任策略是这样的,它将如下所示:

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

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

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "lambda.amazonaws.com"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

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

    【讨论】:

      猜你喜欢
      • 2020-04-15
      • 2023-04-10
      • 2017-11-08
      • 2016-11-02
      • 2023-04-06
      • 1970-01-01
      • 2017-05-12
      • 1970-01-01
      • 2021-09-28
      相关资源
      最近更新 更多