Questa pagina mostra come ruotare automaticamente o manualmente una chiave. Per ulteriori informazioni sulla rotazione della chiave in generale, consulta Rotazione delle chiavi.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per ruotare le chiavi, chiedi all'amministratore di concederti i seguenti ruoli IAM sulla chiave:
- Amministratore Cloud KMS (
roles/cloudkms.admin) -
Esegui di nuovo la crittografia dei dati:
Cloud KMS CryptoKey Encrypter/Decrypter (
roles/cloudkms.cryptoKeyEncrypterDecrypter)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per la rotazione delle chiavi. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per ruotare le chiavi sono necessarie le seguenti autorizzazioni:
-
Modifica la versione chiave primaria:
cloudkms.cryptoKeys.update -
Modificare o disattivare la rotazione automatica:
cloudkms.cryptoKeys.update -
Crea una nuova versione della chiave:
cloudkms.cryptoKeyVersions.create -
Disabilita le versioni precedenti della chiave:
cloudkms.cryptoKeyVersions.update -
Ricripta i dati:
-
cloudkms.cryptoKeyVersions.useToDecrypt -
cloudkms.cryptoKeyVersions.useToEncrypt
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Un singolo utente con un ruolo personalizzato contenente tutte queste autorizzazioni può ruotare le chiavi e ricriptare i dati autonomamente. Gli utenti con il ruolo Amministratore Cloud KMS e il ruolo Utilità di crittografia/decrittografia CryptoKey di Cloud KMS possono collaborare per ruotare le chiavi e ricriptare i dati. Segui il principio del privilegio minimo quando assegni i ruoli. Per maggiori dettagli, vedi Autorizzazioni e ruoli.
Quando ruoti una chiave, i dati criptati con le versioni precedenti della chiave non vengono criptati di nuovo automaticamente. Per saperne di più, vedi Decrittografare e ricrittografare. La rotazione di una chiave non disabilita né elimina automaticamente le versioni della chiave esistenti. L'eliminazione delle versioni delle chiavi non più necessarie contribuisce a ridurre i costi.
Configurare la rotazione automatica
Crea una nuova chiave con una pianificazione della rotazione personalizzata
Per configurare la rotazione automatica durante la creazione di una nuova chiave:
Console
Quando utilizzi la console Google Cloud per creare una chiave, Cloud KMS imposta automaticamente il periodo di rotazione e l'ora della rotazione successiva. Puoi scegliere di utilizzare i valori predefiniti o specificare valori diversi.
Per specificare un periodo di rotazione e un orario di inizio diversi, quando crei la chiave, ma prima di fare clic sul pulsante Crea:
Per Periodo di rotazione della chiave, seleziona un'opzione.
Per A partire dal giorno, seleziona la data in cui vuoi che avvenga la prima rotazione automatica. Puoi lasciare A partire dal giorno al valore predefinito per avviare la prima rotazione automatica un periodo di rotazione della chiave dopo la creazione della chiave.
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "encryption" \
--rotation-period ROTATION_PERIOD \
--next-rotation-time NEXT_ROTATION_TIME
Sostituisci quanto segue:
KEY_NAME: il nome della chiave.KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.ROTATION_PERIOD: l'intervallo di rotazione della chiave, ad esempio30dper ruotare la chiave ogni 30 giorni. Il periodo di rotazione deve essere di almeno 1 giorno e al massimo 100 anni. Per saperne di più, consulta CryptoKey.rotationPeriod.NEXT_ROTATION_TIME: il timestamp in cui completare la prima rotazione, ad esempio2023-01-01T01:02:03. Puoi omettere--next-rotation-timeper programmare la prima rotazione per un periodo di rotazione dal momento in cui esegui il comando. Per saperne di più, vediCryptoKey.nextRotationTime.
Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag --help.
C#
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C# Cloud KMS.
Go
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Cloud KMS.
Java
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java Cloud KMS.
Node.js
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Cloud KMS.
PHP
Per eseguire questo codice, scopri innanzitutto come utilizzare PHP su Google Cloud e installa l'SDK PHP di Cloud KMS.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Cloud KMS.
Ruby
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Ruby e installare l'SDK Ruby di Cloud KMS.
API
Questi esempi utilizzano curl come client HTTP per dimostrare l'utilizzo dell'API. Per saperne di più sul controllo dell'accesso, consulta Accesso all'API Cloud KMS.
Per creare una chiave, utilizza il
metodo CryptoKey.create:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \
--request "POST" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{"purpose": "PURPOSE", "rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
Sostituisci quanto segue:
PURPOSE: lo scopo della chiave.ROTATION_PERIOD: l'intervallo di rotazione della chiave, ad esempio30dper ruotare la chiave ogni 30 giorni. Il periodo di rotazione deve essere di almeno 1 giorno e al massimo 100 anni. Per saperne di più, consulta CryptoKey.rotationPeriod.NEXT_ROTATION_TIME: il timestamp in cui completare la prima rotazione, ad esempio2023-01-01T01:02:03. Per saperne di più, vediCryptoKey.nextRotationTime.
Aggiornamento di una chiave esistente per aggiungere una pianificazione di rotazione
Per configurare la rotazione automatica su una chiave esistente:
Console
Vai alla pagina Key Management nella console Google Cloud .
Fai clic sul nome delle chiavi automatizzate contenenti la chiave per cui vuoi aggiungere una pianificazione della rotazione.
Fai clic sulla chiave a cui vuoi aggiungere una pianificazione di rotazione.
Nell'intestazione, fai clic su Modifica periodo di rotazione.
Nel prompt, scegli nuovi valori per i campi Periodo di rotazione e A partire dal giorno.
Nel prompt, fai clic su Salva.
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
gcloud kms keys update KEY_NAME \
--location LOCATION \
--keyring KEY_RING \
--rotation-period ROTATION_PERIOD \
--next-rotation-time NEXT_ROTATION_TIME
Sostituisci quanto segue:
KEY_NAME: il nome della chiave.KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.ROTATION_PERIOD: l'intervallo di rotazione della chiave, ad esempio30dper ruotare la chiave ogni 30 giorni. Il periodo di rotazione deve essere di almeno 1 giorno e al massimo 100 anni. Per saperne di più, consulta CryptoKey.rotationPeriod.NEXT_ROTATION_TIME: il timestamp in cui completare la rotazione successiva, ad esempio2023-01-01T01:02:03. Puoi omettere--next-rotation-timeper programmare la rotazione successiva per un periodo di rotazione a partire dal momento in cui esegui il comando. Per saperne di più, vediCryptoKey.nextRotationTime.
Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag --help.
C#
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C# Cloud KMS.
Go
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Cloud KMS.
Java
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java Cloud KMS.