如何将 lambda 权限添加到 DLQ 以在失败时推送消息

问题描述

我有一个 DynamoDB 流,它有一个 lambda 触发器。我还使用 lambda 配置了一个 DLQ,如果 lambda 中发生故障,这些流消息将发送到该位置。

目前,SQS 队列(LambdaFailure-DLQ)的访问策略如下。但是,我只想授予 lambda 最小权限以将相关操作推送到 DLQ。

"Statement": [
    {
      "Sid": "Sid12345xxxx","Effect": "Allow","Principal": "*","Action": [
        "SQS:ChangeMessageVisibility","SQS:DeleteMessage","SQS:GetQueueAttributes","SQS:GetQueueUrl","SQS:ReceiveMessage","SQS:SendMessage","SQS:SetQueueAttributes"
      ],"Resource": "arn:aws:sqs:us-west-2:accountxyz:LambdaFailure-DLQ"
    }
  ]

不想使用 * 作为主体,因为这会导致违反政策。我如何修改它以只允许此队列的 lambda(假设为 X)权限。

PS:lambda 触发器、DynamoDB 流和 SQS 队列都是从同一个帐户创建的。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...