Questo argomento mostra come gestire l'accesso alle risorse di 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 capacità di eseguire specifiche operazioni crittografiche, ad esempio la rotazione di una chiave o la crittografia dei dati. Puoi concedere i ruoli IAM su:
- Una chiave
- Un keyring ereditato da tutte le chiavi in quel keyring
- Un progetto Google Cloud ereditato da tutte le chiavi del progetto
- Una cartella Google Cloud ereditata da tutte le chiavi in tutti i progetti del cartella
- Un'organizzazione Google Cloud, ereditata da tutte le chiavi nelle cartelle dell'organizzazione
Per un elenco completo delle azioni di Cloud KMS e di IAM ruoli e autorizzazioni, vedi Autorizzazioni e ruoli. Per un l'elenco completo delle risorse di Cloud KMS e il loro rapporto con ciascuna vedi Risorse Cloud KMS.
Prima di iniziare
Per completare queste attività, devi disporre dell'autorizzazione per amministrare Cloud KMS
risorse nel progetto Google Cloud. 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 delle risorse create, ad esempio un keyring, una chiave e una versione della chiave.
Solo le entità IAM con proprietario (roles/owner
) o amministratore Cloud KMS
I ruoli (roles/cloudkms.admin
) possono concedere o revocare l'accesso a Cloud KMS
Google Cloud.
Concedere ruoli a una risorsa
L'esempio seguente concede un ruolo che fornisce accesso a un Cloud KMS chiave:
gcloud
Per utilizzare Cloud KMS nella riga di comando, devi prima Installa o esegui 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 del ruolo da aggiungere.
C#
Per eseguire questo codice, per prima cosa configura un ambiente di sviluppo C# e installare l'SDK Cloud KMS C#.
Go
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Go e installa l'SDK Cloud KMS Go.
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 prima 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, configura prima un ambiente di sviluppo Python e installare l'SDK per Python di Cloud KMS.
Ruby
Per eseguire questo codice, prima configura un ambiente di sviluppo Ruby e installa 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 Installa o esegui 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 dell'entità e l'indirizzo email di quest'ultima. Sostituisci role-name con il nome del ruolo da rimuovere.
Per informazioni su tutti i flag e sui possibili valori, esegui il comando con
--help
flag.
C#
Per eseguire questo codice, per prima cosa configura un ambiente di sviluppo C# e installare l'SDK Cloud KMS C#.
Go
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Go e installa l'SDK Cloud KMS Go.
Java
Per eseguire questo codice, per prima cosa configura un ambiente di sviluppo Java e installare l'SDK Java di Cloud KMS.
Node.js
Per eseguire questo codice, devi prima 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, configura prima un ambiente di sviluppo Python e installare l'SDK per Python di Cloud KMS.
Ruby
Per eseguire questo codice, prima configura un ambiente di sviluppo Ruby e installa l'SDK Ruby di Cloud KMS.
Visualizzazione delle autorizzazioni su 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 keyring in cui si trova la chiave. Sostituisci location con la posizione Cloud KMS per il keyring.
Per informazioni su tutti i flag e sui possibili valori, esegui il comando con
--help
flag.
C#
Per eseguire questo codice, per prima cosa configura un ambiente di sviluppo C# e installare l'SDK Cloud KMS C#.
Go
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Go e installa l'SDK Cloud KMS Go.
Java
Per eseguire questo codice, per prima cosa configura un ambiente di sviluppo Java e installare l'SDK Java di Cloud KMS.
Node.js
Per eseguire questo codice, devi prima 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, configura prima un ambiente di sviluppo Python e installare l'SDK per Python di Cloud KMS.
Ruby
Per eseguire questo codice, prima configura un ambiente di sviluppo Ruby e installa l'SDK Ruby di Cloud KMS.
Principio del privilegio minimo
Per applicare il principio del privilegio minimo, concedi l'insieme più limitato di autorizzazioni all'oggetto di livello 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
nella chiave.Per concedere a un'entità le autorizzazioni per criptare e decriptare i dati, concedi la classe Ruolo
roles/cloudkms.cryptoKeyEncrypterDecrypter
nella chiave.Per concedere a un'entità le autorizzazioni per verificare (ma non firmare) i dati, concedi la Ruolo
roles/cloudkms.publicKeyViewer
nella chiave.Per concedere a un'entità le autorizzazioni per firmare e verificare i dati, concedi la Ruolo
roles/cloudkms.signerVerifier
nella 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. Consulta Autorizzazioni e ruoli di Cloud KMS per un elenco completo di autorizzazioni e ruoli.
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 keyring e i keyring 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 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
su una chiave
disporre delle autorizzazioni associate per tutte le chiavi in quel keyring.
Non è vero il contrario; cioè un utente che ha l'autorizzazione su una chiave ma non dispone dell'autorizzazione per il keyring padre non ha autorizzazioni per quella chiave suonano.
Passaggi successivi
- Scopri di più su autorizzazioni e ruoli in Cloud KMS.
- Crea una chiave.
- Cripta e decripta i dati.