【问题标题】:Lambda.InvokeAccessDenied from Kinesis Firehose来自 Kinesis Firehose 的 Lambda.InvokeAccessDenied
【发布时间】:2018-08-17 06:05:17
【问题描述】:

我正在尝试使用 Firehose 传输流设置 Lambda 转换。我为 Firehose 定义了一个 IAM 角色,其中包括以下政策文档:

{
    "Statement": {
        "Action": [
            "lambda:InvokeFunction",
            "lambda:GetFunctionConfiguration"
        ],
        "Resource": [<Arn>, ...],
        "Effect": "Allow"
    }
}

我还授予 sts:AssumeRole 从 Firehose 访问 Lambda 角色的权限。

理论上,这应该授予我的 Firehose“调用”对指定 lambda ARN 的访问权限。但是转换失败了

{
  "errorCode":"Lambda.InvokeAccessDenied",
  "errorMessage":"Access was denied. Ensure that the access policy allows access to the Lambda function."
}

从 Lambda 控制台中看不到任何函数调用。我的 IAM 组件配置是否正确?或者这里可能出了什么问题?

【问题讨论】:

    标签: aws-lambda amazon-kinesis aws-iam amazon-kinesis-firehose


    【解决方案1】:

    在创建新流时,kinesis 流会创建默认 IAM 策略以触发 lambda?

    我能够测试从 Kinesis 流向 lambda 发送数据。

    我的政策如下,

    { “席德”:“”, “效果”:“允许”, “行动”: [ "lambda:InvokeFunction", “拉姆达:GetFunctionConfiguration” ], “资源”:“lambda-arn” }, { “席德”:“”, “效果”:“允许”, “行动”: [ “日志:PutLogEvents” ], “资源”:[ “*” ] }, { “席德”:“”, “效果”:“允许”, “行动”: [ “运动:描述流”, "kinesis:GetShardIterator", “运动:获取记录” ], “资源”:“kinesis-arn” },

    【讨论】:

      【解决方案2】:

      在我的 Firehose 的 ProcessingConfiguration 的其他地方,我提供了一个角色来执行没有足够权限的 lambda。通过删除

      - ParameterName: RoleArn
        ParameterValue:
          Fn::GetAtt: [<Role>, Arn]
      

      从 ProcessingConfiguration 配置集中,lambda 能够使用适当的角色/策略成功执行。

      【讨论】:

      • 可以将iam:passRole 块添加到 Kinesis 角色,而不是删除 ProcessingConfiguration RoleArn 配置。
      【解决方案3】:

      这句话对我有用。注意资源末尾的:*

      {
          "Sid": "",
          "Effect": "Allow",
          "Action": [
              "lambda:InvokeFunction",
              "lambda:GetFunctionConfiguration"
          ],
          "Resource": "arn:aws:lambda:us-west-2:11111111111:function:transform-lambda:*"
      }
      

      【讨论】:

        猜你喜欢
        • 2021-09-11
        • 2016-08-20
        • 2017-07-21
        • 2017-05-08
        • 2018-10-25
        • 2021-07-31
        • 1970-01-01
        • 2018-03-26
        • 2018-06-17
        相关资源
        最近更新 更多