Puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) con Cloud Key Management Service. Puoi creare e gestire le CMEK tramite Cloud KMS. Per una panoramica di tutte le opzioni di crittografia, consulta Opzioni di crittografia dei dati.
Puoi utilizzare le chiavi di crittografia Cloud KMS create manualmente per proteggere i tuoi dati di Cloud Storage. Ad esempio, puoi impostare una chiave predefinita su un bucket o criptare singoli oggetti con una chiave Cloud KMS.
Queste chiavi possono essere archiviate come chiavi software, in un cluster HSM o esternamente. Se vuoi utilizzare la funzionalità Autokey di Cloud KMS per generare chiavi automatizzate e chiavi on demand che ti aiutino a proteggere i bucket Cloud Storage e gli oggetti al loro interno, consulta Utilizzo di Autokey con le risorse Cloud Storage. Per un confronto tra CMEK con Autokey e la crittografia predefinita di Google, consulta Confronto tra CMEK eGoogle-owned and Google-managed encryption keys.Prima di iniziare
Prima di utilizzare questa funzionalità in Cloud Storage, devi:
Abilita l'API Cloud KMS per il progetto che memorizzerà le tue chiavi di crittografia.
Disporre di autorizzazioni sufficienti per il progetto che memorizzerà le chiavi di crittografia:
Se sei il proprietario del progetto che archivierà le tue chiavi, molto probabilmente disponi dell'autorizzazione necessaria.
Se prevedi di creare nuovi portachiavi automatizzati e chiavi di crittografia, devi disporre dell'autorizzazione
cloudkms.keyRings.createecloudkms.cryptoKeys.create.Indipendentemente dal fatto che tu preveda di utilizzare chiavi automatizzate e chiavi nuove o esistenti, devi disporre dell'autorizzazione
cloudkms.cryptoKeys.setIamPolicyper le chiavi che utilizzerai per la crittografia.Questa autorizzazione consente di concedere ai service agent Cloud Storage l'accesso alle chiavi Cloud KMS.
Le autorizzazioni riportate sopra sono contenute nel ruolo Cloud KMS Admin.
Consulta Utilizzo di IAM con Cloud KMS per istruzioni su come ottenere questo o altri ruoli Cloud KMS.
Disporre di una chiave automatizzata Cloud KMS e di almeno una chiave all'interno della chiave automatizzata.
Il keyring deve trovarsi nella stessa località dei dati che intendi criptare, ma può trovarsi in un progetto diverso. Per le località Cloud KMS disponibili, consulta Località Cloud KMS.
Disporre delle autorizzazioni sufficienti per lavorare con gli oggetti nel bucket Cloud Storage:
Se sei proprietario del progetto che contiene il bucket, molto probabilmente disponi dell'autorizzazione necessaria.
Se utilizzi IAM, devi disporre dell'autorizzazione
storage.objects.createper scrivere oggetti nel bucket e dell'autorizzazionestorage.objects.getper leggere oggetti dal bucket. Consulta Utilizzo delle autorizzazioni IAM per istruzioni su come ottenere un ruolo, ad esempio Storage Object Admin, che dispone di queste autorizzazioni.Se utilizzi gli ACL, devi disporre dell'autorizzazione
WRITERcon ambito bucket per scrivere oggetti nel bucket e dell'autorizzazioneREADERcon ambito oggetto per leggere gli oggetti dal bucket. Per istruzioni su come eseguire questa operazione, consulta Impostazione degli ACL.
-
Recupera l'indirizzo email del service agent associato al progetto che contiene il bucket Cloud Storage. Eseguendo questo passaggio, crei automaticamente l'agente di servizio se non esiste già.
Assegna una chiave Cloud KMS a un service agent
Per utilizzare le chiavi CMEK, concedi all'agente di servizio Cloud Storage associato al tuo bucket l'autorizzazione a utilizzare la tua chiave Cloud KMS per la crittografia e la decrittografia:
Console
- Nella console Google Cloud , vai alla pagina Gestione delle chiavi.
Fai clic sul nome delle chiavi automatizzate che contiene la chiave che vuoi utilizzare.
Seleziona la casella di controllo della chiave che ti interessa.
La scheda Autorizzazioni nel riquadro della finestra a destra diventa disponibile.
Nella finestra di dialogo Aggiungi entità, specifica l'indirizzo email del service agent Cloud Storage a cui stai concedendo l'accesso.
Nel menu a discesa Seleziona un ruolo, seleziona Cloud KMS CryptoKey Encrypter/Decrypter.
Fai clic su Aggiungi.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni di Cloud Storage non riuscite nella console Google Cloud , consulta Risoluzione dei problemi.
Riga di comando
Utilizza il comando gcloud storage service-agent con il flag --authorize-cmek per concedere all'agente di servizio associato al tuo bucket l'autorizzazione a criptare e decriptare gli oggetti utilizzando la tua chiave Cloud KMS:
gcloud storage service-agent --project=PROJECT_STORING_OBJECTS --authorize-cmek=KEY_RESOURCE
Dove:
PROJECT_STORING_OBJECTSè l'ID o il numero del progetto contenente gli oggetti che vuoi criptare o decriptare. Ad esempio,my-pet-project.KEY_RESOURCEè la tua risorsa chiave Cloud KMS.
Librerie client
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Node.js
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, che ti consente di generare un token di accesso per l'intestazione
Authorization.Crea un file JSON contenente le seguenti informazioni:
{ "policy": { "bindings": { "role": "roles/cloudkms.cryptoKeyEncrypterDecrypter", "members": "serviceAccount:SERVICE_AGENT_EMAIL_ADDRESS" }, } }
Dove
SERVICE_AGENT_EMAIL_ADDRESSè l'indirizzo email associato al tuo service agent. Ad esempio,service-7550275089395@gs-project-accounts.iam.gserviceaccount.com.Utilizza
cURLper chiamare l'API Cloud KMS con una richiestaPOST setIamPolicy:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://cloudkms.googleapis.com/v1/KEY_RESOURCE:setIamPolicy"
Dove:
JSON_FILE_NAMEè il percorso del file JSON che hai creato nel passaggio 2.KEY_RESOURCEè la tua risorsa chiave Cloud KMS.
API XML
L'API XML non può essere utilizzata per assegnare un Cloud KMS a un service agent. Utilizza uno degli altri strumenti Cloud Storage, ad esempio gcloud CLI.
Utilizzare le chiavi di crittografia predefinite
Le sezioni seguenti descrivono come utilizzare le chiavi di crittografia predefinite.
Impostare la chiave predefinita per un bucket
Per aggiungere, modificare o rimuovere la chiave Cloud KMS utilizzata per impostazione predefinita quando gli oggetti vengono scritti in un bucket:
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket.
Fai clic sulla scheda Configuration (Configurazione).
Nella sezione Protezione, fai clic su Modifica crittografia.
Nella sezione Tipo di chiave di crittografia predefinito, esegui una delle seguenti operazioni:
Per aggiungere o modificare la chiave Cloud KMS predefinita per il bucket, seleziona Chiave Cloud KMS. Poi, seleziona una delle chiavi disponibili dall'elenco.
Per rimuovere la chiave Cloud KMS predefinita, seleziona Google-managed encryption key.
Fai clic su Salva.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni di Cloud Storage non riuscite nella console Google Cloud , consulta Risoluzione dei problemi.
Riga di comando
Utilizza il comando gcloud storage buckets update con il
flag appropriato:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Dove:
BUCKET_NAMEè il nome del bucket pertinente. Ad esempio,my-bucket.FLAGè l'impostazione desiderata per la chiave predefinita nel bucket. Utilizza uno dei seguenti formati:--default-encryption-key=e una risorsa chiave Cloud KMS, se vuoi aggiungere o modificare una chiave predefinita.--clear-default-encryption-key, se vuoi rimuovere la chiave predefinita nel bucket.
In caso di esito positivo, la risposta è simile alla seguente:
Updating gs://my-bucket/... Completed 1
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
L'esempio seguente imposta una chiave di crittografia gestita dal cliente predefinita su un bucket:
L'esempio seguente rimuove la chiave di crittografia gestita dal cliente predefinita da un bucket:
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
L'esempio seguente imposta una chiave di crittografia gestita dal cliente predefinita su un bucket:
Il seguente esempio rimuove la chiave di crittografia gestita dal cliente predefinita da un bucket:
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
L'esempio seguente imposta una chiave di crittografia gestita dal cliente predefinita su un bucket:
L'esempio seguente rimuove la chiave di crittografia gestita dal cliente predefinita da un bucket:
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
L'esempio seguente imposta una chiave di crittografia gestita dal cliente predefinita su un bucket:
Il seguente esempio rimuove la chiave di crittografia gestita dal cliente predefinita da un bucket:
Node.js
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
L'esempio seguente imposta una chiave di crittografia gestita dal cliente predefinita su un bucket:
Il seguente esempio rimuove la chiave di crittografia gestita dal cliente predefinita da un bucket:
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
L'esempio seguente imposta una chiave di crittografia gestita dal cliente predefinita su un bucket:
L'esempio seguente rimuove la chiave di crittografia gestita dal cliente predefinita da un bucket:
Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
L'esempio seguente imposta una chiave di crittografia gestita dal cliente predefinita su un bucket:
Il seguente esempio rimuove la chiave di crittografia gestita dal cliente predefinita da un bucket:
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Il seguente esempio imposta una chiave di crittografia gestita dal cliente predefinita su un bucket:
L'esempio seguente rimuove la chiave di crittografia gestita dal cliente predefinita da un bucket:
Rust
Il seguente esempio imposta una chiave di crittografia gestita dal cliente predefinita su un bucket:
L'esempio seguente rimuove la chiave di crittografia gestita dal cliente predefinita da un bucket:
API REST
API JSON
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Crea un file JSON contenente le seguenti informazioni:
{ "encryption": { "defaultKmsKeyName": "KEY_RESOURCE" } }
Dove
KEY_RESOURCEè la tua risorsa chiave Cloud KMS.Per rimuovere la chiave Cloud KMS predefinita da un bucket, utilizza quanto segue nel file JSON:
{ "encryption": { "defaultKmsKeyName": null } }
Utilizza
cURLper chiamare l'API JSON con una richiestaPATCHBucket:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=encryption"
Dove:
JSON_FILE_NAMEè il percorso del file JSON che hai creato nel passaggio 2.BUCKET_NAMEè il nome del bucket pertinente. Ad esempio,my-bucket.
API XML
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Crea un file XML contenente le seguenti informazioni:
<EncryptionConfiguration> <DefaultKmsKeyName>KEY_RESOURCE</DefaultKmsKeyName> </EncryptionConfiguration>
Dove
KEY_RESOURCEè la tua risorsa chiave Cloud KMS.Per rimuovere la chiave Cloud KMS predefinita da un bucket, utilizza quanto segue nel file XML.
<EncryptionConfiguration></EncryptionConfiguration>
Utilizza
cURLper chiamare l'API XML con una richiestaPUTBucket e un parametro della stringa di queryencryptionConfig:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?encryptionConfig"
Dove:
XML_FILE_NAMEè il percorso del file XML che hai creato nel passaggio 2.BUCKET_NAMEè il nome del bucket pertinente. Ad esempio,my-bucket.
Visualizza la chiave predefinita di un bucket
Per visualizzare la chiave Cloud KMS impostata come predefinita per il bucket:
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket.
Fai clic sulla scheda Configuration (Configurazione).
La chiave predefinita per il bucket viene visualizzata nel campo Tipo di chiave di crittografia predefinito.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni di Cloud Storage non riuscite nella console Google Cloud , consulta Risoluzione dei problemi.
Riga di comando
Utilizza il comando gcloud storage buckets describe con il
flag --format:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(default_kms_key)"
Dove BUCKET_NAME è il nome del bucket di cui vuoi visualizzare la chiave. Ad esempio, my-bucket.
Se l'operazione ha esito positivo, la risposta è simile alla seguente:
default_kms_key: KEY_RESOURCE
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinita nella risposta.Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinita nella risposta.Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinita nella risposta.Node.js
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinita nella risposta.PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinita nella risposta.Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinita nella risposta.Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinita nella risposta.Rust
API REST
API JSON
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiestaGETBucket che includa ilfieldsdesiderato:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=encryption"
dove
BUCKET_NAMEè il nome del bucket di cui vuoi visualizzare la chiave. Ad esempio,my-bucket.La risposta è simile al seguente esempio:
{ "encryption" : { "defaultKmsKeyName": "KEY_RESOURCE" }, }
API XML
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API XML con una richiestaGETBucket che includa il parametro di queryencryption:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?encryptionConfig"
Dove
BUCKET_NAMEè il nome del bucket di cui vuoi visualizzare la chiave. Ad esempio,my-bucket.La risposta è simile al seguente esempio:
<EncryptionConfiguration> <DefaultKmsKeyName>KEY_RESOURCE</DefaultKmsKeyName> </EncryptionConfiguration>
Cripta un oggetto con una chiave Cloud KMS
Puoi criptare un singolo oggetto con una chiave Cloud KMS. Questo è utile se vuoi utilizzare una chiave diversa da quella predefinita impostata sul bucket o se non hai una chiave predefinita impostata sul bucket. Il nome della risorsa chiave utilizzata per criptare l'oggetto viene archiviato nei metadati dell'oggetto.
Console
La console Google Cloud non può essere utilizzata per specificare le chiavi Cloud KMS per ogni oggetto. Utilizza invece gcloud CLI o le librerie client.
Riga di comando
Utilizza il comando gcloud storage cp con il flag --encryption-key:
gcloud storage cp SOURCE_DATA gs://BUCKET_NAME/OBJECT_NAME --encryption-key=KEY_RESOURCE
Dove:
SOURCE_DATAè la località di origine dei dati che stai criptando. Può essere qualsiasi località di origine supportata dal comandocp. Ad esempiogs://my-bucket/pets/old-dog.png.BUCKET_NAMEè il nome del bucket di destinazione per questo comando di copia. Ad esempio,my-bucket.OBJECT_NAMEè il nome dell'oggetto criptato finale. Ad esempio,pets/new-dog.png.KEY_RESOURCEè la risorsa chiave Cloud KMS che vuoi utilizzare per criptare l'oggetto.
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Node.js
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Rust
API REST
API JSON
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Aggiungi i dati dell'oggetto al corpo della richiesta.
Utilizza
cURLper chiamare l'API JSON con una richiesta di oggettoPOST:curl -X POST --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME&kmsKeyName=KEY_RESOURCE"
Dove:
OBJECTè il percorso dell'oggetto che stai caricando. Ad esempio,Desktop/dog.png.OBJECT_CONTENT_TYPEè il tipo di contenuti dell'oggetto. Ad esempio:image/png.BUCKET_NAMEè il nome del bucket in cui stai caricando l'oggetto. Ad esempio,my-bucket.OBJECT_NAMEè il nome con codifica URL dell'oggetto che stai caricando. Ad esempio,pets/dog.png, codificato come URLpets%2Fdog.png.KEY_RESOURCEè la risorsa chiave Cloud KMS.
API XML
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Aggiungi i dati dell'oggetto al corpo della richiesta.
Utilizza
cURLper chiamare l'API XML con una richiestaPUTObject:curl -X PUT --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-encryption-kms-key-name: KEY_RESOURCE" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Dove:
OBJECTè il percorso dell'oggetto che stai caricando. Ad esempio,Desktop/dog.png.OBJECT_CONTENT_TYPEè il tipo di contenuti dell'oggetto. Ad esempio:image/png.BUCKET_NAMEè il nome del bucket in cui stai caricando l'oggetto. Ad esempio,my-bucket.OBJECT_NAMEè il nome con codifica URL dell'oggetto che stai caricando. Ad esempio,pets/dog.png, con codifica URL comepets%2Fdog.png.KEY_RESOURCEè la tua risorsa chiave Cloud KMS.
Esegui la rotazione da una chiave fornita dal cliente a una chiave Cloud KMS
Se i tuoi oggetti sono criptati con chiavi di crittografia fornite dal cliente, puoi ruotarle per utilizzare le chiavi Cloud KMS riscrivendo l'oggetto.
Console
La console Google Cloud non può essere utilizzata per modificare le chiavi di crittografia in base al singolo oggetto. Utilizza invece gcloud CLI o le librerie client.
Riga di comando
Utilizza il comando gcloud storage objects update con i flag appropriati:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --encryption-key=KMS_KEY --decryption-keys=CSEK_KEY
Dove:
BUCKET_NAMEè il nome del bucket che contiene l'oggetto di cui stai ruotando la chiave. Ad esempio,my-bucket.OBJECT_NAMEè il nome dell'oggetto di cui stai ruotando la chiave. Ad esempio,pets/dog.png.KMS_KEYè la risorsa chiave Cloud KMS che vuoi utilizzare per criptare l'oggetto.CSEK_KEYè la chiave di crittografia fornita dal cliente corrente utilizzata nell'oggetto.
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Node.js
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Rust
API REST
API JSON
Avere gcloud CLI installato e inizializzato, che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiestaPOSTObject:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Length: 0" \ -H "x-goog-copy-source-encryption-algorithm: AES256" \ -H "x-goog-copy-source-encryption-key: OLD_ENCRYPTION_KEY" \ -H "x-goog-copy-source-encryption-key-sha256: HASH_OF_OLD_KEY" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/rewriteTo/b/BUCKET_NAME/o/OBJECT_NAME?kmsKeyName=KEY_RESOURCE"
Dove:
OLD_ENCRYPTION_KEYè la chiave AES-256 corrente utilizzata per criptare l'oggetto.HASH_OF_OLD_KEYè l'hash SHA-256 corrente per la tua chiave AES-256.BUCKET_NAMEè il nome del bucket contenente l'oggetto pertinente. Ad esempio,my-bucket.OBJECT_NAMEè il nome con codifica URL dell'oggetto di cui stai ruotando le chiavi. Ad esempio,pets/dog.png, codificato come URLpets%2Fdog.png.KEY_RESOURCEè la risorsa chiave Cloud KMS.
API XML
L'API XML non supporta la rotazione da una chiave di crittografia fornita dal cliente a una chiave Cloud KMS tramite la riscrittura dell'oggetto. Per eseguire questa rotazione utilizzando l'API XML, devi:
Identificare la chiave utilizzata per criptare un oggetto
Per trovare la chiave Cloud KMS utilizzata per criptare un oggetto:
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene l'oggetto.
Si apre la pagina Dettagli bucket con la scheda Oggetti selezionata.
Vai all'oggetto, che potrebbe trovarsi in una cartella.
Nella colonna Crittografia, tieni il puntatore sopra la voce dell'oggetto.
Il nome e la versione della chiave vengono visualizzati nel formato:
LOCATION/KEY_RING_NAME/KEY_NAME/KEY_VERSION
Riga di comando
Utilizza il comando gcloud storage objects describe con il flag --format:
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(kms_key)"
Dove:
BUCKET_NAMEè il nome del bucket contenente l'oggetto criptato. Ad esempio,my-bucket.OBJECT_NAMEè il nome dell'oggetto criptato. Ad esempio,pets/dog.png.
In caso di esito positivo, la risposta è simile alla seguente:
kms_key: projects/my-pet-project/locations/LOCATION_NAME/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME/cryptoKeyVersions/VERSION_NUMBER
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per visualizzare la chiave KMS associata a un oggetto, segui le istruzioni per visualizzare i metadati di un oggetto e cerca il campo del nome della chiave KMS nella risposta.Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per visualizzare la chiave KMS associata a un oggetto, segui le istruzioni per visualizzare i metadati di un oggetto e cerca il campo del nome della chiave KMS nella risposta.Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per visualizzare la chiave KMS associata a un oggetto, segui le istruzioni per visualizzare i metadati di un oggetto e cerca il campo del nome della chiave KMS nella risposta.Node.js
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per visualizzare la chiave KMS associata a un oggetto, segui le istruzioni per visualizzare i metadati di un oggetto e cerca il campo del nome della chiave KMS nella risposta.PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per visualizzare la chiave KMS associata a un oggetto, segui le istruzioni per visualizzare i metadati di un oggetto e cerca il campo del nome della chiave KMS nella risposta.Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Per visualizzare la chiave KMS associata a un oggetto, segui le istruzioni per visualizzare i metadati di un oggetto e cerca il campo del nome della chiave KMS nella risposta.Rust
Per visualizzare la chiave KMS associata a un oggetto, segui le istruzioni per visualizzare i metadati di un oggetto e cerca il campo del nome della chiave KMS nella risposta.API REST
API JSON
Avere gcloud CLI installato e inizializzato, che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiestaGETObject:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?fields=kmsKeyName"
Dove:
BUCKET_NAMEè il nome del bucket contenente l'oggetto criptato. Ad esempio,my-bucket.OBJECT_NAMEè il nome codificato nell'URL dell'oggetto criptato. Ad esempio,pets/dog.png, con codifica URL comepets%2Fdog.png.
API XML
Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API XML con una richiestaGETObject:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?encryption"
Dove:
BUCKET_NAMEè il nome del bucket contenente l'oggetto criptato. Ad esempio,my-bucket.OBJECT_NAMEè il nome codificato nell'URL dell'oggetto criptato. Ad esempio,pets/dog.png, con codifica URL comepets%2Fdog.png.
Crittografa nuovamente gli oggetti collettivamente
Per criptare di nuovo milioni o miliardi di oggetti con una chiave diversa con un singolo job, utilizza le operazioni batch di archiviazione. Per creare un job, specifica gli oggetti che vuoi criptare nuovamente e la chiave di destinazione, fornendo un elenco di oggetti in un file manifest o utilizzando i prefissi degli oggetti. Dopo aver specificato l'elenco di oggetti, crea un job di operazione batch per criptare nuovamente gli oggetti.
Decriptare un oggetto
La decriptazione di un oggetto criptato con una chiave Cloud KMS viene eseguita automaticamente, a condizione che il service agent pertinente abbia accesso alla chiave. Per saperne di più, consulta Service agent con CMEK.
Passaggi successivi
- Scopri di più sulle CMEK in Cloud Storage.
- Configura i metodi di crittografia consentiti o limitati per i nuovi oggetti nei bucket.
- Ruota le chiavi Cloud KMS.
- Esplora altri prodotti che possono funzionare con Cloud KMS.
- Scopri i vincoli delle policy dell'organizzazione
restrictNonCmekServiceserestrictCmekCryptoKeyProjectsper avere un maggiore controllo sull'utilizzo delle chiavi Cloud KMS.