如何使用加密的 DLQ 将 Redrive 策略添加到 SNS
How to add a Redrive policy to an SNS with an encrypted DLQ
我有一个由两个 lambda 订阅的 SNS(使用 KMS 加密)。我正在尝试向其中一个订阅添加 Redrive 策略。有问题的 DLQ 已加密。
添加 Redrive 策略时出现错误“无法检查 Amazon SQS 队列权限。确保队列存在并且您的帐户有权读取队列的属性。要允许 Amazon SNS 主题向 Amazon SQS 队列发送消息,您必须创建 Amazon SQS 队列策略'
我已尝试在 DLQ 队列上授予 SNS 解密权限。但没有运气。有线索吗?
即使在控制台中显示警报,该功能似乎仍在运行。即使控制台显示警报,消息也会在 lambda 失败时发送到 DLQ。
我已经联系了 AWS Support,这是一个已知的 UI 问题。截至目前,仍未确认修复的预计到达时间。
但是,要解决此问题,您可以更改
中的 SQS 访问策略 Principal
部分
"Principal": {
"Service": "sns.amazonaws.com"
},
到
"Principal": "*",
或:
"Principal": {
"AWS": "*"
},
假设您已将 AWS documentation 中的 SQS 队列策略与主体 "Service":"sns.amazonaws.com"
一起使用,则错误消息是由于控制台使用 IAM 策略模拟但没有主体正在运行而导致的通过。
将主体更改为 "AWS":"*"
将使策略模拟成功,从而消除错误。
如果您有限制仅从特定 SNS 主题访问的条件,使用通配符是安全的,如 AWS's documentation 中的先决条件所述。
我有一个由两个 lambda 订阅的 SNS(使用 KMS 加密)。我正在尝试向其中一个订阅添加 Redrive 策略。有问题的 DLQ 已加密。
添加 Redrive 策略时出现错误“无法检查 Amazon SQS 队列权限。确保队列存在并且您的帐户有权读取队列的属性。要允许 Amazon SNS 主题向 Amazon SQS 队列发送消息,您必须创建 Amazon SQS 队列策略'
我已尝试在 DLQ 队列上授予 SNS 解密权限。但没有运气。有线索吗?
即使在控制台中显示警报,该功能似乎仍在运行。即使控制台显示警报,消息也会在 lambda 失败时发送到 DLQ。
我已经联系了 AWS Support,这是一个已知的 UI 问题。截至目前,仍未确认修复的预计到达时间。
但是,要解决此问题,您可以更改
中的 SQS 访问策略Principal
部分
"Principal": {
"Service": "sns.amazonaws.com"
},
到
"Principal": "*",
或:
"Principal": {
"AWS": "*"
},
假设您已将 AWS documentation 中的 SQS 队列策略与主体 "Service":"sns.amazonaws.com"
一起使用,则错误消息是由于控制台使用 IAM 策略模拟但没有主体正在运行而导致的通过。
将主体更改为 "AWS":"*"
将使策略模拟成功,从而消除错误。
如果您有限制仅从特定 SNS 主题访问的条件,使用通配符是安全的,如 AWS's documentation 中的先决条件所述。