安全資料傳輸層 (SSL) 憑證總覽

SSL/TLS 是網路上最廣為使用的密碼編譯通訊協定。從技術上來說,TLS 是 SSL 的後繼技術,但這兩個詞有時會互通使用,就像這份文件一樣。

傳輸層安全標準 (TLS) 可在資訊透過網路傳送時加密,確保用戶端與伺服器或負載平衡器之間的隱私權。使用 SSL 的應用程式負載平衡器或 Proxy 網路負載平衡器,至少需要一個私密金鑰和 SSL 憑證。

憑證設定方法

Google Cloud 提供三種憑證設定方法,適用於使用目標 HTTPS Proxy 的應用程式負載平衡器,以及使用目標 SSL Proxy 的 Proxy 網路負載平衡器。

  • 目標 Proxy 參照 Compute Engine SSL 憑證:使用這種方法時,負載平衡器的目標 Proxy 最多可參照 15 個 Compute Engine SSL 憑證資源。每個 Compute Engine SSL 憑證資源都包含私密金鑰、對應的憑證,以及 (選用) CA 憑證。

  • 目標 Proxy 參照 Certificate Manager 憑證對應關係:使用這個方法時,負載平衡器的目標 Proxy 會參照單一憑證對應關係。憑證對應預設支援數千個項目,且可擴充至數百萬個項目。每個項目都包含私密金鑰和憑證資料。

  • 目標 Proxy 直接參照 Certificate Manager 憑證:使用這個方法時,負載平衡器的目標 Proxy 最多可參照 100 個 Certificate Manager 憑證

負載平衡器支援

下表列出各負載平衡器支援的憑證設定方法。

負載平衡器 憑證設定方式:目標 Proxy 參照...
Compute Engine SSL 憑證 Certificate Manager 憑證對應關係 直接使用 Certificate Manager 憑證
應用程式負載平衡器 (目標 HTTPS Proxy)
全域外部應用程式負載平衡器 支援 全球 憑證
自行管理
Google 代管
自行管理
Google 管理
傳統版應用程式負載平衡器 支援 全球 憑證
自行管理
Google 代管
自行管理
Google 管理
區域性外部應用程式負載平衡器 支援區域憑證
自行管理
Google 代管
自行管理
Google 管理
區域性內部應用程式負載平衡器 支援區域憑證
自行管理
Google 代管
自行管理
Google 管理
跨區域內部應用程式負載平衡器 自行管理
Google 管理
Proxy 網路負載平衡器 (目標 SSL Proxy)
全域外部 Proxy 網路負載平衡器 支援 全球 憑證
自行管理
Google 代管
自行管理
Google 管理
傳統版 Proxy 網路負載平衡器 支援 全球 憑證
自行管理
Google 代管
自行管理
Google 管理

設定方法規則

Google Cloud 會強制執行下列憑證設定方法規則:

  • 對於同時支援 Compute Engine SSL 憑證和 Certificate Manager 憑證對應的負載平衡器:負載平衡器的目標 Proxy 可以同時參照憑證對應和一或多個 Compute Engine SSL 憑證;不過,在這種情況下,系統會忽略所有 Compute Engine SSL 憑證,負載平衡器只會使用憑證對應中的憑證。

  • 對於同時支援 Compute Engine SSL 憑證和直接附加的 Certificate Manager 憑證的負載平衡器:負載平衡器的目標 Proxy 最多只能設定為參照 15 個 Compute Engine SSL 憑證,或最多 100 個 Certificate Manager 憑證,不能同時參照兩者。

憑證類型

Google Cloud 支援自行管理和 Google 代管的憑證。

自行管理的安全資料傳輸層 (SSL) 憑證

自行管理的 SSL 憑證是指您自行取得、佈建及更新的憑證。自行管理的憑證可以是下列任何一種公開金鑰憑證類型:

  • 網域驗證 (DV)
  • 機構驗證 (OV)
  • 延伸驗證 (EV) 憑證

您可以使用下列工具建立自行管理的 SSL 憑證:

Google 代管的安全資料傳輸層 (SSL) 憑證

Google 代管的 SSL 憑證是由 Google Cloud 取得、管理及自動更新。Google 代管憑證一律為網域驗證 (DV) 憑證。無法證明與憑證相關聯之機構或個人的身分。

使用 DNS 授權時,只有憑證管理工具支援使用萬用字元的 Google 代管憑證。

您可以使用下列方式建立 Google 代管的 SSL 憑證:

  • Compute Engine SSL 憑證資源:只有全域 Compute Engine sslCertificates 資源支援 Google 代管的 SSL 憑證;regionSslCertificates 不支援。全球 Compute Engine SSL 憑證僅支援公開信任的 Google 代管憑證。詳情請參閱「使用 Google 代管的 SSL 憑證」。
  • 憑證管理工具:憑證管理工具憑證 (包括全域和區域憑證) 支援公開信任的 Google 代管憑證和私下信任的 Google 代管憑證。詳情請參閱 Certificate Manager 說明文件中的「憑證」。

支援的金鑰類型

負載平衡器支援使用不同金鑰類型私密金鑰的憑證。下表列出支援的金鑰類型,取決於憑證是全域或區域,以及是自行管理或由 Google 管理。
SSL 憑證類型 arrow_forward

金鑰類型 arrow_downward
Compute Engine SSL 憑證 Certificate Manager SSL 憑證
全球 區域 全域和區域
自行管理 Google 代管的公開信任憑證 自行管理 自行管理 Google 代管的公開信任憑證 私下信任的 Google 代管憑證
RSA-2048
RSA-3072
RSA-4096
ECDSA P-256
ECDSA P-384
如要進一步瞭解 Certificate Manager 憑證,請參閱 Certificate Manager 說明文件

多個 SSL 憑證

如果使用支援的憑證設定方法設定目標 Proxy,應用程式負載平衡器或 Proxy 網路負載平衡器就能同時代管兩個以上的 SSL 憑證。最佳做法是需要多個 SSL 憑證時,使用 Certificate Manager。

  • 支援 Compute Engine SSL 憑證的負載平衡器:負載平衡器的目標 Proxy 最多可參照 15 個 Compute Engine SSL 憑證。第一個參照的 Compute Engine SSL 憑證資源是目標 Proxy 的預設 (主要) 憑證。

  • 對於支援 Certificate Manager 憑證對應關係的負載平衡器:負載平衡器的目標 Proxy 會參照單一憑證對應關係。憑證對應關係支援數千個憑證對應項目。您可以設定憑證對應中的預設 (主要) 憑證項目

  • 對於支援直接參照 Certificate Manager 憑證的負載平衡器:負載平衡器的目標 Proxy 最多可參照 100 個 Certificate Manager 憑證。第一個參照的 Certificate Manager SSL 憑證資源,是目標 Proxy 的預設 (主要) 憑證。

如需詳細資訊,請參閱:

憑證選取程序

如果負載平衡器的目標 Proxy 參照多個 Compute Engine SSL 憑證或多個 Certificate Manager 憑證,系統會按照下列程序選取憑證。

如果負載平衡器的目標 Proxy 參照 Certificate Manager 憑證對應關係,憑證選取程序會有所不同。如要瞭解憑證對應關係的憑證選取程序詳情,請參閱 Certificate Manager 說明文件中的「憑證選取邏輯」。

用戶端連線至負載平衡器後,用戶端和負載平衡器會協商 TLS 工作階段。在 TLS 工作階段交涉期間,用戶端會將支援的 TLS 密碼清單傳送給負載平衡器 (位於 ClientHello 中)。負載平衡器會選取公開金鑰演算法與用戶端相容的憑證。用戶端也可以在交涉過程中,將伺服器名稱指示 (SNI) 主機名稱傳送至負載平衡器。有時,負載平衡器會使用 SNI 主機名稱資料,選取要傳送給用戶端的憑證。

  • 如果負載平衡器的目標 Proxy 只參照一個憑證,系統就會使用該憑證,而用戶端傳送的 SNI 主機名稱值則不相關。

  • 如果負載平衡器的目標 Proxy 參照兩個以上的憑證,負載平衡器會使用下列程序選取單一憑證:

    • 如果用戶端未在 ClientHello 中傳送任何 SNI 主機名稱,負載平衡器會使用憑證清單中的第一個憑證。

    • 如果用戶端傳送的 SNI 主機名稱與任何憑證的通用名稱 (CN) 不符,且與任何憑證的主體別名 (SAN) 不符,負載平衡器就會使用憑證清單中的第一個憑證。

    • 在所有其他情況下,負載平衡器會使用下列比對程序選取憑證:

      • 系統會根據一般名稱 (CN) 和主體別名 (SAN) 憑證屬性,比對最長後置字串,並優先選取 ECDSA 憑證,而非 RSA 憑證。

      • 為說明比對方法,請考慮參照下列兩項憑證的目標 Proxy:

        • 憑證 A

          • CN:cats.pets.example.com
          • SAN:cats.pets.example.com*.pets.example.com*.example.com
        • 憑證 B

          • CN:dogs.pets.example.com
          • SAN:dogs.pets.example.com*.pets.example.com*.example.com
      • 現在請考慮下列情境:

        • 如果用戶端傳送的 SNI 主機名稱為 cats.pets.example.com,負載平衡器會使用憑證 A。
        • 如果用戶端傳送的 SNI 主機名稱為 ferrets.pets.example.com,由於沒有完全相符的憑證,負載平衡器會選取其中一個憑證 (憑證 A 或憑證 B),因為兩者都包含 *.pets.example.com 在 SAN 清單中。在這種情況下,您無法控制選取的憑證。
  • 選取憑證後,負載平衡器會僅在所選憑證使用的公開金鑰演算法與用戶端在 ClientHello 中傳送的密碼相容時,將該憑證傳送給用戶端。如果用戶端不支援包含負載平衡器所選憑證公開金鑰演算法 (ECDSA 或 RSA) 的密碼編譯套件,TLS 交涉就會失敗。

定價

使用 Google Cloud 負載平衡器時,會產生網路費用。 詳情請參閱「所有網路定價」。如需 Certificate Manager 定價資訊,請參閱 Certificate Manager 說明文件中的「定價」一節。使用 Compute Engine SSL 憑證資源不會產生額外費用。

後續步驟

歡迎試用

如果您未曾使用過 Google Cloud,歡迎建立帳戶來評估我們的產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。

免費試用