Questo argomento mostra come gestire l'accesso alle risorse Cloud KMS.
Panoramica
Per gestire l'accesso alle risorse Cloud KMS, come chiavi e portachiavi, concedi ruoli Identity and Access Management (IAM). Puoi concedere o limitare la possibilità di eseguire operazioni di crittografia specifiche, come la rotazione di una chiave o la crittografia dei dati. Puoi concedere ruoli IAM su:
- Una chiave direttamente
- Un keyring, ereditato da tutte le chiavi in quel keyring
- Un Google Cloud progetto, 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 del loro rapporto reciproco, 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.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Crea una risorsa, ad esempio un keyring.
- Recupera gli ID risorsa per le risorse create, ad esempio una chiave automatizzata, una chiave e una versione della chiave.
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
sulla chiave.Per concedere a un'entità le autorizzazioni per verificare (ma non firmare) i dati, 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.- Scopri di più su Autorizzazioni e ruoli in Cloud KMS.
- Crea una chiave.
- Criptare e decriptare i dati.
Solo i principal IAM con i ruoli 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
Il seguente esempio concede un ruolo che fornisce l'accesso a una chiave Cloud KMS:
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 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 posizione di Cloud KMS per le chiavi automatizzate. 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 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.
Revocare l'accesso a una risorsa
Per rimuovere l'accesso di un principal a una chiave Cloud KMS:
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 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 posizione di Cloud KMS per le chiavi automatizzate. 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 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.
Visualizzazione delle autorizzazioni per una risorsa
Per visualizzare il criterio IAM per una chiave Cloud KMS:
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 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 di Cloud KMS per le chiavi automatizzate.
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.
Principio del privilegio minimo
Per applicare il principio del privilegio minimo, concedi il set di autorizzazioni più limitato all'oggetto di livello più basso nella gerarchia delle risorse.
Questo elenco non è esaustivo. Consulta la sezione Autorizzazioni e ruoli Cloud KMS per un elenco completo di autorizzazioni e ruoli.
Gerarchia ed ereditarietà
I binding dei criteri possono essere specificati per il progetto, il portachiavi, la chiave, il job di importazione e altre risorse Cloud KMS.
Poiché le chiavi appartengono ai portachiavi e i portachiavi appartengono ai progetti, un principal
con un ruolo o un'autorizzazione specifici a un livello superiore della gerarchia eredita
le stesse autorizzazioni per le risorse secondarie. ovvero un utente con il ruolo di
owner
in un progetto è anche un owner
in tutti i portachiavi e le chiavi del progetto. Allo stesso modo, se a un utente viene concesso il ruolo cloudkms.admin
su un portachiavi, dispone delle autorizzazioni associate su tutte le chiavi del portachiavi.
Il contrario non è vero: un utente che dispone di un'autorizzazione per una chiave, ma non per il keyring principale, non dispone di autorizzazioni per quel keyring.