Amazon API Gateway
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在 API Gateway 中为自定义域选择最低 TLS 版本

为了获得更高的安全性,您可以通过在 API Gateway 控制台、AWS CLI 或 AWS 开发工具包中设置安全策略,选择为您的 Amazon API Gateway 自定义域实施的最低传输层安全性 (TLS) 协议版本。

安全策略 是预定义的 Amazon API Gateway 实施的最低 TLS 版本和密码套件组合。您可以选择 TLS 版本 1.2 或 TLS 版本 1.0 安全策略。TLS 协议解决了网络安全问题,例如客户端和服务器之间的篡改和窃听。当您的客户端通过自定义域建立与您 API 的 TLS 握手时,安全策略实施客户端可以选择使用的 TLS 版本和密码套件选项。

在自定义域设置中,安全策略确定两个设置:

  • API Gateway 用来与 API 客户端通信的最低 TLS 版本

  • API Gateway 用来加密其返回到 API 客户端的内容的密码

如何在 API Gateway 中为自定义域指定一个最低 TLS 协议版本

当您创建自定义域时,您为其指定安全策略。有关安全策略的更多信息,请参阅以下部分中的表。

以下部分介绍如何创建自定义域名,包括在 API Gateway 控制台和 CLI 中指定最低 TLS 版本:

您可以通过更新域名设置来更改安全策略。要更改最低 TLS 版本,请使用以下任一命令,在 securityPolicy 参数中指定新 TLS 版本(TLS_1_0TLS_1_2)。允许最多 60 分钟的时间完成更新。

API Gateway 中边缘优化 API 终端节点支持的安全策略、TLS 协议版本和密码

下表列出了每个安全策略中,API Gateway 可用于边缘优化 API 的协议和密码。

安全策略
TLS-1-0 TLS-1-2
支持的 SSL/TLS 协议
TLSv1.2
TLSv1.1
TLSv1
SSLv3
Ciphers Supported
ECDHE-RSA-AES128- GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256- GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
AES128-GCM-SHA256
AES256-GCM-SHA384
AES128-SHA256
AES256-SHA
AES128-SHA
DES-CBC3-SHA
RC4-MD5

API Gateway 中区域、私有和 WebSocket API 终端节点支持的 SSL/TLS 协议和密码

下表介绍了可为区域、私有和 WebSocket API 终端节点指定的安全策略。

注意

对于私有和 WebSocket API,只能指定 TLS-1-2

安全策略 TLS-1-0 TLS-1-2
TLS 协议

Protocol-TLSv1

Protocol-TLSv1.1

Protocol-TLSv1.2

TLS 密码

ECDHE-ECDSA-AES128- GCM-SHA256

ECDHE-RSA-AES128- GCM-SHA256

ECDHE-ECDSA-AES128-SHA256

ECDHE-RSA-AES128-SHA256

ECDHE-ECDSA-AES128-SHA

ECDHE-RSA-AES128-SHA

ECDHE-ECDSA-AES256- GCM-SHA384

ECDHE-RSA-AES256- GCM-SHA384

ECDHE-ECDSA-AES256-SHA384

ECDHE-RSA-AES256-SHA384

ECDHE-RSA-AES256-SHA

ECDHE-ECDSA-AES256-SHA

AES128-GCM-SHA256

AES128-SHA256

AES128-SHA

AES256-GCM-SHA384

AES256-SHA256

AES256-SHA

DES-CBC3-SHA

OpenSSL 和 RFC 密码名称

OpenSSL 和 IETF RFC 5246(传输层安全性 (TLS) 协议版本 1.2)为相同的密码使用不同的名称。下表为每个密码列出了 OpenSSL 名称及对应的 RFC 名称。

OpenSSL 密码名称 RFC 密码名称

ECDHE-RSA-AES128- GCM-SHA256

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

ECDHE-RSA-AES128-SHA256

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

ECDHE-RSA-AES128-SHA

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

ECDHE-RSA-AES256- GCM-SHA384

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

ECDHE-RSA-AES256-SHA384

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

ECDHE-RSA-AES256-SHA

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

AES128-GCM-SHA256

TLS_RSA_WITH_AES_128_GCM_SHA256

AES256-GCM-SHA384

TLS_RSA_WITH_AES_256_GCM_SHA384

AES128-SHA256

TLS_RSA_WITH_AES_128_CBC_SHA256

AES256-SHA

TLS_RSA_WITH_AES_256_CBC_SHA

AES128-SHA

TLS_RSA_WITH_AES_128_CBC_SHA

DES-CBC3-SHA

TLS_RSA_WITH_3DES_EDE_CBC_SHA

RC4-MD5

TLS_RSA_WITH_RC4_128_MD5