我正在尝试确定API网关和lambda之间的传输是否已使用TLS之类的东西加密。我通读了AWS安全白皮书,但没有发现任何迹象。如果不是,您将如何安全地在网关和lambda之间传输信息。
谢谢。
答案 0 :(得分:0)
简短的答案是肯定的。
AWS API网关提供了许多与Lambda集成的方法。如果您使用Lambda Proxy集成(也称为AWS_PROXY
),则所有请求均“按原样”代理到端点(Lambda):
通过Lambda代理集成,当客户端提交API请求时,API网关将原始请求原样传递给集成的Lambda函数。该请求数据包括请求标头,查询字符串参数,URL路径变量,有效负载和API配置数据。
这意味着,如果客户端执行HTTPS请求,则有效负载将通过TLS加密到Lambda。并且默认情况下,API网关创建的所有API都仅作为FAQs的HTTPS端点公开:
使用Amazon API Gateway创建的所有API仅公开HTTPS终端节点。 Amazon API Gateway不支持未加密的(HTTP)终端节点。默认情况下,Amazon API Gateway为自动使用Amazon API Gateway证书的API分配内部域
如果需要进一步的安全性,可以调查CloudFront 字段级加密。这使您可以在管理自己的加密密钥的同时对客户端的敏感数据进行加密。这将确保敏感数据保持端到端加密。实施细节请参见here
答案 1 :(得分:0)
我相信答案是肯定的。
根据KaHou@AWS API网关使用Lambda Invoke API调用Lambda函数。
当您配置Lambda使其能够访问VPC时,仍然可以通过Lambda调用API 从公共网络访问Lambda函数。这与API Gateway调用Lambda的方式无关。目前,API Gateway无法访问VPC内的私有资源。
根据AWS Regions and Endpoints documentation,仅HTTPS支持Lambda API。
由于API网关使用Lambda API,而Lambda API仅在HTTPS上受支持,因此可以假设API Gateway和Lambda之间的通信已加密。