Fornire una chiave di crittografia per una richiesta all'archiviazione BLOB

I client che effettuano richieste nell'archiviazione BLOB di Azure possono fornire una chiave di crittografia AES-256 per crittografare il BLOB in un'operazione di scrittura. Le richieste successive di lettura o scrittura nel BLOB devono includere la stessa chiave. L'inclusione della chiave di crittografia nella richiesta fornisce un controllo granulare sulle impostazioni di crittografia per le operazioni di archiviazione BLOB. Le chiavi fornite dal cliente possono essere archiviate in Azure Key Vault o in un altro archivio chiavi.

Crittografia delle operazioni di lettura e scrittura

Quando un'applicazione client fornisce una chiave di crittografia sulla richiesta, Archiviazione di Azure esegue la crittografia e la decrittografia in modo trasparente durante la lettura e la scrittura di dati BLOB. Archiviazione di Azure scrive un hash SHA-256 della chiave di crittografia insieme al contenuto del BLOB. L'hash viene usato per verificare che tutte le operazioni successive sul BLOB usino la stessa chiave di crittografia.

Archiviazione di Azure non archivia o gestisce la chiave di crittografia inviata dal client con la richiesta. La chiave viene rimossa in modo sicuro non appena il processo di crittografia o decrittografia è stato completato.

Quando un client crea o aggiorna un BLOB usando una chiave fornita dal cliente nella richiesta, le successive richieste di lettura e scrittura per tale BLOB devono fornire anche la chiave. Se la chiave non viene fornita in una richiesta per un BLOB già crittografato con una chiave fornita dal cliente, la richiesta non riesce con codice di errore 409 (Conflitto).

Se l'applicazione client invia una chiave di crittografia sulla richiesta e l'account di archiviazione viene crittografato anche usando una chiave gestita da Microsoft o una chiave gestita dal cliente, Archiviazione di Azure usa la chiave fornita nella richiesta di crittografia e decrittografia.

Per inviare la chiave di crittografia come parte della richiesta, un client deve stabilire una connessione sicura per Archiviazione di Azure tramite HTTPS.

Ogni snapshot BLOB o versione blob può avere una propria chiave di crittografia.

La replica di oggetti non è supportata per i BLOB nell'account di origine crittografati con una chiave fornita dal cliente.

Intestazioni di richiesta per specificare le chiavi fornite dal cliente

Per le chiamate REST, i client possono usare le intestazioni seguenti per passare in modo sicuro le informazioni sulla chiave di crittografia in una richiesta all'archiviazione BLOB:

Intestazione richiesta Descrizione
x-ms-encryption-key Obbligatorio sia per le richieste di scrittura che di lettura. Valore della chiave di crittografia AES-256 con codifica Base64.
x-ms-encryption-key-sha256 Obbligatorio sia per le richieste di scrittura che di lettura. Sha256 con codifica Base64 della chiave di crittografia.
x-ms-encryption-algorithm Obbligatorio per le richieste di scrittura, facoltativo per le richieste di lettura. Specifica l'algoritmo da utilizzare per crittografare i dati usando la chiave specificata. Il valore di questa intestazione deve essere AES256.

La specifica delle chiavi di crittografia nella richiesta è facoltativa. Tuttavia, se si specifica una delle intestazioni elencate in precedenza per un'operazione di scrittura, è necessario specificare tutte le intestazioni.

Operazioni di archiviazione BLOB che supportano le chiavi fornite dal cliente

Le operazioni di archiviazione BLOB seguenti supportano l'invio di chiavi di crittografia fornite dal cliente in una richiesta:

Ruotare le chiavi fornite dal cliente

Per ruotare una chiave di crittografia usata per crittografare un BLOB, scaricare il BLOB e quindi ricaricarlo con la nuova chiave di crittografia.

Importante

Il portale di Azure non può essere usato per leggere o scrivere in un contenitore o in un BLOB crittografato con una chiave fornita nella richiesta.

Assicurarsi di proteggere la chiave di crittografia specificata in una richiesta di archiviazione BLOB in un archivio chiavi sicuro, ad esempio Azure Key Vault. Se si tenta di eseguire un'operazione di scrittura su un contenitore o un BLOB senza la chiave di crittografia, l'operazione avrà esito negativo e si perderà l'accesso all'oggetto.

Supporto funzionalità

Il supporto per questa funzionalità potrebbe essere influenzato dall'abilitazione del protocollo Data Lake Archiviazione Gen2, NFS (Network File System) 3.0 o del protocollo SFTP (SSH File Transfer Protocol). Se è stata abilitata una di queste funzionalità, vedere Supporto delle funzionalità di Archiviazione BLOB negli account Archiviazione di Azure per valutare il supporto per questa funzionalità.

Passaggi successivi