APIs中 REST API 的安全政策 - Amazon API Gateway

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

APIs中 REST API 的安全政策

安全政策是 API Gateway 所提供的最低 TLS 版本與密碼套件的預先定義組合。當您的用戶端建立 API 或自訂網域名稱的 TLS 交握時,安全政策會強制執行 API Gateway 接受的 TLS 版本和密碼套件。安全政策可保護您的 APIs 和自訂網域名稱免於發生網路安全問題,例如在用戶端和伺服器之間竄改和竊聽。

API Gateway 支援舊版安全政策和增強型安全政策。 TLS_1_0TLS_1_2 是舊版安全政策。使用這些安全政策來實現回溯相容性。以 開頭的任何政策SecurityPolicy_都是增強型安全政策。將這些政策用於受管制的工作負載、進階控管,或使用量子後密碼編譯。使用增強型安全政策時,您還必須設定端點存取模式,以進行額外的控管。如需詳細資訊,請參閱端點存取模式

API Gateway 如何套用安全政策

下列範例顯示 API Gateway 如何使用安全政策作為範例來套用SecurityPolicy_TLS13_1_3_2025_09安全政策。

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 不接受任何其他密碼套件。例如,安全政策會拒絕任何使用密碼套件的 TLS 1.3 AES128-SHA 流量。如需支援的 TLS 版本和密碼的詳細資訊,請參閱 支援的安全政策

若要監控用於存取 API Gateway 的 TLS 通訊協定和加密用戶端,您可以使用存取日誌中的 $context.tlsVersion$context.cipherSuite內容變數。如需詳細資訊,請參閱在 API Gateway 中監控 REST API

端點存取模式

端點存取模式是您必須為任何使用以 開頭的增強型安全政策的 REST API 或自訂網域名稱指定的額外參數SecurityPolicy_。您可以在建立資源時執行此操作,或將安全政策從舊版政策變更為增強型政策時執行此操作。

當端點存取模式設定為 時STRICT,對 REST API 或自訂網域名稱的任何請求都必須通過下列檢查:

  • 請求必須來自與 資源相同的 API Gateway 端點類型。這可能是來自區域、邊緣最佳化或私有端點。

  • 如果您使用區域或私有端點,API Gateway 會使用 SNI 主機比對。如果您使用邊緣最佳化端點,API Gateway 會符合 CloudFront 的網域前端保護。如需詳細資訊,請參閱網域前端

如果不符合上述任一條件,API Gateway 會拒絕請求。我們建議您盡可能使用STRICT端點存取模式。

若要遷移現有的 API 或網域名稱以使用嚴格的端點存取模式,請先將安全政策更新為增強型安全政策,並將端點存取模式設定為 BASIC。驗證流量和存取日誌之後,請將端點存取模式設定為 STRICT。當您將端點存取模式從 遷移STRICT至 時BASIC,隨著變更傳播,您的端點將無法使用約 15 分鐘。

您不應該STRICT針對特定應用程式架構將端點存取模式設定為 ,而是將端點存取模式設定為 BASIC。下表顯示一些應用程式架構和建議,讓您的 REST API 或自訂網域名稱可以使用STRICT端點存取模式。

Architecture 建議的遷移

使用 VPC 端點存取公有自訂網域名稱。

此架構使用跨端點類型流量。我們建議您遷移至 API Gateway 中的 API 私有 API 的自訂網域名稱

使用任何方法叫用不使用自訂網域名稱或私有 DNS 名稱的私有 API。

此架構會在主機標頭與 TLS 交握中使用的 SNI 之間建立不相符,並且不會通過 CloudFront 的網域前端限制。我們建議您遷移 VPC 以使用私有 DNS。

使用網域碎片將內容分散到多個網域或子網域。

此架構會在主機標頭與 TLS 交握中使用的 SNI 之間建立不相符,並且不會通過 CloudFront 的網域前端限制。我們建議您使用 HTTP/2並從此反模式遷移。

以下是使用端點存取模式的考量:

  • 如果 API 或網域名稱的端點存取模式為 STRICT,則您無法變更端點類型。若要變更端點類型,請先將端點存取模式變更為 BASIC

  • 將端點存取模式從 變更為 BASICSTRICT,API Gateway 會延遲 15 分鐘,以強制執行嚴格的端點存取模式。

  • 當您將安全政策從開頭為 的政策變更為SecurityPolicy_舊版政策時,您必須將端點存取模式取消設定為 ""

考量事項

以下是 API Gateway 中 REST APIs安全政策的考量:

  • 您可以在 OpenAPI 定義檔案中匯入安全政策。如需詳細資訊,請參閱x-amazon-apigateway-endpoint-access-mode

  • 您的 API 可以映射到與 API 具有不同安全政策的自訂網域名稱。當您叫用該自訂網域名稱時,API Gateway 會使用 API 的安全政策來交涉 TLS 交握。如果您停用預設 API 端點,則可能會影響發起人調用 API 的方式。

  • 如果您變更安全政策,更新大約需要 15 分鐘才能完成。您可以監控 API apiStatus的 。隨著 API 更新, apiStatusUPDATING ,當它完成時,它將是 AVAILABLE。當您的 API 狀態為 時UPDATING,您仍然可以叫用它。

  • API Gateway 支援所有 APIs的安全政策。不過,您只能選擇 REST APIs的安全政策。API Gateway 僅支援 HTTP 或 WebSocket APIsTLS_1_2的安全政策。

  • 您無法將 API 的安全政策從 更新TLS_1_0TLS_1_2

  • 有些安全政策同時支援 ECDSA 和 RSA 密碼套件。如果您將這種類型的政策與自訂網域名稱搭配使用,加密套件會符合客戶提供的憑證金鑰類型,可以是 RSA 或 ECDSA。如果您將這種類型的政策與 REST API 搭配使用,加密套件會符合與 RSA 憑證類型相容的加密套件。