Rotazione delle credenziali di sicurezza

Questo argomento descrive come ruotare le credenziali di sicurezza per i cluster Anthos su AWS (GKE on AWS) e sul servizio di gestione. Per ulteriori informazioni sulle funzionalità di sicurezza dei cluster Anthos su AWS, consulta Sicurezza.

Prima di iniziare

Per completare i passaggi di questa pagina, devi avere accesso alla directory con i tuoi cluster Anthos nella configurazione di AWS.

Certificati di servizio di gestione

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

Autorità di certificazione per la gestione

Questa sezione spiega come ruotare i certificati di firma dell'autorità di certificazione per i cluster Anthos sui componenti AWS.

CA radice del server API di gestione

Per ruotare la CA radice del server API, segui questi passaggi:

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

     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 il contesto del tuo servizio di gestione.
    cd anthos-aws
    anthos-gke aws management get-credentials

Altre CA di gestione

Questa sezione descrive come eseguire la rotazione di tutte le seguenti autorità di certificazione:

  • CA CA di autenticazione
  • Etcd CA
  • Firmatario account di servizio CA

Puoi ruotare queste autorità di certificazione con uno dei seguenti metodi:

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

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

       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 un nuovo cluster Anthos su AWS, esegui l'upgrade dei cluster Anthos sul servizio di gestione AWS.

  • Ricrea l'istanza del servizio di gestione EC2.

    1. Dalla directory anthos-aws, utilizza terraform per recuperare l'ID del tuo servizio di gestione.
      cd anthos-aws
      terraform output cluster_id
      L'output include il tuo ID servizio di gestione. Nell'esempio riportato di seguito, l'ID è gke-12345abc.
      terraform output cluster_id
      gke-12345abc
      
    2. Apri la console di 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.

Gestione di chiavi e certificati server / server TLS

Per ruotare le chiavi e i certificati server / server TLS per il tuo servizio di gestione, devi ricreare l'istanza del servizio di gestione. Per ricreare l'istanza, procedi nel seguente modo:

  1. Dalla directory anthos-aws, utilizza terraform per recuperare l'ID del tuo servizio di gestione.
    cd anthos-aws
    terraform output cluster_id
    L'output include il tuo ID servizio di gestione. Nell'esempio riportato di seguito, l'ID è gke-12345abc.
    terraform output cluster_id
    gke-12345abc
    
  2. Apri la console di 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 servizio Google Cloud

Account di servizio della gestione

Per ruotare gli account di servizio Google Cloud per il tuo servizio di gestione, segui questi passaggi.

  1. Crea nuovi account di servizio e scarica le chiavi degli account di servizio seguendo i passaggi descritti in Prerequisiti.
  2. Passa alla directory con i cluster Anthos sulla configurazione di AWS. Hai creato questa directory durante la installazione del servizio di gestione.
    cd anthos-aws
  3. Se hai scaricato 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 impostando i 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 file anthos-gke.status.yaml.

    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 a AWSCluster e AWSNodePool, devi eseguire l'upgrade o eliminare e poi ricrearli.

Certificati cluster utenti

Questa sezione descrive come ruotare i certificati per i cluster utente.

CA e chiavi SSH del cluster utente

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

Quando elimini un cluster utente, i cluster Anthos su AWS ruotano i seguenti certificati:

  • CA radice del server API
  • CA proxy proxy API
  • ecc. CA
  • Firmatario dell'account di servizio Kubernetes
  • Coppie di chiavi SSH dal piano di controllo a quello del nodo

CA CA di autenticazione del cluster utente

Per ruotare il CA dell'autenticazione del cluster utente, modifica il file anthos-gke.status.yaml e applica le modifiche.

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

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

     anthos-gke aws management apply
    

Coppie e certificati TLS di cluster di utenti

I cluster Anthos su AWS generano coppie di chiavi e certificati TLS durante la creazione di un'istanza. Per ruotare queste coppie, ricrea l'istanza eseguendo i passaggi seguenti per il piano di controllo e i pool di nodi.

Piano di controllo

  1. Dalla directory anthos-aws, utilizza anthos-gke per cambiare il contesto del tuo servizio di gestione.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Utilizza kubectl per recuperare il gruppo target AWS EC2 del tuo piano di controllo dal tuo 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 di AWS EC2. Scegli Gruppi di destinazione dal riquadro a sinistra.

  4. Fai clic sulla barra di ricerca e individua il gruppo target. Fai clic sul Nome del gruppo di destinazione e scegli Target. Viene visualizzato l'elenco delle istanze del piano di controllo.

  5. Per ogni istanza nel gruppo di destinazione, esegui i passaggi seguenti:

    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 target.

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

  7. Nella sezione Target registrati della pagina, individua la colonna Stato. Ciascuna delle tue istanze dovrebbe avere uno stato di Stato integro. Se una delle istanze è integra, attendi alcuni minuti e fai clic sull'icona Aggiorna ().

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

Pool di nodi

Per ruotare il pool di nodi dei certificati TLS:

  1. Dalla directory anthos-aws, utilizza anthos-gke per cambiare il contesto del tuo servizio di gestione.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Utilizza kubectl per recuperare il gruppo di destinazione AWS EC2 dal tuo pool di nodi 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 di AWS EC2. Scegli Gruppi di destinazione dal riquadro a sinistra.

  4. Fai clic sulla barra di ricerca e individua il gruppo target. Fai clic sul Nome del gruppo di destinazione e scegli Target. Viene visualizzato l'elenco delle istanze del piano di controllo.

  5. Per ogni istanza nel gruppo di destinazione, esegui i passaggi seguenti:

    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 target.

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

  7. Nella sezione Target registrati della pagina, individua la colonna Stato. Ciascuna delle tue istanze dovrebbe avere uno stato di Stato integro. Se una delle istanze è integra, attendi alcuni minuti e fai clic sull'icona Aggiorna ().

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