Nat*_*own 2 amazon-kinesis aws-lambda aws-iam amazon-kinesis-firehose
我正在尝试使用Firehose交付流设置Lambda转换。我为Firehose定义了一个IAM角色,其中包括以下策略文档:
{
"Statement": {
"Action": [
"lambda:InvokeFunction",
"lambda:GetFunctionConfiguration"
],
"Resource": [<Arn>, ...],
"Effect": "Allow"
}
}
Run Code Online (Sandbox Code Playgroud)
我还授予了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."
}
Run Code Online (Sandbox Code Playgroud)
而且从Lambda控制台看不到函数调用。我的IAM组件是否配置正确?还是这里有其他问题?
小智 5
这句话对我有用。请注意:*资源末尾的。
{
"Sid": "",
"Effect": "Allow",
"Action": [
"lambda:InvokeFunction",
"lambda:GetFunctionConfiguration"
],
"Resource": "arn:aws:lambda:us-west-2:11111111111:function:transform-lambda:*"
}
Run Code Online (Sandbox Code Playgroud)
在我的 Firehose 的处理配置中的其他地方,我提供了一个角色来执行没有足够权限的 lambda。通过删除
- ParameterName: RoleArn
ParameterValue:
Fn::GetAtt: [<Role>, Arn]
Run Code Online (Sandbox Code Playgroud)
从ProcessingConfiguration配置集中,lambda能够使用适当的角色/策略成功执行。
| 归档时间: |
|
| 查看次数: |
2652 次 |
| 最近记录: |