In questa pagina viene descritto come utilizzare una chiave di crittografia di Cloud Key Management Service con Cloud Storage, tra cui l'impostazione di chiavi predefinite sui bucket e l'aggiunta di chiavi a oggetti singoli. Una chiave di crittografia Cloud KMS è una soluzione gestita dal cliente chiave di crittografia (CMEK). Queste chiavi vengono create e gestite Cloud KMS e archiviato come chiavi software in un cluster HSM oppure esternamente.
Creazione manuale o automatica delle chiavi
Puoi creare manualmente CMEK o utilizzare Cloud KMS Autokey (anteprima). Autokey semplifica la creazione e gestire le CMEK automatizzando il provisioning e l'assegnazione. Con Autokey, non devi eseguire il provisioning di keyring, chiavi e account di servizio in anticipo. Vengono invece generati on demand come parte delle risorse Cloud Storage per la creazione di contenuti.
L'utilizzo di chiavi generate da Autokey può aiutarti ad allinearti in modo coerente con il settore standard e best practice per la sicurezza dei dati, come il livello di protezione, separazione dei compiti, rotazione della chiave, posizione e granularità delle chiavi. Per ulteriori informazioni informazioni, consulta la Panoramica di Autokey.
Prima di iniziare
Prima di utilizzare questa funzionalità in Cloud Storage, devi:
Abilita l'API Cloud KMS per il progetto in cui verranno archiviati i tuoi chiavi di crittografia.
Disporre di autorizzazioni sufficienti per il progetto in cui verranno archiviati i tuoi chiavi di crittografia:
Se il progetto in cui vengono archiviate le chiavi è di tua proprietà, probabilmente dispongono dell'autorizzazione necessaria.
Se prevedi di creare nuovi keyring e nuove chiavi di crittografia, hanno
cloudkms.keyRings.create
ecloudkms.cryptoKeys.create
autorizzazione.Se prevedi di usare chiavi e keyring nuovi o esistenti, disporre dell'autorizzazione
cloudkms.cryptoKeys.setIamPolicy
per le chiavi che utilizzerai per la crittografia.Questa autorizzazione ti consente di concedere agli agenti di servizio di Cloud Storage l'accesso alle chiavi Cloud KMS.
Le autorizzazioni precedenti sono contenute nel ruolo Amministratore Cloud KMS.
Consulta Utilizzo di IAM con Cloud KMS per istruzioni su come ottenere questo o altri ruoli di Cloud KMS.
Avere un keyring Cloud KMS e avere almeno una chiave. all'interno del keyring.
Il keyring deve trovarsi nella stessa posizione dei dati che intendi criptare, ma può trovarsi in un altro progetto. Per Cloud KMS disponibile vedi Località Cloud KMS.
Disporre di autorizzazioni sufficienti per lavorare con gli oggetti in Bucket Cloud Storage:
Se possiedi il progetto che contiene il bucket, dispongono dell'autorizzazione necessaria.
Se utilizzi IAM, devi disporre dell'autorizzazione
storage.objects.create
per scrivere oggetti nel bucket e l'autorizzazionestorage.objects.get
per degli oggetti lette dal bucket. Consulta Utilizzo delle autorizzazioni IAM per Istruzioni su come ottenere un ruolo, ad esempio Amministratore oggetti Storage che dispone di queste autorizzazioni.Se utilizzi gli ACL, devi disporre dell'autorizzazione
WRITER
con ambito a livello di bucket per scrivere oggetti nel bucket e l'autorizzazioneREADER
con ambito a livello di oggetto per degli oggetti lette dal bucket. Per le istruzioni, consulta la sezione Impostare gli ACL come fare.
-
Recupera l'indirizzo email dell'agente di servizio associato al progetto che contiene il tuo bucket Cloud Storage. In questo passaggio, crei automaticamente l'agente di servizio se al momento non esiste.
Assegna una chiave Cloud KMS a un agente di servizio
Per utilizzare le CMEK, concedi l'agente di servizio Cloud Storage associato con il tuo bucket l'autorizzazione a utilizzare la chiave Cloud KMS la crittografia e la decrittografia:
Console
- Apri il browser Cloud Key Management Service Key nella console Google Cloud.
Apri il browser delle chiavi Cloud KMS Fai clic sul nome del keyring contenente la chiave che vuoi utilizzare.
Seleziona la casella di controllo della chiave desiderata.
La scheda Autorizzazioni nel riquadro a destra della finestra diventa disponibile.
Nella finestra di dialogo Aggiungi entità, specifica l'indirizzo email Agente di servizio Cloud Storage a cui stai concedendo l'accesso.
Nel menu a discesa Seleziona un ruolo, seleziona CryptoKey Cloud KMS strumento di crittografia/decrittografia.
Fai clic su Aggiungi.
Scopri come ottenere informazioni dettagliate sugli errori di Cloud Storage non riusciti nella console Google Cloud, vedi Risoluzione dei problemi.
Riga di comando
Utilizza il comando gcloud storage service-agent
con
--authorize-cmek
per fornire all'agente di servizio associato al tuo
l'autorizzazione del bucket per criptare e decriptare gli oggetti utilizzando
Chiave Cloud KMS:
gcloud storage service-agent --project=PROJECT_STORING_OBJECTS --authorize-cmek=KEY_RESOURCE
Dove:
PROJECT_STORING_OBJECTS
è l'ID o il numero per il 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 ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'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
è il associato all'agente di servizio dell'utente. Ad esempio:service-7550275089395@gs-project-accounts.iam.gserviceaccount.com
.Utilizza
cURL
per 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 creato nel passaggio 2.KEY_RESOURCE
è il tuo Risorsa chiave Cloud KMS.
API XML
Impossibile utilizzare l'API XML per assegnare un Cloud KMS a un servizio un agente. Utilizza uno degli altri strumenti di Cloud Storage, ad esempio con gcloud CLI.
Usa chiavi di crittografia predefinite
Imposta 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 di Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che ti interessa.
Nella pagina Dettagli bucket, fai clic sulla scheda Configurazione.
Fai clic sull'icona a forma di matita associata alla voce Tipo di crittografia.
Imposta o rimuovi la chiave Cloud KMS predefinita per il bucket.
Se al momento il bucket non utilizza una chiave Cloud KMS, seleziona sul pulsante di opzione Chiave gestita dal cliente, quindi seleziona una delle chiavi disponibili nel relativo menu a discesa.
Se il bucket attualmente utilizza una chiave Cloud KMS, modifica il chiave Cloud KMS dal menu a discesa oppure rimuovi Chiave Cloud KMS selezionando la chiave gestita da Google pulsante di opzione.
Fai clic su Salva.
Scopri come ottenere informazioni dettagliate sugli errori di Cloud Storage non riusciti nella console Google Cloud, vedi Risoluzione dei problemi.
Riga di comando
Utilizza il comando gcloud storage buckets update
con
flag appropriato:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Dove:
BUCKET_NAME
è il nome del di sincronizzare la directory di una VM con un bucket. Ad esempio,my-bucket
.FLAG
è l'impostazione predefinita per l'impostazione predefinita chiave sul 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 il chiave predefinita nel bucket.
Se l'esito è positivo, la risposta sarà simile a:
Updating gs://my-bucket/... Completed 1
Librerie client
C++
Per ulteriori informazioni, consulta API Cloud Storage C++ documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Il seguente esempio 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:
C#
Per ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Il seguente esempio 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 ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Il seguente esempio 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:
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Il seguente esempio 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 ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Il seguente esempio 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 ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Il seguente esempio 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:
Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Il seguente esempio 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 ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Il seguente esempio 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:
API REST
API JSON
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Crea un file JSON contenente le seguenti informazioni:
{ "encryption": { "defaultKmsKeyName": "KEY_RESOURCE" } }
Dove si trova
KEY_RESOURCE
Risorsa chiave Cloud KMS.Per rimuovere la chiave Cloud KMS predefinita da un bucket, utilizza nel file JSON:
{ "encryption": { "defaultKmsKeyName": null } }
Utilizza
cURL
per chiamare l'API JSON con una chiamata RichiestaPATCH
bucket: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 creato nel passaggio 2.BUCKET_NAME
è il nome del di sincronizzare la directory di una VM con un bucket. Ad esempio,my-bucket
.
API XML
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Crea un file XML che contenga le seguenti informazioni:
<EncryptionConfiguration> <DefaultKmsKeyName>KEY_RESOURCE</DefaultKmsKeyName> </EncryptionConfiguration>
Dove si trova
KEY_RESOURCE
Risorsa chiave Cloud KMS.Per rimuovere la chiave Cloud KMS predefinita da un bucket, utilizza nel file XML:
<EncryptionConfiguration></EncryptionConfiguration>
Utilizza
cURL
per chiamare l'API XML con un RichiestaPUT
bucket eencryptionConfig
stringa di query :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 creato nel passaggio 2.BUCKET_NAME
è il nome del di sincronizzare la directory di una VM con un bucket. Ad esempio,my-bucket
.
Visualizza la chiave predefinita per un bucket
Per visualizzare la chiave Cloud KMS attualmente impostata come predefinita per del bucket:
Console
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che ti interessa.
Nella pagina Dettagli bucket, fai clic sulla scheda Configurazione.
La chiave predefinita attuale per il tuo bucket viene visualizzata nel Chiave di crittografia.
Scopri come ottenere informazioni dettagliate sugli errori di Cloud Storage non riusciti nella console Google Cloud, vedi Risoluzione dei problemi.
Riga di comando
Utilizza il comando gcloud storage buckets describe
con
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'esito è positivo, la risposta sarà simile a:
default_kms_key: KEY_RESOURCE
Librerie client
C++
Per ulteriori informazioni, consulta API Cloud Storage C++ documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinito nella risposta.Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinito nella risposta.Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinito nella risposta.Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinito nella risposta.PHP
Per ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinito nella risposta.Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinito nella risposta.Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare la chiave KMS predefinita, segui le istruzioni per visualizzare i metadati di un bucket e cerca il campo della chiave KMS predefinito nella risposta.API REST
API JSON
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una chiamata RichiestaGET
bucket che include ilfields
desiderato: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 installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML con un RichiestaGET
bucket che include la 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 usare una chiave diversa da quella predefinita impostata nella o se non hai impostato una chiave predefinita nel bucket. Il nome del La risorsa chiave utilizzata per criptare l'oggetto è archiviata nei metadati dell'oggetto.
Console
Impossibile utilizzare la console Google Cloud per specificare chiavi Cloud KMS a livello di singolo oggetto. Utilizza gcloud CLI o il client librerie.
Riga di comando
Utilizza il comando gcloud storage cp
con --encryption-key
Segnala:
gcloud storage cp SOURCE_DATA gs://BUCKET_NAME/OBJECT_NAME --encryption-key=KEY_RESOURCE
Dove:
SOURCE_DATA
è la posizione di origine dei dati che stai crittografando. Può trattarsi di qualsiasi località di origine supportata Comandocp
. Ad esempiogs://my-bucket/pets/old-dog.png
.BUCKET_NAME
è il nome della destinazione per questo comando di copia. Ad esempio,my-bucket
.OBJECT_NAME
è il nome della finale, oggetto criptato. Ad esempio,pets/new-dog.png
.KEY_RESOURCE
è il Risorsa chiave Cloud KMS che vuoi utilizzare per criptare l'oggetto.
Librerie client
C++
Per ulteriori informazioni, consulta API Cloud Storage C++ documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Aggiungi i dati dell'oggetto al corpo della richiesta.
Utilizza
cURL
per chiamare l'API JSON con una chiamata RichiestaPOST
oggetto: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 in cui ti trovi caricamento in corso. Ad esempio,Desktop/dog.png
.OBJECT_CONTENT_TYPE
è il tipo di contenuto dell'oggetto. Ad esempio:image/png
.BUCKET_NAME
è il nome del bucket dell'oggetto. Ad esempio,my-bucket
.OBJECT_NAME
è il nome codificato nell'URL dell'oggetto che stai caricando. Ad esempio,pets/dog.png
, Codificato come URLpets%2Fdog.png
.KEY_RESOURCE
è il Risorsa chiave Cloud KMS.
API XML
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Aggiungi i dati dell'oggetto al corpo della richiesta.
Utilizza
cURL
per chiamare l'API XML con un oggettoPUT
richiesta: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 in cui ti trovi caricamento in corso. Ad esempio,Desktop/dog.png
.OBJECT_CONTENT_TYPE
è il tipo di contenuto dell'oggetto. Ad esempio:image/png
.BUCKET_NAME
è il nome del bucket dell'oggetto. Ad esempio,my-bucket
.OBJECT_NAME
è il nome codificato nell'URL dell'oggetto che stai caricando. Ad esempio,pets/dog.png
, Codificato come URLpets%2Fdog.png
.KEY_RESOURCE
è il tuo Risorsa chiave Cloud KMS.
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
Impossibile utilizzare la console Google Cloud per modificare le chiavi di crittografia su un per singolo oggetto. Utilizza gcloud CLI o il client librerie.
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 contiene l'oggetto di cui stai ruotando la chiave. Ad esempio:my-bucket
.OBJECT_NAME
è il nome dell'oggetto la cui che stai ruotando. Ad esempio,pets/dog.png
.KMS_KEY
è la risorsa chiave Cloud KMS da utilizzare per crittografare l'oggetto.CSEK_KEY
è l'attuale valore fornito dal cliente chiave di crittografia utilizzata per l'oggetto.
Librerie client
C++
Per ulteriori informazioni, consulta API Cloud Storage C++ documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una chiamata RichiestaPOST
oggetto: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
è l'algoritmo AES-256 attuale chiave utilizzata per criptare l'oggetto.HASH_OF_OLD_KEY
è l'attuale SHA-256 per la tua chiave AES-256.BUCKET_NAME
è il nome del bucket contenente l'oggetto pertinente. Ad esempio,my-bucket
.OBJECT_NAME
è il nome codificato nell'URL dell'oggetto di cui stai ruotando le chiavi. Ad esempio:pets/dog.png
, con codifica URLpets%2Fdog.png
.KEY_RESOURCE
è il Risorsa chiave Cloud KMS.
API XML
L'API XML non supporta la rotazione da un modello fornito dal cliente di crittografia a una chiave Cloud KMS mediante la riscrittura dell'oggetto. A eseguire una rotazione di questo tipo utilizzando l'API XML, devi:
.
Identifica 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 di Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene dell'oggetto desiderato.
Viene visualizzata la pagina Dettagli bucket, con la scheda Oggetti selezionata.
Accedi all'oggetto, che potrebbe trovarsi in una cartella.
Nella colonna Crittografia, passa il mouse sopra la voce relativa al dell'oggetto desiderato.
Il nome e la versione della chiave vengono visualizzati nel seguente formato:
LOCATION/KEY_RING_NAME/KEY_NAME/KEY_VERSION
Riga di comando
Utilizza il comando gcloud storage objects describe
con
Flag --format
:
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(kms_key)"
Dove:
BUCKET_NAME
è il nome del bucket che contiene l'oggetto criptato. Ad esempio,my-bucket
.OBJECT_NAME
è il nome del bucket . Ad esempio,pets/dog.png
.
Se l'esito è positivo, la risposta sarà simile a:
kms_key: projects/my-pet-project/locations/LOCATION_NAME/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME/cryptoKeyVersions/VERSION_NUMBER
Librerie client
C++
Per ulteriori informazioni, consulta API Cloud Storage C++ documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare la chiave KMS associata a un oggetto, segui le istruzioni per visualizzare i metadati di un oggetto e cerca nel campo del nome della chiave KMS nella risposta.Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare la chiave KMS associata a un oggetto, segui le istruzioni per visualizzare i metadati di un oggetto e cerca nel campo del nome della chiave KMS nella risposta.Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare la chiave KMS associata a un oggetto, segui le istruzioni per visualizzare i metadati di un oggetto e cerca nel campo del nome della chiave KMS nella risposta.Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare la chiave KMS associata a un oggetto, segui le istruzioni per visualizzare i metadati di un oggetto e cerca nel campo del nome della chiave KMS nella risposta.PHP
Per ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare la chiave KMS associata a un oggetto, segui le istruzioni per visualizzare i metadati di un oggetto e cerca nel campo del nome della chiave KMS nella risposta.Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare la chiave KMS associata a un oggetto, segui le istruzioni per visualizzare i metadati di un oggetto e cerca nel campo del nome della chiave KMS nella risposta.API REST
API JSON
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una chiamata RichiestaGET
oggetto: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 che contiene l'oggetto criptato. Ad esempio,my-bucket
.OBJECT_NAME
è il nome codificato nell'URL dell'oggetto criptato. Ad esempio,pets/dog.png
, Codificato come URLpets%2Fdog.png
.
API XML
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML con un oggettoGET
richiesta: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 che contiene l'oggetto criptato. Ad esempio,my-bucket
.OBJECT_NAME
è il nome codificato nell'URL dell'oggetto criptato. Ad esempio,pets/dog.png
, Codificato come URLpets%2Fdog.png
.
Decriptare un oggetto
Viene eseguita la decriptazione di un oggetto criptato con una chiave Cloud KMS automaticamente purché l'agente di servizio pertinente abbia accesso alla chiave. Per per saperne di più, vedi Agenti di servizio con CMEK.
Passaggi successivi
- Scopri di più sulle CMEK in Cloud Storage.
- Scopri di più sulle altre opzioni di crittografia disponibili in Cloud Storage.
- Ruota le chiavi Cloud KMS.
- Esplora altri prodotti compatibili con Cloud KMS.
- Scopri di più su
restrictNonCmekServices
e Vincoli dei criteri dell'organizzazione direstrictCmekCryptoKeyProjects
da adottare un maggiore controllo sull'uso delle chiavi Cloud KMS.