Transparent Data Encryption per database SQL, Istanza gestita di SQL e Azure Synapse Analytics
Si applica a:Istanza
gestita di SQL di Azure per il database
SQL di Azure Azure Synapse Analytics
Transparent Data Encryption (TDE) consente di proteggere il database SQL di Azure, l'istanza gestita di SQL di Azure e Azure Synapse Analytics contro la minaccia di attività offline dannose crittografando i dati inattivi. Esegue in tempo reale la crittografia e la decrittografia del database, dei backup associati e dei file di log delle transazioni inattivi, senza richiedere modifiche dell'applicazione. Per impostazione predefinita, TDE è abilitato per tutti i database SQL di Azure appena distribuiti e deve essere abilitato manualmente per i database SQL di Azure meno recenti. Per Istanza gestita di SQL di Azure, TDE è abilitato a livello di istanza e di database appena creati. TDE deve essere abilitato manualmente per Azure Synapse Analytics.
Nota
Questo articolo si applica al database SQL di Azure, all'istanza gestita di SQL di Azure e ad Azure Synapse Analytics (pool SQL dedicati (in precedenza SQL Data Warehouse)). Per la documentazione su Transparent Data Encryption per pool SQL dedicati all'interno delle aree di lavoro di Synapse, vedere Crittografia di Azure Synapse Analytics.
Nota
Alcuni elementi considerati contenuto del cliente, ad esempio nomi di tabella, nomi di oggetti e nomi di indice, possono essere trasmessi nei file di log per il supporto e la risoluzione dei problemi da parte di Microsoft.
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 crittografata viene decrittografata e quindi usata per la decrittografia e la ricrittografia dei file di database nel processo del motore di database di SQL Server. La chiave DEK è protetta dalla protezione TDE. La protezione TDE è un certificato gestito dal servizio (Transparent Data Encryption gestito dal servizio) o una chiave asimmetrica archiviata in Azure Key Vault (Transparent Data Encryption gestita dal cliente).
Per il database SQL di Azure e Azure Synapse, la protezione TDE viene impostata a livello di server e viene ereditata da tutti i database associati a tale server. Per l'istanza gestita di database SQL di Azure, la protezione TDE è impostata a livello di istanza e viene ereditata da tutti i database crittografati nell'istanza. Salvo diversa indicazione, in questo documento il termine server fa riferimento sia al server che all'istanza.
Importante
Tutti i nuovi database SQL vengono crittografati per impostazione predefinita tramite TDE gestita del servizio. I database SQL esistenti creati prima di maggio 2017 e quelli creati tramite ripristino, replica geografica e copia di database non vengono crittografati per impostazione predefinita. I database di Istanza gestita di SQL esistenti creati prima di febbraio 2019 non vengono crittografati per impostazione predefinita. I database di Istanza gestita di SQL creati tramite il ripristino ereditano lo stato di crittografia dall'origine. Per ripristinare un database crittografato TDE esistente, il certificato TDE necessario deve prima essere importato in Istanza gestita di SQL.
Nota
TDE non può essere usato per crittografare i database di sistema, ad esempio il master
database, nel database SQL di Azure e nell'istanza gestita di SQL di Azure. Il master
database contiene oggetti necessari per eseguire operazioni TDE sui database utente. È consigliabile non archiviare dati sensibili nei database di sistema. L'eccezione è tempdb
, che viene sempre crittografata con TDE per proteggere i dati archiviati in questa posizione.
Transparent Data Encryption gestita 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. 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 in conformità con i criteri di sicurezza interni e la chiave radice è protetta da un archivio segreti interno di Microsoft. I clienti possono verificare la conformità del database SQL e dell'istanza gestita di SQL con criteri di sicurezza interni in report di controllo di terze parti indipendenti disponibili nel Centro protezione Microsoft.
Microsoft inoltre sposta e gestisce le chiavi senza problemi in base alle esigenze per la replica geografica e ne esegue il ripristino.
Transparent Data Encryption gestita dal cliente: Bring Your Own Key
Il TDE gestito dal cliente viene anche definito supporto BYOK (Bring Your Own Key) per TDE. In questo scenario, la protezione TDE che crittografa la chiave DEK è una chiave asimmetrica gestita dal cliente, che viene archiviata in un'istanza di Azure Key Vault (il sistema di gestione delle chiavi esterno basato sul cloud di Azure) di proprietà e gestita dal cliente e non lascia mai l'insieme di credenziali delle chiavi. La protezione TDE può essere generata dall'insieme di credenziali delle chiavi o trasferita all'insieme di credenziali delle chiavi da un dispositivo HSM (Hardware Security Module) locale. Il database SQL, l'istanza gestita di SQL e Azure Synapse devono avere le autorizzazioni per l'insieme di credenziali delle chiavi di proprietà del cliente per decrittografare e crittografare la chiave DEK. Se le autorizzazioni del server SQL per l'insieme di credenziali delle chiavi vengono revocate, non sarà possibile accedere a un database e tutti i dati rimangono crittografati.
Grazie all'integrazione di TDE con Azure Key Vault, gli utenti possono controllare le attività di gestione delle chiavi, tra cui le rotazioni, i backup e le autorizzazioni dell'insieme di credenziali, nonché abilitare il controllo o il reporting per tutte le protezioni TDE usando Azure Key Vault. Key Vault fornisce la gestione centralizzata delle chiavi, sfrutta i moduli di protezione hardware accuratamente monitorati e consente la separazione dei compiti tra la gestione delle chiavi e dei dati per soddisfare la conformità alle politiche di sicurezza. Per altre informazioni su BYOK per il database SQL di Azure e Azure Synapse, vedere Transparent Data Encryption con l'integrazione di Azure Key Vault.
Per iniziare a usare TDE con l'integrazione di Azure Key Vault, vedere la guida pratica Attivare Transparent Data Encryption usando la propria chiave di Key Vault.
Spostare un database protetto con TDE
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
- Ripristino di un file di backup per Istanza gestita di database SQL di Azure
Importante
L'esecuzione manuale del backup COPY-ONLY di un database crittografato da TDE gestito dal servizio non è supportata in Istanza gestita di SQL di Azure, perché il certificato usato per la crittografia non è accessibile. Usare la funzionalità di ripristino temporizzato per spostare questo tipo di database in un'altra istanza gestita di SQL o passare alla chiave gestita dal cliente.
Quando si esporta un database protetto da TDE, il contenuto esportato del database non viene crittografato. Questo contenuto esportato viene archiviato in file BACPAC non crittografati. Assicurarsi di proteggere i file BACPAC in modo appropriato e abilitare TDE al termine dell'importazione del nuovo database.
Ad esempio, se il file BACPAC viene esportato da un'istanza di SQL Server, il contenuto importato del nuovo database non viene crittografato automaticamente. Analogamente, se il file BACPAC viene importato in un'istanza di SQL Server, il nuovo database non viene crittografato automaticamente.
L'unica eccezione è quando si esporta un database da e verso il database SQL. TDE è abilitato nel nuovo database, ma il file BACPAC stesso non è ancora crittografato.
Gestire Transparent Data Encryption
Gestire TDE nel portale di Azure.
Per configurare TDE tramite il portale di Azure è necessario essere connessi come proprietario, collaboratore o Gestore Sicurezza SQL di Azure.
Abilitare e disabilitare TDE a livello di database. Per Istanza gestita di SQL di Azure usare Transact-SQL (T-SQL) per attivare e disattivare TDE in un database. Per il database SQL di Azure e Azure Synapse, è possibile gestire TDE per il database nel portale di Azure dopo aver eseguito l'accesso con l'account Amministratore di Azure o Collaboratore. Le impostazioni di TDE si trovano nel database utente. Per impostazione predefinita, viene usata TDE gestita dal servizio. Un certificato TDE viene generato automaticamente per il server che contiene il database.
Impostare la chiave master TDE, nota come protezione TDE, a livello di server o istanza. Per usare TDE con il supporto BYOK e proteggere i database con una chiave da Key Vault, aprire le impostazioni TDE nel server.