本頁面說明如何在 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 實體隔離方案的目標對象」說明文件。
事前準備
如要將自訂 CA 憑證新增至系統信任套件,您必須要求必要權限並準備環境。
要求 IAM 角色
如要建立、讀取、更新及刪除 Secret,請與 IAM 機構組織管理員聯絡,要求取得信任存放區管理員 (trust-store-admin) 角色。
準備環境
登入 gdcloud CLI。
產生 kubeconfig 檔案
請完成下列步驟,為組織基礎架構叢集產生 kubeconfig 檔案,並將其設為 KUBECONFIG 變數,以便稍後使用。
查看所有可用區:
gdcloud zones list記下託管自訂資源的區域名稱。
將
ZONE環境變數設為託管組織基礎架構叢集的可用區:export ZONE="ZONE"將
ZONE替換為區域名稱。設定
ORG_INFRA_CLUSTER環境變數:export ORG_INFRA_CLUSTER="ORG_NAME-infra"將
ORG_NAME替換為貴組織的名稱,例如org-1。為目標可用區產生組織基礎架構叢集 kubeconfig 檔案,並驗證憑證:
export KUBECONFIG=${HOME}/${ORG_INFRA_CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${ORG_INFRA_CLUSTER:?} --zone ${ZONE:?} [[ $(kubectl config current-context) == *${ORG_INFRA_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"rm ${KUBECONFIG:?}指令會移除主目錄中現有的 kubeconfig 檔案。產生新的 kubeconfig 檔案時,會覆寫現有檔案。如果不想覆寫或移除現有檔案,請將檔案備份到其他安全位置。
將自訂 CA 新增至系統信任套裝組合
如要將自訂 CA 新增至 trust-store-root-ext 系統信任套裝組合,您必須準備自訂 CA 資源,然後將其套用至組織基礎架構叢集。
設定自訂 CA PEM 檔案的環境變數:
export CUSTOM_CA_PEM_FILE=CUSTOM_CA_PEM_FILE將
CUSTOM_CA_PEM_FILE替換為包含自訂 CA 憑證的檔案路徑,並以 PEM 格式編碼。使用 base64 編碼 CA 憑證:
export ENCODED_CA=$(cat "${CUSTOM_CA_PEM_FILE:?}" | base64 -w 0)建立 Secret YAML 檔案 (
custom-ca.yaml),指定trust-store-root-ext系統信任套件: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==使用
kubectl指令,將 Secret 套用至組織基礎架構叢集:kubectl apply -f custom-ca.yaml --kubeconfig ${KUBECONFIG:?}這個步驟會自動更新
trust-store-root-ext和trust-store-global-root-ext信任套件,讓 GDC 服務可以使用自訂 CA。
確認 CA 可用
確認自訂 CA 已新增至信任套件:
按照「擷取 GDC 信任套件」中的步驟,下載最新版本的
trust-store-root-ext信任套件。如要從其他可用區擷取自訂 CA,請使用
trust-store-global-root-ext信任套件。開啟下載的信任套件檔案,確認
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-----