將自訂 CA 新增至系統信任套裝組合

本頁面說明如何在 Google Distributed Cloud (GDC) 實體隔離環境中,將自訂憑證授權單位 (CA) 憑證新增至系統信任組合。信任組合是一組受信任的 CA,貴機構的服務會使用這些 CA 驗證其他服務的身分。新增自訂 CA 後,您就能控管貴機構信任的憑證,確保與內部資源和其他信任端點的連線安全無虞。

本頁說明如何將自訂 CA 新增至 trust-store-root-ext 系統信任套件。修改trust-store-root-ext信任憑證組合時,變更會自動傳播至 trust-store-global-root-ext 憑證組合,讓自訂 CA 可在所有區域使用。

本頁面適用於平台管理員群組中的對象 (例如 IT 管理員),他們需要在 GDC 中管理及保護機構資源。詳情請參閱 GDC 氣隙環境適用的目標對象說明文件

事前準備

  • 必要權限:請機構組織 IAM 管理員授予您信任儲存區管理員 (trust-store-admin) 角色。

  • Kubeconfig 檔案:登入並產生基礎架構叢集 API 伺服器的 kubeconfig 檔案 (如果沒有的話)。您需要 kubeconfig 檔案的路徑,才能在下列步驟中取代 INFRA_CLUSTER_KUBECONFIG

將自訂 CA 新增至系統信任套裝組合

如要將自訂 CA 新增至 trust-store-root-ext 系統信任套件,請準備自訂 CA 資源,然後套用至叢集。

  1. 匯出下列環境變數:

    export CUSTOM_CA_PEM_FILE=CUSTOM_CA_PEM_FILE
    export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG
    

    更改下列內容:

    • CUSTOM_CA_PEM_FILE:包含自訂 CA 憑證的檔案路徑,以 PEM 格式編碼。
    • INFRA_CLUSTER_KUBECONFIG:基礎架構叢集 kubeconfig 檔案的路徑。
  2. 使用 base64 編碼 CA 憑證:

    export ENCODED_CA=$(cat "${CUSTOM_CA_PEM_FILE:?}" | base64 -w 0)
    
  3. 建立以 trust-store-root-ext 系統信任套件為目標的密鑰 YAML 檔案 (custom-ca.yaml):

    cat > custom-ca.yaml <<EOF
    apiVersion: v1
    kind: Secret
    metadata:
      annotations:
        security.private.gdc.goog/bundles: trust-store-root-ext
      name: custom-ca
      namespace: cert-manager
    data:
      ca.crt: ${ENCODED_CA:?}
    EOF
    

    以下是 custom-ca.yaml 檔案範例:

    apiVersion: v1
    kind: Secret
    metadata:
      annotations:
        security.private.gdc.goog/bundles: trust-store-root-ext
      name: custom-ca
      namespace: cert-manager
    data:
       ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSU...LQWZRSUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    
  4. 使用 kubectl 指令將密鑰套用至基礎架構叢集:

     kubectl apply -f custom-ca.yaml --kubeconfig ${KUBECONFIG:?}
    

    這個步驟會自動更新 trust-store-root-exttrust-store-global-root-ext 信任組合,讓 GDC 服務可使用自訂 CA。

確認 CA 是否可用

確認自訂 CA 已新增至信任組合:

  1. 按照「擷取 GDC 信任組合」一文中的步驟,下載最新版 trust-store-root-ext 信任組合。

    如要從其他可用區擷取自訂 CA,請使用 trust-store-global-root-ext 信任憑證組合。

  2. 開啟下載的信任組合檔案,確認 CUSTOM_CA_PEM_FILE 中指定的每個自訂 CA 憑證都在檔案中。

    個別搜尋每個自訂 CA 憑證。顯示順序可能不同,且不保證會顯示在清單結尾。

    以下是 trust-store-root-ext 的範例:

    -----BEGIN CERTIFICATE-----
    MIIC8DCCAdigAwIBAgIQPLOPa...
    -----END CERTIFICATE-----
    ... other CAs ...
    -----BEGIN CERTIFICATE-----
       < Imported CA data>
    -----END CERTIFICATE-----
    ... other CAs ...
    -----BEGIN CERTIFICATE-----
    MIIDAzCCAeugAwIBAgIRAIV2...
    -----END CERTIFICATE-----