跳至內容

如何使用 CloudFront 加密安全政策保護我的 API Gateway 替代網域名稱?

2 分的閱讀內容
0

我想要使用加密安全政策,為搭配 Amazon CloudFront 發佈項目的 Amazon API Gateway 替代網域名稱提供額外安全性。

簡短說明

CloudFront 支援安全通訊協定與加密套件,協助確保檢視者或用戶端和 CloudFront 邊緣節點之間進行安全通訊。CloudFront 會依據您為 CloudFront 發佈項目選取的安全政策,使用對應的通訊協定與加密套件。CloudFront 的安全政策皆為預先定義,您無法在這些政策中個別新增或移除加密套件。

**注意:**最佳實務是使用最安全的安全政策,例如 TLSv1.2_2021。CloudFront 使用 s2n-tls 實作 TLS。CloudFront 支援 TLS 1.0、1.1、1.2 和 1.3 版。如需更多資訊,請參閱 CloudFront 支援哪些安全通訊協定與加密套件?

解決方法

若要建立 CloudFront 發佈項目並新增您的替代 (自訂) 網域名稱,請執行以下動作。此組態會確保傳送至替代網域名稱的所有 API 請求,都透過具備加密套件政策的 CloudFront 發佈項目路由。

請求或匯入 ACM 憑證

使用 AWS Certificate Manager (ACM) 主控台,為您的替代網域名稱請求公共憑證匯入現有憑證

建立 CloudFront 發佈項目

請完成以下步驟:

  1. 開啟 CloudFront console (CloudFront 主控台)。
  2. 在導覽窗格中,選擇 Distributions (發佈項目),然後選擇 Create distribution (建立發佈項目)。
  3. Choose a plan (選擇方案),選取發佈項目的方案,然後選擇 Next (下一步)。
  4. Distribution name (發佈項目名稱),輸入發佈項目的名稱。
  5. Distribution type (發佈項目類型),選擇 Single website or app (單一網站或應用程式),然後選擇 Next (下一步)。
  6. Origin type (原始伺服器類型),選擇 API Gateway
  7. API Gateway origin (API Gateway 原始伺服器),選擇 Browse APIs (瀏覽 API),然後選取您的 API Gateway 調用網址。例如,api-id.execute-api.region.amazonaws.com
  8. 選擇 APIGATEWAY Version (APIGATEWAY 版本) 下拉式清單,然後選擇 REST API
  9. API name (API 名稱),選取您的 API 名稱,然後選擇 Choose (選擇)。
  10. 選擇 Next (下一步)。
  11. Web Application Firewall (WAF),選擇 Do not enable security protections (不要啟用安全防護),然後選擇 Next (下一步)。
  12. 選擇 Create distribution. (建立發佈項目)。

新增替代網域名稱

請完成以下步驟:

  1. 開啟 CloudFront console (CloudFront 主控台)。
  2. 在導覽窗格中,選擇 Distributions (發佈項目)。
  3. 選取您在上一個步驟建立的發佈項目。
  4. 選擇 General (一般) 索引標籤,然後在 Alternate domain names (替代網域名稱),選擇 Add domain (新增網域)。
  5. Domains (網域),輸入由發佈項目提供服務的網域名稱,然後選擇 Next (下一步)。
  6. TLS certificate (TLS 憑證),選取您在上一個步驟建立的 ACM 憑證,然後選擇 Next (下一步)。
  7. Review changes (檢閱變更) 頁面上,選擇 Add domains (新增網域)。

建立 Route 53 別名記錄

請完成以下步驟:

  1. 開啟Route 53 console (Route 53 主控台)。
  2. 在導覽窗格中,選擇 Hosted zones (託管區域)。
  3. Hosted zone names (託管區域名稱),選取發佈項目的託管區域名稱。
  4. Records (記錄),選擇Create record (建立記錄)。
  5. Record name (記錄名稱),輸入發佈項目的記錄名稱。
  6. Alias (別名),開啟切換開關。
  7. Route traffic to (將流量路由到),輸入 Alias to CloudFront distribution (CloudFront 發佈項目的別名)。
  8. Choose distribution (選擇發佈項目) 搜尋列中,輸入您的發佈項目名稱。
  9. Routing policy (路由政策),選擇 Simple routing (簡便路由)。
  10. 選擇 Create records (建立記錄)。Status (狀態) 會從PENDING (擱置中) 變更為INSYNC (同步中)。

(選用) 更新 CloudFront 發佈項目的加密安全政策

請完成以下步驟:

  1. 開啟 CloudFront console (CloudFront 主控台)。
  2. 在導覽窗格中,選擇 Distributions (發佈項目)。
  3. 選取您在建立 CloudFront 發佈項目區段中建立的發佈項目。
  4. 選擇 General (一般) 索引標籤,然後選擇 Edit (編輯)。
  5. Security policy (安全政策),選取您偏好的 SSL/TLS protocol and ciphers (SSL/TLS 通訊協定與加密套件)。
    **注意:**依預設,所有 CloudFront 發佈項目皆已啟用 TLS 1.3 版。
  6. 選擇 Save changes (儲存變更)。

**注意:**您也可以使用 API Gateway 主控台變更自訂網域名稱的安全政策

疑難排解問題

如果您收到 DNS 解析或 SSL 憑證不相符錯誤,請檢查組態需求。如需更多資訊,請參閱如何解決 Amazon API Gateway 自訂網域名稱的 DNS 解析或 SSL 憑證不相符錯誤?

如果您收到憑證已過期或「invalid certificate」錯誤,請檢查 ACM 組態。如需更多資訊,請參閱使用自訂網域名稱調用 API Gateway API 時,如何解決憑證已過期或「invalid certificate」錯誤?

如果系統傳回錯誤的憑證,請參閱為什麼調用我的 API Gateway 自訂網域名稱時,系統傳回錯誤的憑證?

若要疑難排解後端整合的憑證錯誤,請參閱如何疑難排解後端整合的 API Gateway SSL 憑證錯誤?

相關資訊

使用 Amazon CloudFront 搭配安全加密套件保護 Amazon API Gateway

AWS 官方已更新 7 個月前