将SNS消息发布到AWS_IAM身份验证的API网关端点


  1. 我已经创建了SNS主题
  2. 我已经创建了调用lambda函数的API网关端点
  3. 我已经创建了主题https订阅,该订阅指向API网关端点

问题:当auth = none时,一切正常,但是当我启用auth = aws_iam时,订阅和消息都不会传递到我的lambda。它们也不会出现在lambda或Gateway CloudWatch日志中,因为经过身份验证错误通常是这种情况。

问题:

  • HTTPS端点传递给AWS_IAM的身份是什么,因此不允许它(我的第一个想法是中继SNS海报令牌,但似乎并非如此)
  • 我找不到将HTTPS端点与任何身份相关联的方法,有没有办法?
  • 有很多有关将SNS传递到SQ或通往SN的网关的信息,但找不到有关实现我尝试做的事情的任何信息。
  • 有什么方法可以调试AWS_IAM身份验证问题?我看到的文档已经看到了"检查特权"的建议,这是我已经做了很多小时的事情,但我没有更多的想法。

我很高兴听到您的想法,谢谢。

正如您在文档中看到的那样,SNS只能做基本/摘要auth http://docs.aws.amazon.com/sns/latest/latest/dg/sendmessagethttp.html

文档中有一个有关验证消息有效性的部分,但这是代码,您必须写下自己或从后端上的一个SNS SDK中抬起。不幸的是,确实没有任何方法可以通过AWS SIGV4签署请求。

为什么不让lambda函数直接订阅SNS主题(不浏览API网关)?

应该很简单:https://docs.aws.amazon.com/sns/latest/dg/sns-lambda.html

这是一个完整的链接,它将帮助您解决身份验证问题。https://aws.amazon.com/premuimsupport/knowledge-center/iam-authentication-api-gateway/

如果是"检查特权"问题,那么您的IAM用户将无法对资源进行任何更改。

相关内容

  • 没有找到相关文章

最新更新