Questa pagina descrive come utilizzare la tua chiave di crittografia, indicata come chiave di crittografia fornita dal cliente, con Cloud Storage. Per altre opzioni di crittografia in Cloud Storage, consulta 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 autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta 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 autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Eseguire il caricamento 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.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 saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta 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 autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
API REST
API JSON
Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiesta diPOST
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 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 per la tua 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
, codificato come URL comepets%2Fdog.png
.
Per ulteriori informazioni sulle intestazioni specifiche per la crittografia, consulta Intestazioni delle richieste di crittografia.
API XML
Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per 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 per la tua 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
, codificato come URL comepets%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 e 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 autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta 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 autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
API REST
API JSON
Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiesta diGET
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 utilizzata per criptare l'oggetto.HASH_OF_YOUR_KEY
è l'hash SHA-256 per la 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 URL comepets%2Fdog.png
.
Per ulteriori informazioni sulle intestazioni specifiche per la crittografia, consulta Intestazioni delle richieste di crittografia.
API XML
Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per 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 utilizzata per criptare l'oggetto.HASH_OF_YOUR_KEY
è l'hash SHA-256 per la 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 URL comepets%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 ruotare le 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 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 saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta 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 autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
API REST
API JSON
Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiesta diPOST
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
è la chiave AES-256 corrente utilizzata per criptare l'oggetto.HASH_OF_OLD_KEY
è l'hash SHA-256 corrente per la 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 URL comepets%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 l'oggetto di riscrittura. 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