我在Amazon EB上有一个NodeJS API,在API Gateway上有一个API。 API网关被配置为EB的代理。
我可以毫无问题地调用我的API,它正在运行,但我不知道如何管理安全性。
实际上如果我使用API网关URL我必须签署请求(没关系!)但我可以使用EB URL,没有必要。
在使用API网关之前,我使用的是JWT,但现在我应该在我的Node应用程序上做什么? API Gateway使用Authorization标头对请求进行签名,因此我的Node应用程序必须检查此签名?或其他什么?
答案 0 :(得分:2)
限制仅对API网关的后端访问的推荐方法是使用客户端证书。见documentation here
请注意,如果将客户端证书与ELB一起使用,则必须以tcp模式配置ELB并终止应用程序服务器上的SSL连接,因为ELB不支持客户端证书验证。
另一种方法是将API网关配置为添加具有机密值的标头,然后在处理请求之前验证应用程序服务器上的值。这通常被认为不太安全,因为攻击者更容易获取您的秘密值。至少,您希望在API网关和应用程序服务器之间使用SSL,以便秘密不以纯文本形式发送。