View a markdown version of this page

后端客户端证书身份验证的工作原理 - Amazon API Gateway

后端客户端证书身份验证的工作原理

对于出站双向 TLS(mTLS),API Gateway 充当 TLS 客户端。当它连接到后端服务器时,会向其出示客户端证书。后端会检查此证书,以确认请求来自 API Gateway。

出站 mTLS 与入站 mTLS 不同。入站 mTLS 要求 API 客户端向 API Gateway 出示证书。出站 mTLS 可保护 API Gateway 与后端之间的关联。

TLS 握手序列

以下步骤说明 API Gateway 如何与您的后端建立双向 TLS 连接:

  1. API Gateway 向后端发送一条 ClientHello 消息。

  2. 后端将其服务器证书发送到 API Gateway。

  3. API Gateway 检查服务器证书。

  4. 后端向 API Gateway 发送 CertificateRequest。

  5. API Gateway 将客户端证书链发送到后端。

  6. 后端根据其信任存储检查客户端证书。

  7. 双向 TLS 连接已就绪。API Gateway 转发 API 请求。

如果后端未在步骤 4 中请求客户端证书,则 API Gateway 将在不发送客户端证书的情况下完成 TLS 握手。连接使用标准的单向 TLS。

比较证书选项

下表比较了用于配置后端客户端证书的两种方法。

ACM 管理的证书与 API 网关生成的证书的比较
功能 ACM 管理的证书 API Gateway 生成的证书
证书来源 您的 PKI 或 AWS 私有证书颁发机构 API Gateway 自签名
配置 通过证书的 ACM ARN 在阶段上引用证书;使用 ACM API 管理证书生命周期。 在客户端证书页面上或使用 API Gateway 客户端证书 API 进行管理。
续订 取决于证书的颁发方式。对于 ACM 通过 AWS 私有证书颁发机构颁发的证书,ACM 会自动续订证书,并且 API Gateway 传播更新,无需重新部署,也不会停机。对于导入到 ACM 的证书,您必须在到期前重新导入它们;然后 API Gateway 会自动传播重新导入的内容。 手动。证书将在 365 天后过期,必须手动轮换。
链支持 全链(最多 5 个证书) 单个自签名证书
后端信任模型 后端信任您的 CA 后端必须固定 API Gateway 证书