AWS API Gateway Lambda 授权者 + 客户端证书

AWS API Gateway Lambda 授权者 + 客户端证书

我正在评估使用客户端证书来提高我正在开发的应用程序的安全性。这一切都在 AWS 上运行,并通过附加了 Lambda 授权者的 API 网关传递。

AWS 文档指出 API Gateway 不支持通过客户端证书进行身份验证,但允许您在后端进行身份验证,但文档中并未提及使用 Lambda 授权器时会发生什么。

我首先认为它不会起作用,因为 API Gateway 无法看到标头。但由于 API Gateway 处理证书的创建和存储,因此它至少可以窥视数据流内部以获取标头数据,从而使 Lambda Authorizer 能够正常工作。

就我而言,我想将客户端证书添加到我已经存在的基于令牌的授权中。

可以实现此设置,或者只能通过将令牌验证移至后端来完成。

答案1

更新:API 网关现在支持 mTLS! https://aws.amazon.com/blogs/compute/introducing-mutual-tls-authentication-for-amazon-api-gateway/

旧答案:

客户端证书验证发生在 TLS 握手期间. Lambda 授权器处理 HTTP 请求示例输入。所以你无法进行真正的相互认证。你可以做一些自定义解决方案,在标头中塞入一些签名信息(比如 sigv4),但这并不是我们在讨论相互 TLS 时真正要讨论的内容。

相关内容