具有相互身份验证的 AWS 安全 REST API

pma*_*max 7 ssl amazon-web-services aws-lambda aws-api-gateway

我想在 AWS 上通过相互身份验证来保护 REST API。这意味着,只有具有特定客户端证书的客户端才能访问 API。通过相互身份验证在 AWS 上保护 REST API 的最佳方法是什么?

我知道,API Gateway客户端证书支持,但这不是我要找的。据我了解,这仅针对后端验证 Api 网关,无法验证客户端到 Api 网关的身份。

Api 网关、负载均衡器或任何其他 AWS 产品是否能够进行相互身份验证以保护 REST API,还是我需要自己实现?

Mic*_*bot 9

您必须在服务器上执行此操作。

终止 TLS 并将请求或连接转发到您的应用程序层(弹性负载均衡器(经典、应用程序和网络)、CloudFront 或 API 网关)的任何服务都不支持 TLS 相互身份验证。

当然,没有 TLS 终止的网络负载均衡器或 TCP 模式下的经典负载均衡器将传递您的有效负载,无论它是什么,因此它们中的任何一个都可以在您的服务器前使用,但服务器需要处理所有TLS。

此外,您的结论是正确的,即 API Gateway 的客户端证书不是您想要的。它们按照您的描述工作。


Aks*_*ora 6

自 2020 年 9 月 17 日起,AWS API Gateway 支持使用 TLS 进行相互身份验证:https://aws.amazon.com/about-aws/whats-new/2020/09/amazon-api-gateway-supports-相互 TLS 身份验证/。它可用于对 API Gateway 上调用 API 的客户端进行身份验证。