我正在尝试让Github Webhook启动我拥有的AWS Lambda。我能弄清楚如何做到这一点的最佳方法是使用AWS API Gateway,问题是安全性。
Github Webhooks将仅通过POST呼叫发送秘密。
我找不到任何让AWS API Gateway验证此签名的方法。或者在哪里可以添加此功能。
我假设我可以编写一个AWS Lambda Authorizer。但这是在不同地方的许多代码,开始看到对serverless
框架的需求。
我不知道有关AWS内任何更简单的设置吗?
来到这里是因为我试图将Github Webhook与AWS lambda集成在一起,并遇到与OP相同的问题。正如其他人所建议的那样,在撰写本文时,我相信最好的解决方案是在主lambda中包括验证代码。
自2017年9月起在AWS计算机博客上:
增强的请求授权者Lambda函数接收类似于代理集成的事件对象。它包含有关请求的所有信息,但不包括正文。
资料来源: 在Amazon API Gateway(amazon.com)中使用增强的请求授权者
您无法按照Github的建议执行HMAC,因为AWS授权方lambda不能让您访问HTTP请求的主体,而这是比较摘要所必需的。
这很遗憾,因为HMAC似乎是保护响应Webhook的端点的一种非常标准的方法。例如,请参阅此博客文章,Webhooks做和不做:集成+100 API(restful.io)之后我们学到的东西。Twitter和Stripe做类似的事情:
为了使上述方法有效,如果您使用的是API Gateway,则需要确保将包含哈希签名的标头作为event
参数的一部分转发给lambda。为此,请遵循以下说明:如何使用自定义Lambda集成通过Amazon API Gateway将自定义标头传递到AWS Lambda函数,以进行进一步处理?(amazon.com)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句