选择针对 API Gateway 中 REST API 自定义域的安全策略
为了提高您的 Amazon API Gateway 自定义域的安全性,您可以在 API Gateway 控制台、Amazon CLI 或 Amazon SDK 中选择安全策略。
安全策略 是 API Gateway 提供的最低 TLS 版本和密码套件的预定义组合。您可以选择 TLS 版本 1.2 或 TLS 版本 1.0 安全策略。TLS 协议解决了网络安全问题,例如客户端和服务器之间的篡改和窃听。当您的客户端通过自定义域建立与您 API 的 TLS 握手时,安全策略实施客户端可以选择使用的 TLS 版本和密码套件选项。
在自定义域设置中,安全策略确定两个设置:
-
API Gateway 用来与 API 客户端通信的最低 TLS 版本
-
API Gateway 用来加密其返回到 API 客户端的内容的密码
如果您选择 TLS 1.0 安全策略,则该安全策略接受 TLS 1.0、TLS 1.2 和 TLS 1.3 流量。如果您选择 TLS 1.2 安全策略,则该安全策略接受 TLS 1.2 和 TLS 1.3 流量,但拒绝 TLS 1.0 流量。
注意
您只能为自定义域指定安全策略。对于使用默认端点的 API,API Gateway 使用以下安全策略:
对于边缘优化的 API:
TLS-1-0
对于区域 API:
TLS-1-0
对于私有 API:
TLS-1-2
本页中的表格列出了每种安全策略的密码。
主题
如何为自定义域指定安全策略
当您创建自定义域名时,您为其指定安全策略。要了解如何创建自定义域,请参阅为 API Gateway API 设置边缘优化的自定义域名或在 API Gateway 中设置区域自定义域名。
要更改自定义域名的安全策略,请更新自定义域设置。您可以使用 Amazon Web Services Management Console、Amazon CLI 或 Amazon SDK 更新您的自定义域名设置。
当您使用 API Gateway REST API 或 Amazon CLI 时,请在 securityPolicy
参数中指定新的 TLS 版本 TLS_1_0
或 TLS_1_2
。有关更多信息,请参阅《Amazon API Gateway REST API 参考》中的 domainname:update 或《Amazon CLI 参考》中的 update-domain-name。
更新操作可能需要几分钟才能完成。
边缘优化的自定义域支持的安全策略、TLS 协议版本和密码
下表介绍了可为边缘优化的自定义域名指定的安全策略。
TLS 协议 |
TLS_1_0 安全策略 |
TLS_1_0 安全策略 |
---|---|---|
TLSv1.3 | ||
TLSv1.2 | ||
TLSv1.1 | ||
TLSv1 |
下表描述了适用于每个安全策略的 TLS 密码。
TLS 密码 |
TLS_1_0 安全策略 |
TLS_1_0 安全策略 |
---|---|---|
TLS_AES_128_GCM_SHA256 | ||
TLS_AES_256_GCM_SHA384 | ||
TLS_CHACHA20_POLY1305_SHA256 | ||
ECDHE-ECDSA-AES128- GCM-SHA256 | ||
ECDHE-ECDSA-AES128-SHA256 | ||
ECDHE-ECDSA-AES128-SHA | ||
ECDHE-ECDSA-AES256- GCM-SHA384 | ||
ECDHE-ECDSA-CHACHA20-POLY1305 | ||
ECDHE-ECDSA-AES256-SHA384 | ||
ECDHE-ECDSA-AES256-SHA | ||
ECDHE-RSA-AES128- GCM-SHA256 | ||
ECDHE-RSA-AES128-SHA256 | ||
ECDHE-RSA-AES128-SHA | ||
ECDHE-RSA-AES256- GCM-SHA384 | ||
ECDHE-RSA-CHACHA20-POLY1305 | ||
ECDHE-RSA-AES256-SHA384 | ||
ECDHE-RSA-AES256-SHA | ||
AES128-GCM-SHA256 | ||
AES256-GCM-SHA384 | ||
AES128-SHA256 | ||
AES256-SHA | ||
AES128-SHA | ||
DES-CBC3-SHA |
区域自定义域支持的安全策略、TLS 协议版本和密码
下表介绍了区域自定义域名的安全策略。
TLS 协议 |
TLS_1_0 安全策略 |
TLS_1_0 安全策略 |
---|---|---|
TLSv1.3 |
||
TLSv1.2 |
||
TLSv1.1 |
||
TLSv1 |
下表描述了适用于每个安全策略的 TLS 密码。
TLS 密码 |
TLS_1_0 安全策略 |
TLS_1_0 安全策略 |
---|---|---|
TLS_AES_128_GCM_SHA256 |
||
TLS_AES_256_GCM_SHA384 |
||
TLS_CHACHA20_POLY1305_SHA256 |
||
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 |
私有 API 支持的 TLS 协议版本和密码
下表介绍了私有 API 支持的 TLS 协议。不支持为私有 API 指定安全策略。
TLS 协议 |
TLS_1_0 安全策略 |
---|---|
TLSv1.2 |
下表描述了适用于私有 API 的 TLS_1_2
安全策略的 TLS 密码。每个安全策略。
TLS 密码 |
TLS_1_0 安全策略 |
---|---|
ECDHE-ECDSA-AES128- GCM-SHA256 |
|
ECDHE-RSA-AES128- GCM-SHA256 |
|
ECDHE-ECDSA-AES128-SHA256 |
|
ECDHE-RSA-AES128-SHA256 |
|
ECDHE-ECDSA-AES256- GCM-SHA384 | |
ECDHE-RSA-AES256- GCM-SHA384 | |
ECDHE-ECDSA-AES256-SHA384 | |
ECDHE-RSA-AES256-SHA384 | |
AES128-GCM-SHA256 | |
AES128-SHA256 | |
AES256-GCM-SHA384 | |
AES256-SHA256 |
OpenSSL 和 RFC 密码名称
OpenSSL 和 IETF RFC 5246 为相同的密码使用不同的名称。下表为每个密码列出了 OpenSSL 名称及对应的 RFC 名称。
OpenSSL 密码名称 |
RFC 密码名称 |
---|---|
TLS_AES_128_GCM_SHA256 |
TLS_AES_128_GCM_SHA256 |
TLS_AES_256_GCM_SHA384 |
TLS_AES_256_GCM_SHA384 |
TLS_CHACHA20_POLY1305_SHA256 |
TLS_CHACHA20_POLY1305_SHA256 |
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 |
有关 HTTP API 和 WebSocket API 的信息
有关 HTTP API 和 WebSocket API 的更多信息,请参阅API Gateway 中的 HTTP API 的安全策略和针对 API Gateway 中的 WebSocket API 的安全策略。