0

我有一个具有 lambda 触发器的 DynamoDB 流。我还配置了一个带有 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 队列都是从同一个帐户创建的。

4

0 回答 0