Rotazione della chiave dell'account di servizio

Le chiavi dell'account di servizio sono chiavi private che ti consentono di autenticarti come account di servizio. La rotazione delle chiavi è il processo di sostituzione delle chiavi esistenti con nuove chiavi quindi invalidare le chiavi sostituite. Ti consigliamo di eseguire Ruota tutte le chiavi che gestisci, incluse le chiavi dell'account di servizio.

La rotazione delle chiavi dell'account di servizio può contribuire a ridurre il rischio rappresentato dalle chiavi divulgate o rubate. Se una chiave viene divulgata, i malintenzionati potrebbero impiegare giorni o settimane per scoprirla. Se ruoti regolarmente le chiavi degli account di servizio, c'è una maggiore probabilità che le chiavi divulgate non saranno più valide nel momento in cui un utente malintenzionato le ottiene.

Anche disporre di un processo consolidato per la rotazione delle chiavi degli account di servizio è utile agire rapidamente se sospetti che la chiave di un account di servizio sia stata compromessa.

La frequenza di rotazione delle chiavi

Ti consigliamo di ruotare le chiavi almeno ogni 90 giorni per ridurre il rischio rappresentato dalle chiavi divulgate.

Se ritieni che una chiave dell'account di servizio sia stata compromessa, ti consigliamo di ruotarlo immediatamente.

Procedura di rotazione delle chiavi

Per ruotare le chiavi dell'account di servizio:

  1. Identifica le chiavi dell'account di servizio che devono essere ruotate.
  2. Crea nuove chiavi per gli stessi account di servizio.
  3. Sostituisci le chiavi esistenti con le nuove in tutte le applicazioni.
  4. Disattiva le chiavi sostituite e monitora le applicazioni per verificare che funzionino come previsto.
  5. Elimina le chiavi dell'account di servizio sostituite.

Puoi completare questi passaggi utilizzando un servizio di gestione delle chiavi centralizzato o un sistema di notifiche personalizzato.

Servizio di gestione dei secret centralizzato

Molti servizi centralizzati di gestione dei secret, come HashiCorp Vault, prevedono la rotazione automatica dei secret. Puoi usare questi servizi per archiviare e ruotare le chiavi degli account di servizio.

Sconsigliamo di utilizzare Secret Manager di Google Cloud per memorizzare e ruotare le chiavi degli account di servizio. Questo perché, per accedere ai secret di Secret Manager, la tua applicazione ha bisogno di un'identità che Google Cloud possa riconoscere. Se la tua applicazione ha già un'identità riconoscibile da Google Cloud, la tua applicazione può usare per l'autenticazione in Google Cloud anziché utilizzare un servizio chiave dell'account.

Lo stesso concetto si applica ad altri servizi di gestione dei secret basati su cloud, come Azure KeyVault e AWS Secret Manager. Se un'applicazione ha già un'identità che questi cloud provider possano riconoscere, la tua applicazione potrebbe usare questa identità per l'autenticazione in Google Cloud anziché utilizzare un servizio chiave dell'account.

Sistema di notifiche personalizzate

Un altro approccio alla rotazione della chiave degli account di servizio consiste nel creare un sistema invia notifiche quando è necessario ruotare le chiavi. Ad esempio, potresti creare un sistema che invia avvisi quando rileva chiavi create più di 90 giorni fa.

Innanzitutto, devi identificare le chiavi che devono essere ruotate. Per identificare queste chiavi, ti consigliamo di utilizzare l'inventario asset di Cloud per cercare tutte le chiavi dell'account di servizio create prima di una determinata data.

Ad esempio, il comando seguente elenca tutte le chiavi dell'account di servizio che erano creato prima del giorno 2023-03-10 00:00:00 UTC nell'organizzazione con l'ID 123456789012:

gcloud asset search-all-resources \
    --scope="organizations/123456789012" \
    --query="createTime < 2023-03-10" \
    --asset-types="iam.googleapis.com/ServiceAccountKey" \
    --order-by="createTime"

Per scoprire di più sulla ricerca di risorse in Cloud Asset Inventory, consulta Google Cloud. Dopo aver identificato le chiavi che devono essere ruotate, puoi inviare notifiche ai team appropriati.

Quando qualcuno viene avvisato della rotazione di una chiave, deve:

  1. Crea una nuova chiave per lo stesso account di servizio.
  2. Sostituisci la chiave esistente con la nuova in tutte le applicazioni.
  3. Disattivare la chiave che ha sostituito e monitorare la applicazioni per verificare che funzionino come previsto.
  4. Una volta confermato che le applicazioni funzionano come previsto, elimina il file chiave sostituita.

Chiavi dell'account di servizio in scadenza

Sconsigliamo di utilizzare chiavi dell'account di servizio con scadenza per la rotazione delle chiavi. Questo accade perché le chiavi in scadenza possono causare interruzioni se non vengono ruotate correttamente. Per per ulteriori informazioni sui casi d'uso delle chiavi degli account di servizio in scadenza, consulta date di scadenza delle chiavi gestite dagli utenti.

Passaggi successivi

  • Utilizza Cloud Asset Inventory per cercare le risorse, incluse le chiavi degli account di servizio, in base alla data di creazione.
  • Crea, disattiva ed elimina il servizio chiavi dell'account.