Questo argomento mostra come gestire l'accesso alle risorse Cloud KMS.
Panoramica
Per gestire l'accesso alle risorse di Cloud KMS, come chiavi e keyring, devi concedere i ruoli IAM (Identity and Access Management). Puoi concedere o limitare la possibilità di eseguire operazioni crittografiche specifiche, come la rotazione di una chiave o la crittografia dei dati. Puoi concedere ruoli IAM su:
- Direttamente una chiave
- Un keyring, ereditato da tutte le chiavi in quel keyring
- Un progetto Google Cloud, ereditato da tutte le chiavi nel progetto
- Una cartella Google Cloud, ereditata da tutte le chiavi in tutti i progetti nella cartella
- Un'organizzazione Google Cloud, ereditata da tutte le chiavi nelle cartelle all'interno dell'organizzazione
Per un elenco completo delle azioni di Cloud KMS e dei ruoli e delle autorizzazioni IAM, vedi Autorizzazioni e ruoli. Per un elenco completo delle risorse Cloud KMS e delle relative correlazioni, consulta Risorse Cloud KMS.
Prima di iniziare
Per completare queste attività, devi disporre dell'autorizzazione per amministrare le risorse Cloud KMS nel progetto Google Cloud. Il ruolo Amministratore Cloud KMS
(roles/cloudkms.admin
) include le autorizzazioni richieste.
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva l'API richiesta.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva l'API richiesta.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
- Crea una risorsa, ad esempio un keyring.
- Recupera gli ID risorsa per le risorse create, ad esempio un keyring, una chiave e la versione della chiave.
Solo le entità IAM con il ruolo Proprietario (roles/owner
) o Amministratore Cloud KMS (roles/cloudkms.admin
) possono concedere o revocare l'accesso alle risorse Cloud KMS.
Concessione di ruoli su una risorsa
L'esempio seguente concede un ruolo che fornisce l'accesso a una chiave Cloud KMS:
gcloud
Per utilizzare Cloud KMS nella riga di comando, devi prima installare o eseguire l'upgrade alla versione più recente di Google Cloud CLI.
gcloud kms keys add-iam-policy-binding key \ --keyring key-ring \ --location location \ --member principal-type:principal-email \ --role roles/role
Sostituisci key con il nome della chiave. Sostituisci key-ring con il nome del keyring in cui si trova la chiave. Sostituisci location con la località di Cloud KMS per il keyring. Sostituisci principal-type e principal-email con il tipo di entità e l'indirizzo email dell'entità. Sostituisci role con il nome del ruolo da aggiungere.
C#
Per eseguire questo codice, prima configura un ambiente di sviluppo C# e installa l'SDK C# di Cloud KMS.
Go
Per eseguire questo codice, prima configura un ambiente di sviluppo Go e installa l'SDK Cloud KMS Go.
Java
Per eseguire questo codice, prima configura un ambiente di sviluppo Java e installa l'SDK Java di Cloud KMS.
Node.js
Per eseguire questo codice, prima configura un ambiente di sviluppo Node.js e installa l'SDK Node.js di Cloud KMS.
PHP
Per eseguire questo codice, scopri innanzitutto come utilizzare PHP su Google Cloud e installare l'SDK PHP di Cloud KMS.
Python
Per eseguire questo codice, prima configura un ambiente di sviluppo Python e installa l'SDK Python di Cloud KMS.
Ruby
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Ruby e poi installare l'SDK Ruby di Cloud KMS.
Revoca dell'accesso a una risorsa
Per rimuovere l'accesso di un'entità a una chiave Cloud KMS:
gcloud
Per utilizzare Cloud KMS nella riga di comando, devi prima installare o eseguire l'upgrade alla versione più recente di Google Cloud CLI.
gcloud kms keys remove-iam-policy-binding key \ --keyring key-ring \ --location location \ --member principal-type:principal-email \ --role roles/role-name
Sostituisci key con il nome della chiave. Sostituisci key-ring con il nome del keyring in cui si trova la chiave. Sostituisci location con la località di Cloud KMS per il keyring. Sostituisci principal-type e principal-email con il tipo di entità e l'indirizzo email dell'entità. Sostituisci role-name con il nome del ruolo da rimuovere.
Per informazioni su tutti i flag e i possibili valori, esegui il comando con il flag --help
.
C#
Per eseguire questo codice, prima configura un ambiente di sviluppo C# e installa l'SDK C# di Cloud KMS.
Go
Per eseguire questo codice, prima configura un ambiente di sviluppo Go e installa l'SDK Cloud KMS Go.
Java
Per eseguire questo codice, prima configura un ambiente di sviluppo Java e installa l'SDK Java di Cloud KMS.
Node.js
Per eseguire questo codice, prima configura un ambiente di sviluppo Node.js e installa l'SDK Node.js di Cloud KMS.
PHP
Per eseguire questo codice, scopri innanzitutto come utilizzare PHP su Google Cloud e installare l'SDK PHP di Cloud KMS.
Python
Per eseguire questo codice, prima configura un ambiente di sviluppo Python e installa l'SDK Python di Cloud KMS.
Ruby
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Ruby e poi installare l'SDK Ruby di Cloud KMS.
Visualizzazione delle autorizzazioni per una risorsa
Per visualizzare il criterio IAM per una chiave Cloud KMS:
gcloud
Per utilizzare Cloud KMS nella riga di comando, devi prima installare o eseguire l'upgrade alla versione più recente di Google Cloud CLI.
gcloud kms keys get-iam-policy key \ --keyring key-ring \ --location location
Sostituisci key con il nome della chiave. Sostituisci key-ring con il nome del keyring in cui si trova la chiave. Sostituisci location con la località di Cloud KMS per il keyring.
Per informazioni su tutti i flag e i possibili valori, esegui il comando con il flag --help
.
C#
Per eseguire questo codice, prima configura un ambiente di sviluppo C# e installa l'SDK C# di Cloud KMS.
Go
Per eseguire questo codice, prima configura un ambiente di sviluppo Go e installa l'SDK Cloud KMS Go.
Java
Per eseguire questo codice, prima configura un ambiente di sviluppo Java e installa l'SDK Java di Cloud KMS.
Node.js
Per eseguire questo codice, prima configura un ambiente di sviluppo Node.js e installa l'SDK Node.js di Cloud KMS.
PHP
Per eseguire questo codice, scopri innanzitutto come utilizzare PHP su Google Cloud e installare l'SDK PHP di Cloud KMS.
Python
Per eseguire questo codice, prima configura un ambiente di sviluppo Python e installa l'SDK Python di Cloud KMS.
Ruby
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Ruby e poi installare l'SDK Ruby di Cloud KMS.
Principio del privilegio minimo
Per applicare il principio del privilegio minimo, concedi il set più limitato di autorizzazioni all'oggetto più basso nella gerarchia delle risorse.
Per concedere a un'entità le autorizzazioni per criptare (ma non decriptare) i dati, concedi il ruolo
roles/cloudkms.cryptoKeyEncrypter
sulla chiave.Per concedere a un'entità le autorizzazioni per criptare e decriptare i dati, concedi il ruolo
roles/cloudkms.cryptoKeyEncrypterDecrypter
sulla chiave.Per concedere a un'entità le autorizzazioni per verificare i dati (ma non firmare), concedi il ruolo
roles/cloudkms.publicKeyViewer
sulla chiave.Per concedere a un'entità le autorizzazioni per firmare e verificare i dati, concedi il ruolo
roles/cloudkms.signerVerifier
sulla chiave.Per concedere a un'entità le autorizzazioni per gestire una chiave, concedi il ruolo
roles/cloudkms.admin
sulla chiave.
Non si tratta di un elenco esaustivo. Per un elenco completo delle autorizzazioni e dei ruoli, consulta Autorizzazioni e ruoli di Cloud KMS.
Gerarchia ed ereditarietà
Le associazioni di criteri possono essere specificate a livello di progetto, keyring, chiave, job di importazione e altre risorse Cloud KMS.
Poiché le chiavi appartengono ai keyring e questi appartengono ai progetti, un'entità con un ruolo o un'autorizzazione specifici a un livello superiore della gerarchia eredita le stesse autorizzazioni per le risorse figlio. In altre parole, un utente con il ruolo owner
in un progetto è anche un owner
in tutti i keyring e le chiavi in quel progetto. Analogamente, se a un utente viene concesso il ruolo cloudkms.admin
su un keyring, avrà le autorizzazioni associate su tutte le chiavi in quel keyring.
Non è vero l'inverso, ovvero un utente che ha un'autorizzazione per una chiave ma non dispone dell'autorizzazione per il keyring padre non dispone di autorizzazioni per quel keyring.
Passaggi successivi
- Scopri di più su autorizzazioni e ruoli in Cloud KMS.
- Crea una chiave.
- Criptare e decriptare i dati.