选择针对 API Gateway 中自定义域的安全策略 - Amazon API Gateway
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

选择针对 API Gateway 中自定义域的安全策略

安全策略 是 API Gateway 提供的最低 TLS 版本和密码套件的预定义组合。当您的客户端与您的 API 或自定义域名建立 TLS 握手时,安全策略会强制实施 API Gateway 接受的 TLS 版本和密码套件。安全策略会保护您的 API 和自定义域名免受网络安全问题的侵扰,例如客户端和服务器之间的篡改和侦听。

API Gateway 支持传统安全策略和增强型安全策略。TLS_1_0TLS_1_2 是传统安全策略。将这些安全策略用于通用工作负载,或者开始创建 API。任何以 SecurityPolicy_ 开头的策略都是增强型安全策略。可将这些策略用于受监管的工作负载、高级治理或后量子密码术。使用增强型安全策略时,还必须设置端点访问模式以进行更多治理。有关更多信息,请参阅 端点访问模式

注意事项

以下是 API Gateway 中针对 REST API 自定义域名的安全策略的注意事项:

  • 您无法对使用增强型安全策略的域名启用双向 TLS。

  • 您无法将 HTTP API 映射到使用增强型安全策略的域名。

  • 如果为使用增强型安全策略的 REST API 启用多级基础路径映射,则无法为同一域名创建指向 HTTP API 的基础路径映射。

  • 您的 API 可以映射到与 API 具有不同安全策略的自定义域名。当您调用该自定义域名时,API Gateway 会使用 API 的安全策略来协商 TLS 握手。如果您禁用默认 API 端点,则这可能会影响调用方调用 API 的方式。

  • API Gateway 支持对所有 API 应用安全策略。但是,您只能为 REST API 选择安全策略。对于 HTTP 或 WebSocket API,API Gateway 仅支持 TLS_1_2 安全策略。

  • API Gateway 不支持为具有多种端点类型的域名更新安全策略。如果域名有多种端点类型,请删除其中一个以更新安全策略。

API Gateway 如何应用安全策略

以下示例以 SecurityPolicy_TLS13_1_3_2025_09 安全策略为例,显示 API Gateway 如何应用安全策略。

SecurityPolicy_TLS13_1_3_2025_09 安全策略接受 TLS 1.3 流量并拒绝 TLS 1.2 和 TLS 1.0 流量。对于 TLS 1.3 流量,该安全策略接受以下密码套件:

  • TLS_AES_128_GCM_SHA256

  • TLS_AES_256_GCM_SHA384

  • TLS_CHACHA20_POLY1305_SHA256

API Gateway 不接受任何其他密码套件。例如,该安全策略将拒绝使用 AES128-SHA 密码套件的任何 TLS 1.3 流量。

要监控客户端使用哪些 TLS 协议和密码来访问您的 API Gateway,您可以在访问日志中使用 $context.tlsVersion$context.cipherSuite 上下文变量。有关更多信息,请参阅 监控 API Gateway 中的 REST API

要查看所有 REST API 和自定义域名的默认安全策略,请参阅默认安全策略。要查看所有 REST API 和自定义域名支持的安全策略,请参阅支持的安全策略

更改您的自定义域名的安全策略

如果您更改安全策略,大约需要 15 分钟才能完成更新。您可以监控自定义域名的 lastUpdateStatus。当您的自定义域名更新时,lastUpdateStatusPENDING,更新完成后,它将变为 AVAILABLE

当您使用以 SecurityPolicy_ 开头的安全策略时,还必须打开端点访问模式。有关更多信息,请参阅 端点访问模式

Amazon Web Services 管理控制台
更改自定义域名的安全策略
  1. 通过以下网址登录到 Amazon API Gateway 控制台:https://console.aws.amazon.com/apigateway

  2. 选择将流量发送到 REST API 的自定义域名。

    确保只有一种端点类型与您的自定义域名关联。

  3. 选择自定义域名设置,然后选择编辑

  4. 对于安全策略,选择一个新策略。

  5. 对于端点访问模式,请选择严格

  6. 选择保存更改

Amazon CLI

以下 update-domain-name 命令将域名更新为使用 SecurityPolicy_TLS13_1_3_2025_09 安全策略:

aws apigateway update-domain-name \ --domain-name example.com \ --patch-operations '[ { "op": "replace", "path": "/securityPolicy", "value": "SecurityPolicy_TLS13_1_3_2025_09" }, { "op": "replace", "path": "/endpointAccessMode", "value": "STRICT" } ]'

输出将与以下内容类似:

{ "domainName": "example.com", "endpointConfiguration": { "types": [ "REGIONAL" ], "ipAddressType": "dualstack" }, "regionalCertificateArn": "arn:aws:acm:us-west-2:111122223333:certificate/a1b2c3d4-5678-90ab-cdef", "securityPolicy": "SecurityPolicy_TLS13_1_3_2025_09", "endpointAccessMode": "STRICT" }

有关 HTTP API 和 WebSocket API 的信息

有关 HTTP API 和 WebSocket API 的更多信息,请参阅API Gateway 中的 HTTP API 的安全策略针对 API Gateway 中的 WebSocket API 的安全策略