Rotazione delle credenziali di sicurezza

Questo argomento descrive come ruotare le credenziali di sicurezza per il servizio di gestione GKE su AWS e i cluster utente. Per maggiori informazioni sulle funzionalità di sicurezza di GKE su AWS, consulta Sicurezza.

Prima di iniziare

Per completare i passaggi in questa pagina, devi avere accesso alla directory con la configurazione di GKE su AWS.

Certificati del servizio di gestione

Questa sezione descrive come ruotare i certificati per il servizio di gestione.

Autorità di certificazione di gestione

Questa sezione spiega come ruotare i certificati di firma dell'autorità di certificazione (CA) per i componenti GKE su AWS.

CA principale del server API di gestione

Per ruotare la CA principale del server API, svolgi i seguenti passaggi:

  1. Passa alla directory con la configurazione di GKE su AWS. Hai creato questa directory durante la installazione del servizio di gestione.
    cd anthos-aws
  2. Apri il file anthos-gke.status.yaml in un editor di testo.
  3. Rimuovi tutti i valori sotto la chiave certificateAuthority. Sono inclusi encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value e encryptedPrivateKey.certificate.
  4. Esegui anthos-gke aws management init per aggiornare il anthos-gke.status.yaml file.

     anthos-gke aws management init
    
  5. Esegui anthos-gke aws management apply per aggiornare il servizio di gestione.

     anthos-gke aws management apply
    

  1. Dalla directory anthos-aws, utilizza anthos-gke per cambiare contesto e passare al servizio di gestione.
    cd anthos-aws
    anthos-gke aws management get-credentials

Altre CA di gestione

Questa sezione descrive come ruotare tutte le seguenti CA:

  • CA webhook di autenticazione
  • CA Etcd
  • CA di firma dell'account di servizio

Puoi ruotare queste CA con uno dei seguenti metodi:

  • Rimuovi la sezione certificateAuthority da anthos-gke.status.yaml.

    1. Passa alla directory con la configurazione di GKE su AWS. Hai creato questa directory durante la installazione del servizio di gestione.
      cd anthos-aws
    2. Apri il file anthos-gke.status.yaml in un editor di testo.
    3. Rimuovi tutti i valori sotto la chiave certificateAuthority. Sono inclusi encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value e encryptedPrivateKey.certificate.
    4. Esegui anthos-gke aws management init per aggiornare il anthos-gke.status.yaml file.

       anthos-gke aws management init
      
    5. Esegui anthos-gke aws management apply per aggiornare il servizio di gestione.

       anthos-gke aws management apply
      

  • Se è disponibile una nuova versione di GKE su AWS, esegui l'upgrade del servizio di gestione GKE su AWS.

  • Ricrea l'istanza EC2 del servizio di gestione.

    1. Dalla directory anthos-aws, utilizza terraform per ottenere l'ID del servizio di gestione.
      cd anthos-aws
      terraform output cluster_id
      L'output include l'ID del servizio di gestione. Nell'esempio seguente, l'ID è gke-12345abc.
      terraform output cluster_id
      gke-12345abc
      
    2. Apri la console AWS EC2.
    3. Fai clic su Istanze.
    4. Trova l'istanza denominata cluster-id-management-0.
    5. Seleziona Azioni -> Stato istanza -> Termina per rimuovere l'istanza. EC2 crea automaticamente una nuova istanza con lo stesso volume EBS.

Gestire le chiavi e i certificati TLS client / server

Per ruotare le chiavi e i certificati client / server TLS per il servizio di gestione, rigenera l'istanza del servizio di gestione. Per ricreare l'istanza, segui questi passaggi:

  1. Dalla directory anthos-aws, utilizza terraform per ottenere l'ID del servizio di gestione.
    cd anthos-aws
    terraform output cluster_id
    L'output include l'ID del servizio di gestione. Nell'esempio seguente, l'ID è gke-12345abc.
    terraform output cluster_id
    gke-12345abc
    
  2. Apri la console AWS EC2.
  3. Fai clic su Istanze.
  4. Trova l'istanza denominata cluster-id-management-0.
  5. Seleziona Azioni -> Stato istanza -> Termina per rimuovere l'istanza. EC2 crea automaticamente una nuova istanza con lo stesso volume EBS.

Account di servizioGoogle Cloud

Account di servizio del servizio di gestione

Per ruotare gli Google Cloud account di servizio per il servizio di gestione, svolgi i seguenti passaggi.

  1. Crea nuovi account di servizio e scarica le relative chiavi seguendo i passaggi descritti in Prerequisiti.
  2. Passa alla directory con la configurazione di GKE su AWS. Hai creato questa directory durante la installazione del servizio di gestione.
    cd anthos-aws
  3. Se hai scaricato le chiavi in un percorso diverso, apri il file anthos-gke.yaml in un editor di testo. Modifica il valore di .spec.googleCloud.serviceAccountKeys.managementService, .status.googleCloud.serviceAccountKeys.connectAgent e .spec.googleCloud.serviceAccountKeys.node in base ai nuovi percorsi.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSManagementService
    metadata:
     name: management
    spec:
     googleCloud:
       serviceAccountKeys:
         managementService: MANAGEMENT_KEY_PATH
         connectAgent: CONNECT_KEY_PATH
         node: NODE_KEY_PATH
     ...
    
  4. Esegui anthos-gke aws management init per aggiornare il anthos-gke.status.yaml file.

    anthos-gke aws management init
    
  5. Esegui anthos-gke aws management apply per aggiornare il servizio di gestione.

    anthos-gke aws management apply
    

Account di servizio del cluster utente

Per applicare questi account di servizio agli AWSCluster e agli AWSNodePool, devi eseguire l'upgrade o l'eliminazione, quindi la ri-creazione.

Certificati dei cluster di utenti

Questa sezione descrive come ruotare i certificati per i cluster di utenti.

Chiavi SSH e CA dei cluster utente

La maggior parte delle CA per i cluster utente viene creata al momento della creazione del cluster.

Quando elimini un cluster utente, GKE su AWS esegue la rotazione dei seguenti certificati:

  • CA radice del server API
  • CA proxy API anteriore
  • CA etcd
  • CA di firma dell'account di servizio Kubernetes
  • Coppie di chiavi SSH dal control plane al nodo

CA dell'webhook di autenticazione del cluster utente

Per ruotare l'autorità di certificazione del webhook di autenticazione del cluster utente, modifica il file anthos-gke.status.yaml e applica le modifiche.

  1. Passa alla directory con la configurazione di GKE su AWS. Hai creato questa directory durante la installazione del servizio di gestione.
    cd anthos-aws
  2. Apri il file anthos-gke.status.yaml in un editor di testo.
  3. Rimuovi tutti i valori sotto la chiave certificateAuthority. Sono inclusi encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value e encryptedPrivateKey.certificate.
  4. Esegui anthos-gke aws management init per aggiornare il anthos-gke.status.yaml file.

     anthos-gke aws management init
    
  5. Esegui anthos-gke aws management apply per aggiornare il servizio di gestione.

     anthos-gke aws management apply
    

Coppie di chiavi e certificati TLS del cluster utente

GKE su AWS genera coppie di chiavi e certificati TLS durante la creazione di un'istanza. Per ruotare queste coppie, ricrea l'istanza svolgendo i seguenti passaggi per il piano di controllo e i pool di nodi.

Piano di controllo

  1. Dalla directory anthos-aws, utilizza anthos-gke per cambiare contesto e passare al servizio di gestione.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Utilizza kubectl per recuperare il gruppo di destinazione AWS EC2 del tuo control plane da AWSCluster.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awscluster cluster-name \
      -o jsonpath='{.status.targetGroupName}{"\n"}'
    

    L'output include il nome del gruppo di destinazione EC2 del piano di controllo. Ad esempio, gke-123456a7-controlplane.

  3. Apri la console AWS EC2. Scegli Gruppi di destinazione dal riquadro a sinistra.

  4. Fai clic sulla barra di ricerca e trova il gruppo di destinazione. Fai clic sul nome del gruppo di destinazione, quindi su Target. Viene visualizzato l'elenco delle istanze del piano di controllo.

  5. Per ogni istanza del gruppo di destinazione, svolgi i seguenti passaggi:

    1. Fai clic sull'ID istanza dell'istanza. Viene visualizzata la console delle istanze AWS EC2.

    2. Fai clic sull'ID istanza.

    3. Seleziona Azioni -> Stato istanza -> Termina per rimuovere l'istanza. EC2 crea automaticamente una nuova istanza con lo stesso volume EBS.

    4. Torna alla pagina Gruppi di destinazione.

  6. Dopo aver terminato tutte le istanze del gruppo, torna alla pagina Gruppi di destinazione.

  7. Nella sezione Target registrati della pagina, individua la colonna Stato. Lo stato di ogni istanza dovrebbe essere Intatto. Se una delle istanze è in stato integro, attendi alcuni minuti e fai clic sull'icona Aggiorna ().

  8. Dopo che tutte le istanze del gruppo di destinazione sono in stato integro, vai al passaggio successivo.

Pool di nodi

Per ruotare i certificati TLS del pool di nodi:

  1. Dalla directory anthos-aws, utilizza anthos-gke per cambiare contesto e passare al servizio di gestione.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Utilizza kubectl per ottenere il gruppo di destinazione AWS EC2 del tuo pool di nodi da AWSNodePool.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awsnodepool -o jsonpath='{.items[*].status.autoScalingGroupName}{"\n"}'
    

    L'output include il nome del gruppo di destinazione EC2 del pool di nodi. Ad esempio, gke-123456a7-nodepool-abc123.

  3. Apri la console AWS EC2. Scegli Gruppi di destinazione dal riquadro a sinistra.

  4. Fai clic sulla barra di ricerca e trova il gruppo di destinazione. Fai clic sul nome del gruppo di destinazione, quindi su Target. Viene visualizzato l'elenco delle istanze del piano di controllo.

  5. Per ogni istanza del gruppo di destinazione, svolgi i seguenti passaggi:

    1. Fai clic sull'ID istanza dell'istanza. Viene visualizzata la console delle istanze AWS EC2.

    2. Fai clic sull'ID istanza.

    3. Seleziona Azioni -> Stato istanza -> Termina per rimuovere l'istanza. EC2 crea automaticamente una nuova istanza con lo stesso volume EBS.

    4. Torna alla pagina Gruppi di destinazione.

  6. Dopo aver terminato tutte le istanze del gruppo, torna alla pagina Gruppi di destinazione.

  7. Nella sezione Target registrati della pagina, individua la colonna Stato. Lo stato di ogni istanza dovrebbe essere Intatto. Se una delle istanze è in stato integro, attendi alcuni minuti e fai clic sull'icona Aggiorna ().

  8. Dopo che tutte le istanze del gruppo di destinazione sono in stato integro, vai al passaggio successivo.