每次我为 AWS API Gateway 搜索 SSL认证时,我只能在AWS API网关和后端服务之间找到MTLS。但我希望通过 MTLS(客户端身份验证)来保护我的AWS API Gateway端点。
例如,我有一个支持的服务QueryCustomer,我通过AWS API Gateway代理了该服务。现在我可以在API网关上放置SSL证书,但它通常是单向SSL。我想要实现的是使用客户端身份验证的MTLS,其中来自AWS API Gateway的API消费者首先必须交换我们在 AWS truststore 上配置的公共证书,并且将存储AWS公共证书在API消费者端也是如此。
现在,在握手期间,与其他API网关和应用程序服务器一样,应该有一个属性,其中包含类似此AWS API网关端点' 需要客户端身份验证'因此,只有API使用者的公共证书在API网关中,才应该对信任库进行身份验证以访问端点,否则只会抛出正常的SSL握手错误。
有人可以建议在AWS API Gateway上是否可以实现这一目标吗?
答案 0 :(得分:3)
目前,API Gateway尚未提供此功能,但我们收到了多个客户对此功能的请求。不幸的是,我不能评论ETA或可用性。
答案 1 :(得分:0)
2020年9月23日
AWS现在支持双向TLS
https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-mutual-tls.html
我们现在也可以禁用execute-api-endpoint。
aws apigatewayv2 update-api \
--api-id abcdef123 \
--disable-execute-api-endpoint
要使用双向TLS,请创建X.509证书的信任存储,您信任该信任存储来访问API。证书可以来自公共或私人证书颁发机构。证书的最大链长度为四。您还可以提供自签名证书。支持以下内容:
SHA-256或更强 RSA-2048或更高 ECDSA-256或更高版本
API网关验证许多证书属性。当客户端调用API时,可以使用Lambda授权者执行其他检查,包括检查证书是否已被吊销。 API Gateway验证以下证书属性:
验证说明 X.509语法
证书必须符合X.509语法要求。
诚信
证书的内容一定不能与证书颁发机构在信任库中签名的内容相更改。
有效期
证书的有效期必须是最新的。
名称链接/密钥链接
证书的名称和主题必须形成一个完整的链。证书的最大链长度为四。