每次我通过SSL搜索互操作时, for API网关都只能在API网关和后端服务之间找到MTLS。但是我希望用MTLS (client )来保护AWS网关端点本身的安全。
例如,我有一个经过API代理的支持服务QueryCustomer。现在我可以将SSL证书放在API网关上,但它通常是单向SSL。我想要实现的是有一个带有客户端的MTLS,其中来自achieve的API的使用者首先必须交换他们的公共证书,我们在AWS信任库上配置了这些证书,和AWS公共证书也将存储在API使用者端。
现在,在握手过程中,就像其他API网关和应用服务器一样,应该有一个类似于这个application端点‘需要客户端auth’的属性,因此只有当API使用者的公共证书在API信任库中时,才应该对访问端点进行身份验证,否则只会抛出正常的SSL握手错误。
有人能建议在AWS API网关上是否可以实现这一点吗?
发布于 2017-12-05 00:15:57
这目前还不能从API获得,但是我们已经收到了来自多个客户的有关此特性的请求。不幸的是,我不能评论ETA或可用性。
发布于 2020-09-23 14:08:00
2020年9月23日
AWS现在支持互TLS
https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-mutual-tls.html
此外,我们现在可以禁用执行api端点。
aws apigatewayv2 update-api \
--api-id abcdef123 \
--disable-execute-api-endpoint要使用相互的TLS,请创建一个信任X.509证书的信任存储库,您可以信任这些证书来访问API。证书可以来自公共或私人证书颁发机构。证书的最大链长度为4。您还可以提供自签名证书。以下内容得到支持:
SHA-256或更强的RSA-2048或更强的ECDSA 256或更强的。
API网关验证了许多证书属性。当客户端调用API时,可以使用Lambda授权器执行其他检查,包括检查证书是否已被撤销。API网关验证以下证书属性:
验证描述X.509语法
证书必须符合X.509语法要求。
完整性
证书的内容不得与来自信任库的证书颁发机构签署的内容发生更改。
效度
证书的有效期必须是当前的。
名称链接/密钥链接
证书的名称和主体必须形成一个完整的链。证书的最大链长度为4。
https://stackoverflow.com/questions/45456287
复制相似问题