Questa pagina descrive come utilizzare la tua chiave di crittografia, nota come chiave di crittografia fornita dal cliente, con Cloud Storage. Per altre opzioni di crittografia in Cloud Storage, consulta Opzioni di crittografia dei dati.
Genera la tua chiave di crittografia
Esistono molti modi per generare una chiave di crittografia AES-256 con codifica Base64. Ecco alcuni esempi:
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Carica con la tua chiave di crittografia
Per utilizzare chiavi di crittografia fornite dal cliente per caricare un oggetto:
Console
Non è possibile utilizzare la console Google Cloud per caricare un oggetto con una chiave di crittografia fornita dal cliente. Usa 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 crittografando. Può essere qualsiasi posizione di origine supportata dal comandocp
. Ad esempio, un file locale comeDesktop/dogs.png
o 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 maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaPOST
oggetto: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 contenuti 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 chiave AES-256.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
.
Per ulteriori informazioni sulle intestazioni specifiche della crittografia, consulta Intestazioni delle richieste di crittografia.
API XML
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML con una richiestaPUT
OBJECT: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 contenuti 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 chiave AES-256.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
.
Per ulteriori informazioni sulle intestazioni specifiche della crittografia, consulta Intestazioni delle richieste di crittografia.
Scarica gli oggetti che hai criptato
Per scaricare un oggetto archiviato in Cloud Storage criptato con una chiave di crittografia fornita dal cliente:
Console
Non è possibile utilizzare la console Google Cloud per scaricare oggetti criptati con chiavi di crittografia fornite dal cliente. Usa 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 che contiene 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 quando è stato caricato.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaGET
oggetto: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 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 scarichi l'oggetto. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL dell'oggetto che stai scaricando. Ad esempio,pets/dog.png
, con codifica URL comepets%2Fdog.png
.
Per ulteriori informazioni sulle intestazioni specifiche della crittografia, consulta Intestazioni delle richieste di crittografia.
API XML
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML con una richiestaGET
OBJECT: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 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 scarichi l'oggetto. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL dell'oggetto che stai scaricando. Ad esempio,pets/dog.png
, con codifica URL comepets%2Fdog.png
.
Per ulteriori informazioni sulle intestazioni specifiche della crittografia, consulta Intestazioni delle richieste di crittografia.
Ruota le chiavi di crittografia
Per ruotare una chiave di crittografia fornita dal cliente:
Console
La console Google Cloud non può essere utilizzata per ruotare le chiavi di crittografia fornite dal cliente. Utilizza 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 ruotando la chiave. Ad esempio,my-bucket
.OBJECT_NAME
è il nome dell'oggetto di cui stai ruotando la chiave. Ad esempio,pets/dog.png
.NEW_KEY
è la nuova chiave di crittografia fornita dal cliente che vuoi utilizzare per criptare l'oggetto.OLD_KEY
è l'attuale chiave di crittografia fornita dal cliente utilizzata per criptare l'oggetto.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaPOST
oggetto: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
è l'attuale chiave AES-256 utilizzata per criptare l'oggetto.HASH_OF_OLD_KEY
è l'hash SHA-256 attuale della chiave AES-256.BUCKET_NAME
è il nome del bucket che contiene l'oggetto pertinente. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL dell'oggetto di cui vengono ruotate le chiavi. Ad esempio,pets/dog.png
, con codifica URL comepets%2Fdog.png
.
Per ulteriori informazioni sulle intestazioni specifiche della 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 di un 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