Transparent Data Encryption for Azure Synapse Analytics

Tip

Microsoft Fabric Data Warehouse è un data warehouse relazionale su scala aziendale su una base data lake, con un'architettura futura, un'intelligenza artificiale predefinita e nuove funzionalità. Se non si ha familiarità con il data warehousing, iniziare con Fabric Data Warehouse. I carichi di lavoro esistenti del pool SQL dedicated possono eseguire l'aggiornamento a Fabric per accedere a nuove funzionalità tra data science, analisi in tempo reale e creazione di report.

Si applica a: pool SQL dedicati di Azure Synapse Analytics (in precedenza SQL Data Warehouse)

Transparent Data Encryption (TDE) protegge un pool SQL dedicato contro attività offline dannose criptando file di database, file di log delle transazioni e backup archiviati. La crittografia e la decrittazione avvengono in tempo reale e non richiedono modifiche applicative.

Devi abilitare manualmente TDE per un pool SQL dedicato standalone di Azure Synapse Analytics.

TDE esegue in tempo reale la crittografia e decrittografia dell'I/O dei dati a livello di pagina. Ogni pagina viene decrittografata quando letta in memoria e quindi crittografata prima di essere scritta su disco. TDE crittografa i dati di archiviazione di un intero database usando una chiave simmetrica denominata chiave di crittografia del database (DEK, Database Encryption Key). All'avvio del database, la chiave DEK viene decrittografata e quindi usata per decrittografare e ri-crittografare i file di database nel processo di motore di database di SQL Server. Il protettore TDE protegge il DEK. La protezione TDE è un certificato gestito dal servizio (certificato gestito dal servizio per la crittografia trasparente dei dati).

Per Azure Synapse, si imposta il protettore TDE a livello server e tutti i database associati a quel server lo ereditano.

Note

Questo articolo tratta pool SQL dedicati standalone (precedentemente SQL DW) ospitati su un server logico. Per pool SQL dedicati in uno spazio di lavoro Synapse, vedi Crittografia per Azure Synapse Analytics workspace.

Come funziona il TDE

TDE cripta le pagine del database utilizzando una chiave di crittografia del database simmetrica (DEK). Il DEK è memorizzato nel record di avvio del database e il protettore TDE lo protegge. Il protector è un certificato gestito dal servizio.

Configuri il protettore TDE sul server logico e i pool SQL dedicati su quel server lo ereditano. Ogni pagina viene decriptata quando viene letta in memoria e criptata prima di essere scritta nella memoria di archiviazione.

TDE gestito dal servizio

In Azure l'impostazione predefinita di TDE prevede che la chiave di crittografia del database sia protetta da un certificato predefinito del server. Il certificato server predefinito è univoco per ogni server e l'algoritmo di crittografia usato è AES 256 in modalità CBC (Cipher Block Chaining). Se un database è in una relazione di replica geografica, il database primario e la replica geografica secondaria sono protetti dalla chiave primaria del server padre del database. Se due database sono connessi allo stesso server, condividono anche lo stesso certificato predefinito. Microsoft ruota automaticamente questi certificati una volta all'anno, in conformità ai criteri di sicurezza interni e la chiave radice è protetta da un archivio segreto interno Microsoft. I clienti possono verificare la conformità del database SQL e l’Istanza gestita di SQL con i criteri di sicurezza interni nei report di controllo di terze parti indipendenti disponibili nel Centro protezione di Microsoft. Microsoft inoltre sposta e gestisce le chiavi senza problemi in base alle esigenze per la replica geografica e ne esegue il ripristino.

TDE gestita dal cliente

Con la TDE gestita dal cliente, il protettore è una chiave asimmetrica che controlli in Azure Key Vault o Azure Key Vault Managed HSM. Controlli la creazione delle chiavi, i permessi di accesso, la rotazione, il backup e la cancellazione. La chiave non esce dal keystore.

Revocare l'accesso del server logico alla chiave rende inaccessibili i pool SQL dedicati criptati. Proteggi lo store delle chiavi con la cancellazione soft, la protezione contro la purga, il monitoraggio e l'accesso a privilegi minimi.

Azure Synapse deve ottenere i permessi per il vault di chiavi di proprietà del cliente per decriptare e criptare il DEK. Se le autorizzazioni del server all'insieme di credenziali delle chiavi vengono revocate, non sarà possibile accedere a un database e tutti i dati restano crittografati.

Per requisiti e raccomandazioni, vedi Customer-managed TDE per Azure Synapse Analytics.

Sposta un database protetto da Transparent Data Encryption

Non è necessario decrittografare i database per le operazioni all'interno di Azure. Le impostazioni di Transparent Data Encryption nel database di origine o nel database primario vengono ereditate in modo trasparente nel database di destinazione. Le operazioni incluse fanno riferimento a:

  • Ripristino geografico
  • Ripristino temporizzato self-service
  • Ripristino di un database eliminato
  • Replica geografica attiva
  • Creazione di una copia del database

Quando si esporta un database protetto da TDE in un file BACPAC, il contenuto esportato del database non viene crittografato. Se si importa in un database vuoto esistente, la crittografia dipende dal fatto che TDE sia abilitato o meno in tale database.

Manage Transparent Data Encryption

Azure portal

Per abilitare o disabilitare TDE, apri il pool SQL dedicato nel portale Azure, seleziona Crittografia dati trasparenti e salva lo stato richiesto. Per configurare un protettore gestito dal cliente, apri la crittografia dati trasparente sul server logico e seleziona la chiave da Azure Key Vault. Le impostazioni di TDE si trovano nel database utente. Per impostazione predefinita, viene usata la chiave di crittografia a livello di server. Un certificato TDE viene generato automaticamente per il server che contiene il database.

PowerShell

Gestire TDE usando PowerShell.

Importante

Il modulo Az sostituisce AzureRM. Tutto lo sviluppo futuro è destinato al modulo Az.Sql.

Per configurare TDE tramite PowerShell è necessario essere connessi come proprietario, collaboratore o Gestore Sicurezza SQL di Azure.

Usa i seguenti cmdlet Az.SQL:

Cmdlet (un piccolo script o comando in PowerShell) Purpose
Set-AzSqlDatabaseTransparentDataEncryption Abilita o disabilita TDE per un pool SQL dedicato.
Get-AzSqlDatabaseTransparentDataEncryption Ottieni lo stato attuale del TDE.
Add-AzSqlServerKeyVaultKey Aggiungi una chiave al server logico.
Get-AzSqlServerKeyVaultKey Elenca le chiavi disponibili per il server logico.
Set-AzSqlServerTransparentDataEncryptionProtector Imposta la protezione TDE del server.
Get-AzSqlServerTransparentDataEncryptionProtector Recupera la protezione TDE corrente.
Remove-AzSqlServerKeyVaultKey Rimuovi una chiave dal server logico.

Transact-SQL

Gestire la TDE usando Transact-SQL.

Connettere il database usando un account di accesso di un amministratore o di un membro del ruolo dbmanager nel master database.

Comando Description
ALTER DATABASE (database SQL di Azure) SET ENCRYPTION ON/OFF crittografa o decrittografa un database
sys.dm_database_encryption_keys Restituisce informazioni sullo stato di crittografia di un database e delle chiavi di crittografia associate al database
sys.dm_pdw_nodes_database_encryption_keys Restituisce informazioni sullo stato di crittografia di ciascun nodo Azure Synapse e delle chiavi di crittografia del database a esso associate

Non puoi cambiare il protettore TDE in una chiave di Azure Key Vault usando Transact-SQL. Usare PowerShell o il portale Azure.

REST API

Le seguenti risorse di gestione SQL si applicano al server logico e al pool SQL dedicato.

Per configurare TDE tramite l'API REST è necessario essere connessi come proprietario, collaboratore o Gestore Sicurezza SQL di Azure.

Usa il seguente insieme di comandi per i pool SQL dedicati standalone di Azure Synapse Analytics:

Comando Description
Crea o aggiorna il server Aggiunge un'identità da Microsoft Entra ID (in precedenza Azure Active Directory) a un server. (usato per concedere l'accesso ad Azure Key Vault)
Crea o aggiorna la chiave del server Aggiunge una chiave di Azure Key Vault a un server.
Elimina la chiave del server Rimuove una chiave di Azure Key Vault da un server.
Ottieni la chiave del server Ottiene una chiave specifica di Azure Key Vault da un server.
Elenca le chiavi del server per server Ottiene le chiavi di Azure Key Vault per un server.
Crea o aggiorna la protezione della crittografia Imposta la Protezione TDE per un server.
Ottieni la protezione della crittografia Ottiene la Protezione TDE per un server.
Elenca le protezioni di crittografia dal server Ottiene la Protezione TDE per un server.
Crea o aggiorna la configurazione di Transparent Data Encryption Abilita o disabilita TDE per un database.
Ottieni la configurazione di Transparent Data Encryption Ottiene la configurazione di TDE per un database.
Elenca i risultati della configurazione di Transparent Data Encryption Ottiene il risultato della crittografia per un database.