Ruota il certificato di convalida del pacchetto

Questa pagina descrive come ruotare l'autorità di certificazione radice utilizzata per la convalida dei pacchetti nell'appliance isolata di Google Distributed Cloud (GDC)

La convalida del pacchetto GDC utilizza un'autorità di certificazione (CA) radice per convalidare i certificati delle chiavi di rilascio. Per questo motivo è fondamentale ruotare periodicamente il certificato CA radice. Devi ruotare la CA radice se ti viene chiesto di farlo tramite un avviso di rilascio o il messaggio di avviso che potrebbe essere visualizzato durante l'esecuzione di un upgrade.

Prima di iniziare

Per ruotare il certificato di convalida del pacchetto, devi disporre dei ruoli di identità e accesso necessari:

  • Assicurati di disporre dell'accesso in scrittura a package-validation-root-certs ConfigMap.
  • Chiedi all'Amministratore sicurezza di concederti il ruolo Esegui upgrade di Debugger (upgrade-debugger-cp).

Verifica della rotazione del certificato obbligatoria

Verifica che sia necessaria la rotazione di un certificato di convalida del pacchetto prima di eseguire l'operazione:

  1. Imposta la variabile di ambiente KUBECONFIG:

    $ KUBECONFIG=PATH_TO_KUBECONFIG_FILE
    

    Sostituisci PATH_TO_KUBECONFIG_FILE con il percorso del file kubeconfig che hai ottenuto eseguendo gdcloud auth login nel cluster di amministrazione principale.

  2. Determina se è necessario un upgrade confrontando il trust anchor attuale con l'ultimo trust anchor. I dati ConfigMap in harbor-system/package-validation-root-certs vengono confrontati con il trust anchor locale:

    $ CURRENT_TRUST_ANCHOR=$(kubectl  --kubeconfig=$KUBECONFIG get cm package-validation-root-certs -n harbor-system -o jsonpath='{.data.ca\.crt}')
    
    $ LATEST_TRUST_ANCHOR=$(cat /root/release/staging_root_ca_certificate.crt)
    
    $ diff <( echo "$CURRENT_TRUST_ANCHOR" ) <( echo "$LATEST_TRUST_ANCHOR" ) && echo trust anchors are same  || echo trust anchors are different, upgrade required!
    

Eseguire la rotazione dei certificati e l'upgrade sull'appliance

Per ruotare l'oggetto ConfigMap che si trova in harbor-system/package-validation-root-certs nel cluster di amministrazione principale, segui questi passaggi. L'operatore dell'infrastruttura deve disporre dell'accesso in scrittura a ConfigMap.

  1. Crea e assegna valori alle seguenti variabili:

    USERNAME=USER_NAME #IO
    TARGET_FOLDER=/tmp/${USERNAME}
    OUTPUT="${TARGET_FOLDER}/package-validation-root-certs.yaml"
    LATEST_TRUST_ANCHOR_CA_FILE=/root/release/staging_root_ca_certificate.crt
    CONFIGMAP_NAME=package-validation-root-certs
    NAMESPACE=harbor-system
    

    Sostituisci USER_NAME con il nome utente IO.

  2. Crea la cartella di destinazione che conterrà i file di output del processo di rotazione dei certificati:

    mkdir -p "${TARGET_FOLDER}"
    
  3. Aggiorna e sostituisci il valore di LATEST_TRUST_ANCHOR:

      cat <<EOF  > "${OUTPUT}"
      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: ${CONFIGMAP_NAME}
        namespace: ${NAMESPACE}
      data:
        ca.crt: |
      $(sed 's/^/    /' "${LATEST_TRUST_ANCHOR_CA_FILE}")
      EOF
    
  4. Applica la nuova configurazione con kubectl:

      kubectl apply -f ${OUTPUT}
    
  5. Assicurati che il file ca.crt appena applicato sia presente in ConfigMap:

      kubectl describe configmap package-validation-root-certs -n harbor-system
    

In questo modo viene gestita la rotazione di un nuovo certificato in package-validation-root-cert.