Questa pagina descrive come utilizzare la tua chiave di crittografia, denominata chiave di crittografia fornita dal cliente, con Cloud Storage. Per altre opzioni di crittografia in Cloud Storage, vedi Opzioni di crittografia dei dati.
Generare la tua chiave di crittografia
Esistono molti modi per generare una chiave di crittografia AES-256 codificata in Base64. Ecco alcuni esempi:
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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare l'autenticazione per le librerie client.
Caricare con la chiave di crittografia
Per utilizzare le chiavi di crittografia fornite dal cliente per caricare un oggetto:
Console
La console Google Cloud non può essere utilizzata per caricare un oggetto con una chiave di crittografia fornita dal cliente. Utilizza invece Google Cloud 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=YOUR_ENCRYPTION_KEY
Dove:
SOURCE_DATAè la posizione di origine dei dati che stai criptando. Può essere qualsiasi posizione di origine supportata dal comandocp. Ad esempio, un file locale comeDesktop/dogs.pngo un altro oggetto Cloud Storage comegs://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 finale criptato. Ad esempio,pets/new-dog.png.YOUR_ENCRYPTION_KEYè la chiave AES-256 che vuoi utilizzare per criptare l'oggetto caricato.
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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare l'autenticazione per le librerie client.
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 richiesta diPOSToggetto:curl -X POST --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME"
Dove:
OBJECTè il percorso dell'oggetto che stai caricando. Ad esempio,Desktop/dogs.png.OBJECT_CONTENT_TYPEè il tipo di contenuto dell'oggetto. Ad esempio:image/png.YOUR_ENCRYPTION_KEYè la chiave AES-256 utilizzata per criptare l'oggetto caricato.HASH_OF_YOUR_KEYè l'hash SHA-256 della tua chiave AES-256.BUCKET_NAMEè il nome del bucket in cui carichi 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.
Per ulteriori informazioni sulle intestazioni specifiche per la crittografia, consulta Intestazioni delle richieste di crittografia.
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 richiesta OBJECTPUT:curl -X -i PUT --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Dove:
OBJECTè il percorso dell'oggetto che stai caricando. Ad esempio,Desktop/dogs.png.OBJECT_CONTENT_TYPEè il tipo di contenuto dell'oggetto. Ad esempio:image/png.YOUR_ENCRYPTION_KEYè la chiave AES-256 utilizzata per criptare l'oggetto caricato.HASH_OF_YOUR_KEYè l'hash SHA-256 della tua chiave AES-256.BUCKET_NAMEè il nome del bucket in cui carichi 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.
Per ulteriori informazioni sulle intestazioni specifiche per la crittografia, consulta Intestazioni delle richieste di crittografia.
Scaricare gli oggetti che hai criptato
Per scaricare un oggetto archiviato in Cloud Storage criptato con una chiave di crittografia fornita dal cliente:
Console
La console Google Cloud non può essere utilizzata per scaricare oggetti criptati con chiavi di crittografia fornite dal cliente. Utilizza invece Google Cloud CLI o le librerie client.
Riga di comando
Utilizza il comando gcloud storage cp con il flag --decryption-keys:
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME OBJECT_DESTINATION --decryption-keys=YOUR_ENCRYPTION_KEY
Dove:
BUCKET_NAMEè il nome del bucket contenente l'oggetto che stai scaricando. Ad esempio,my-bucket.OBJECT_NAMEè il nome dell'oggetto che stai scaricando. Ad esempio,pets/dog.png.OBJECT_DESTINATIONè la posizione in cui vuoi salvare l'oggetto. Ad esempio,Desktop.YOUR_ENCRYPTION_KEYè la chiave AES-256 utilizzata per criptare l'oggetto al momento del caricamento.
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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare l'autenticazione per le librerie client.
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 richiesta diGEToggetto:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
Dove:
YOUR_ENCRYPTION_KEYè la chiave AES-256 che hai utilizzato per criptare l'oggetto.HASH_OF_YOUR_KEYè l'hash SHA-256 della tua chiave AES-256.SAVE_TO_LOCATIONè la posizione in cui vuoi salvare l'oggetto. Ad esempio,Desktop/dog.png.BUCKET_NAMEè il nome del bucket da cui stai scaricando l'oggetto. Ad esempio,my-bucket.OBJECT_NAMEè il nome con codifica URL dell'oggetto che stai scaricando. Ad esempio,pets/dog.png, codificato come URLpets%2Fdog.png.
Per ulteriori informazioni sulle intestazioni specifiche per la crittografia, consulta Intestazioni delle richieste di crittografia.
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 richiesta OBJECTGET:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Dove:
YOUR_ENCRYPTION_KEYè la chiave AES-256 che hai utilizzato per criptare l'oggetto.HASH_OF_YOUR_KEYè l'hash SHA-256 della tua chiave AES-256.SAVE_TO_LOCATIONè la posizione in cui vuoi salvare l'oggetto. Ad esempio,Desktop/dog.png.BUCKET_NAMEè il nome del bucket da cui stai scaricando l'oggetto. Ad esempio,my-bucket.OBJECT_NAMEè il nome con codifica URL dell'oggetto che stai scaricando. Ad esempio,pets/dog.png, codificato come URLpets%2Fdog.png.
Per ulteriori informazioni sulle intestazioni specifiche per la crittografia, consulta Intestazioni delle richieste di crittografia.
Ruotare le chiavi di crittografia
Per ruotare una chiave di crittografia fornita dal cliente:
Console
La console Google Cloud non può essere utilizzata per la rotazione delle chiavi di crittografia fornite dal cliente. Utilizza invece Google Cloud 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=NEW_KEY --decryption-keys=OLD_KEY
Dove:
BUCKET_NAMEè il nome del bucket che contiene l'oggetto di cui stai eseguendo la rotazione della chiave. Ad esempio,my-bucket.OBJECT_NAMEè il nome dell'oggetto la cui chiave stai ruotando. Ad esempio,pets/dog.png.NEW_KEYè la nuova chiave di crittografia fornita dal cliente che vuoi utilizzare per criptare l'oggetto.OLD_KEYè la chiave di crittografia fornita dal cliente corrente utilizzata 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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare 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 Configurare l'autenticazione per le librerie client.
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 richiesta diPOSToggetto:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Length: 0" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: NEW_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_NEW_KEY" \ -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"
Dove:
NEW_ENCRYPTION_KEYè la nuova chiave AES-256 utilizzata per criptare l'oggetto.HASH_OF_NEW_KEYè l'hash SHA-256 della nuova chiave AES-256.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 eseguendo la rotazione delle chiavi. Ad esempio,pets/dog.png, codificato come URLpets%2Fdog.png.
Per ulteriori informazioni sulle intestazioni specifiche per la crittografia, consulta Intestazioni delle richieste di crittografia.
API XML
L'API XML non supporta la rotazione di una chiave di crittografia fornita dal cliente tramite la riscrittura dell'oggetto. Per applicare una nuova chiave fornita dal cliente a un oggetto utilizzando l'API XML, devi:
Passaggi successivi
Scopri di più sulle chiavi di crittografia fornite dal cliente.
Scopri come ruotare la chiave di crittografia fornita dal cliente in una chiave Cloud KMS