Questo argomento mostra come gestire l'accesso alle risorse Cloud KMS.
Panoramica
Per gestire l'accesso alle risorse Cloud KMS, come chiavi e anelli di chiavi, devi concedere ruoli IAM (Identity and Access Management). Puoi concedere o limitare la possibilità di eseguire operazioni di crittografia specifiche, ad esempio la rotazione di una chiave o la crittografia dei dati. Puoi concedere i ruoli IAM su:
- Una chiave direttamente
- Un keyring, ereditato da tutte le chiavi al suo interno
- Un progetto Google Cloud, ereditato da tutte le chiavi del progetto
- Una cartella Google Cloud, ereditata da tutte le chiavi in tutti i progetti della cartella
- Un'organizzazione Google Cloud, ereditata da tutte le chiavi nelle cartelle dell'organizzazione
Per un elenco completo delle azioni Cloud KMS e dei ruoli e delle autorizzazioni IAM, consulta Autorizzazioni e ruoli. Per un elenco completo delle risorse Cloud KMS e delle relative relazioni, 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.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the required API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the required API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Crea una risorsa, ad esempio un keyring.
- Ottieni gli ID risorsa per le risorse create, ad esempio un keyring, una chiave e una versione della chiave.
Solo i principali IAM con i ruoli Proprietario (roles/owner
) o Amministratore Cloud KMS (roles/cloudkms.admin
) possono concedere o revocare l'accesso alle risorse Cloud KMS.
Concedere i ruoli a una risorsa
L'esempio seguente concede un ruolo che fornisce l'accesso a una chiave Cloud KMS:
gcloud
Per utilizzare Cloud KMS sulla riga di comando, esegui l'installazione o 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 mazzo di chiavi in cui si trova la chiave. Sostituisci location con la posizione di Cloud KMS per la raccolta di chiavi. 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, 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 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, devi innanzitutto scoprire come utilizzare PHP su Google Cloud e installare l'SDK PHP Cloud KMS.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python Cloud KMS.
Ruby
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Ruby e installare l'SDK Ruby Cloud KMS.
Revocare l'accesso a una risorsa
Per rimuovere l'accesso di un principale a una chiave Cloud KMS:
gcloud
Per utilizzare Cloud KMS sulla riga di comando, esegui l'installazione o 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 mazzo di chiavi in cui si trova la chiave. Sostituisci location con la posizione di Cloud KMS per la raccolta di chiavi. 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, 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 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, devi innanzitutto scoprire come utilizzare PHP su Google Cloud e installare l'SDK PHP Cloud KMS.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python Cloud KMS.
Ruby
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Ruby e installare l'SDK Ruby Cloud KMS.
Visualizzazione delle autorizzazioni per una risorsa
Per visualizzare il criterio IAM per una chiave Cloud KMS:
gcloud
Per utilizzare Cloud KMS sulla riga di comando, esegui l'installazione o 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 mazzo di chiavi in cui si trova la chiave. Sostituisci location con la posizione di Cloud KMS per la raccolta di chiavi.
Per informazioni su tutti i flag e i possibili valori, 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 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, devi innanzitutto scoprire come utilizzare PHP su Google Cloud e installare l'SDK PHP Cloud KMS.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python Cloud KMS.
Ruby
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Ruby e installare l'SDK Ruby Cloud KMS.
Principio del privilegio minimo
Per applicare il principio del privilegio minimo, concedi l'insieme di autorizzazioni più limitato all'oggetto più basso nella gerarchia delle risorse.
Per concedere a un'entità le autorizzazioni per criptare (ma non decriptare) i dati, assegna il ruolo
roles/cloudkms.cryptoKeyEncrypter
alla chiave.Per concedere a un'entità le autorizzazioni per criptare e decriptare i dati, concedi il ruolo
roles/cloudkms.cryptoKeyEncrypterDecrypter
alla chiave.Per concedere a un'entità le autorizzazioni per verificare (ma non firmare) i dati, concedi il ruolo
roles/cloudkms.publicKeyViewer
alla chiave.Per concedere a un'entità le autorizzazioni per firmare e verificare i dati, concedi il ruolo
roles/cloudkms.signerVerifier
alla chiave.Per concedere a un'entità le autorizzazioni per gestire una chiave, concedi il ruolo
roles/cloudkms.admin
alla chiave.
Non si tratta di un elenco esaustivo. Per un elenco completo di autorizzazioni e ruoli, consulta Autorizzazioni e ruoli Cloud KMS.
Gerarchia ed ereditarietà
Le associazioni di criteri possono essere specificate per il progetto, la raccolta di chiavi, la chiave, il job di importazione e altre risorse Cloud KMS.
Poiché le chiavi appartengono ai mazzi di chiavi e i mazzi di chiavi appartengono ai progetti, un entità con un ruolo o un'autorizzazione specifici a un livello superiore nella gerarchia eredita le stesse autorizzazioni nelle risorse secondarie. In altre parole, un utente che ha il ruolo di owner
in un progetto è anche un owner
in tutti i mazzi di chiavi e le chiavi del progetto. Analogamente, se a un utente viene concesso il ruolo cloudkms.admin
in un mazzo di chiavi, avrà le autorizzazioni associate a tutte le chiavi del mazzo.
Il contrario non è vero; ovvero, un utente che dispone di un'autorizzazione per una chiave, ma non per il mazzo di chiavi principale, non dispone di autorizzazioni per il mazzo di chiavi.
Passaggi successivi
- Scopri di più su autorizzazioni e ruoli in Cloud KMS.
- Crea una chiave.
- Cripta e decripta i dati.