Questa pagina spiega come aggiungere certificati di autorità di certificazione (CA) personalizzati al bundle di attendibilità del sistema in Google Distributed Cloud (GDC) air-gapped. Un bundle di attendibilità è una raccolta di CA attendibili che i servizi della tua organizzazione utilizzano per verificare l'identità di altri servizi. Aggiungendo le tue CA personalizzate, puoi controllare quali certificati la tua organizzazione considera attendibili, consentendo connessioni sicure alle tue risorse interne e ad altri endpoint attendibili.
Questa pagina spiega come aggiungere CA personalizzate al bundle di attendibilità del sistema trust-store-root-ext. Quando modifichi il bundle di attendibilità trust-store-root-ext, le modifiche vengono propagate automaticamente al bundle trust-store-global-root-ext, rendendo le tue CA personalizzate disponibili in tutte le zone.
Questa pagina è rivolta ai gruppi di amministratori della piattaforma (ad esempio gli amministratori IT) che devono gestire e proteggere le risorse della propria organizzazione in GDC. Per saperne di più, consulta la sezione Pubblico della documentazione di GDC con air gap.
Prima di iniziare
Per aggiungere certificati CA personalizzati al bundle di attendibilità del sistema, devi richiedere le autorizzazioni necessarie e preparare l'ambiente.
Richiedere i ruoli IAM
Per creare, leggere, aggiornare ed eliminare i secret, contatta l'amministratore IAM dell'organizzazione per richiedere il ruolo Amministratore del trust store (trust-store-admin).
Preparare l'ambiente
Generare un file kubeconfig
Completa i seguenti passaggi per generare il file kubeconfig per il cluster di infrastruttura dell'organizzazione e impostarlo come variabile KUBECONFIG da utilizzare in un secondo momento.
Visualizza tutte le zone disponibili:
gdcloud zones listPrendi nota del nome della zona che ospita la risorsa personalizzata.
Imposta la variabile di ambiente
ZONEsulla zona che ospita il cluster di infrastruttura dell'organizzazione:export ZONE="ZONE"Sostituisci
ZONEcon il nome della zona.Imposta la variabile di ambiente
ORG_INFRA_CLUSTER:export ORG_INFRA_CLUSTER="ORG_NAME-infra"Sostituisci
ORG_NAMEcon il nome della tua organizzazione, ad esempioorg-1.Genera il file kubeconfig del cluster di infrastruttura dell'organizzazione per la zona di destinazione e convalida le credenziali:
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"Il comando
rm ${KUBECONFIG:?}rimuove il file kubeconfig esistente nella home directory. Quando generi un nuovo file kubeconfig, questo sovrascrive quello esistente. Se non vuoi sovrascrivere o rimuovere il file esistente, esegui il backup in un'altra posizione sicura.
Aggiungere CA personalizzate al bundle di attendibilità del sistema
Per aggiungere CA personalizzate al bundle di attendibilità del sistema trust-store-root-ext, devi preparare la risorsa CA personalizzata e poi applicarla al cluster di infrastruttura dell'organizzazione.
Imposta la variabile di ambiente per il file PEM della CA personalizzata:
export CUSTOM_CA_PEM_FILE=CUSTOM_CA_PEM_FILESostituisci
CUSTOM_CA_PEM_FILEcon il percorso del file contenente i certificati CA personalizzati, codificati in formato PEM.Codifica i certificati CA utilizzando base64:
export ENCODED_CA=$(cat "${CUSTOM_CA_PEM_FILE:?}" | base64 -w 0)Crea il file YAML secret (
custom-ca.yaml) che ha come target il bundle di attendibilità del sistematrust-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:?} EOFDi seguito è riportato un esempio di file
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==Applica il secret al cluster di infrastruttura dell'organizzazione utilizzando il comando
kubectl:kubectl apply -f custom-ca.yaml --kubeconfig ${KUBECONFIG:?}Questo passaggio rende le tue CA personalizzate disponibili per i servizi GDC aggiornando automaticamente i bundle di attendibilità
trust-store-root-extetrust-store-global-root-ext.
Verificare che le CA siano disponibili
Verifica che le tue CA personalizzate siano state aggiunte al bundle di attendibilità:
Scarica l'ultima versione del bundle di attendibilità
trust-store-root-extseguendo i passaggi descritti in Recuperare i bundle di attendibilità GDC.Se vuoi recuperare le CA personalizzate da una zona diversa, utilizza il bundle di attendibilità
trust-store-global-root-ext.Apri il file del bundle di attendibilità scaricato e verifica che sia presente ogni certificato CA personalizzato specificato da
CUSTOM_CA_PEM_FILE.Cerca ogni certificato CA personalizzato singolarmente. L'ordine in cui vengono visualizzati può variare; non è garantito che vengano visualizzati alla fine dell'elenco.
Di seguito è riportato un esempio di
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-----