【问题标题】:How to add a Redrive policy to an SNS with an encrypted DLQ如何将 Redrive 策略添加到具有加密 DLQ 的 SNS
【发布时间】:2020-09-02 14:32:40
【问题描述】:

我有一个由两个 lambda 订阅的 SNS(使用 KMS 加密)。我正在尝试向其中一个订阅添加 Redrive 策略。有问题的 DLQ 已加密。

添加重新驱动策略给我一个错误“无法检查 Amazon SQS 队列权限。确保队列存在并且您的帐户有权读取队列的属性。要允许 Amazon SNS 主题将消息发送到 Amazon SQS 队列,您必须创建 Amazon SQS 队列策略'

我已尝试在 DLQ 队列上授予 SNS 解密权限。但没有运气。有什么线索吗?

【问题讨论】:

    标签: amazon-web-services error-handling amazon-sqs amazon-sns


    【解决方案1】:

    即使在控制台中显示警报,该功能似乎也可以正常工作。即使控制台显示警报,消息也会在 lambda 失败时发送到 DLQ。

    【讨论】:

    • 我的经历相同 - 控制台显示错误,但重新驱动策略有效,DLQ 收到未送达消息
    【解决方案2】:

    我已联系 AWS Support,这是一个已知的 UI 问题。到目前为止,还没有确认修复的预计到达时间。

    但是,要解决此问题,您可以将 SQS 访问策略 Principal 部分从

    "Principal": {
      "Service": "sns.amazonaws.com"
    },
    

    "Principal": "*",
    

    或到:

    "Principal": {
      "AWS": "*"
    },
    

    【讨论】:

      【解决方案3】:

      假设您已将来自AWS documentation 的 SQS 队列策略与主体 "Service":"sns.amazonaws.com" 一起使用,则错误消息是由控制台使用 IAM 策略模拟但未传递任何主体这一事实引起的。

      将主体更改为"AWS":"*" 将使策略模拟成功,从而消除错误。

      AWS's documentation 中的先决条件中所述,只要您有一个限制特定 SNS 主题访问的条件,则使用通配符是安全的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-08-25
        • 1970-01-01
        • 2021-12-13
        • 1970-01-01
        • 2023-01-29
        • 1970-01-01
        • 2020-06-11
        相关资源
        最近更新 更多