Condividi tramite


Transparent Data Encryption con il database SQL di Azure

Azure SQL Database Transparent Data Encryption (anteprima) consente di proteggersi dalla minaccia di attività dannose eseguendo la crittografia e la decrittografia in tempo reale del database, dei backup associati e dei file di log delle transazioni inattivi senza richiedere modifiche all'applicazione.

TDE esegue la crittografia dello spazio di archiviazione di un intero database usando una chiave simmetrica detta "chiave di crittografia del database". Nel database SQL la chiave di crittografia del database è protetta da un certificato server incorporato. Il certificato server incorporato è univoco per ogni server di database SQL. Se un database partecipa a una relazione GeoDR, è protetto da una chiave diversa in ogni server. Se due database sono connessi allo stesso server, condividono lo stesso certificato predefinito. Microsoft ruota automaticamente questi certificati almeno ogni 90 giorni. Per una descrizione generale di TDE, vedere Transparent Data Encryption (TDE).

Azure SQL Database non supporta l'integrazione di Azure Key Vault con TDE. SQL Server in esecuzione in una macchina virtuale di Azure può usare una chiave asimmetrica dal Key Vault. Per altre informazioni, vedere Example A: Transparent Data Encryption by Using an Asymmetric Key from the Key Vault.

Si applica a: database SQL V12 (anteprima in alcune aree).

Importante

Si tratta attualmente di una funzionalità di anteprima. Accetto e accetto che l'implementazione di database SQL transparent data encryption nei database è soggetta alle condizioni di anteprima del contratto di licenza (ad esempio, il Enterprise Agreement, il Contratto di Microsoft Azure o il Contratto di sottoscrizione Microsoft Online), nonché eventuali condizioni supplementari per l'utilizzo per Microsoft Azure Preview.

L'anteprima dello stato di TDE si applica anche nel subset di aree geografiche in cui la famiglia di versioni V12 di database SQL viene annunciata come ora in stato di disponibilità generale. TDE per database SQL non è destinato all'uso nei database di produzione fino a quando Microsoft non annuncia che TDE viene alzato di livello dall'anteprima alla disponibilità generale. Per altre informazioni su database SQL V12, vedere Novità di Azure SQL Database.

Autorizzazioni

Per iscriversi per l'anteprima e configurare Transparent Data Encryption tramite il portale di Azure usando l'API REST o PowerShell, è necessario essere connessi come proprietario, collaboratore o Gestore Sicurezza SQL di Azure.

Per configurare TDE tramite Transact-SQL, è necessario quanto segue:

  • Si deve essere già registrati per l'anteprima di Transparent Data Encryption.

  • Per creare la chiave di crittografia del database, è necessario essere un amministratore di database SQL oppure è necessario essere membri del ruolo dbmanager nel database master e disporre dell'autorizzazione CONTROL per il database.

  • Per eseguire l'istruzione ALTER DATABASE con l'opzione SET, è richiesta solo l'appartenenza al ruolo dbmanager .

Iscrizione all'anteprima di Transparent Data Encryption e abilitazione di TDE in un database

  1. Visitare il portale di Azure all'indirizzo https://portal.azure.com e accedere con l'account Amministratore o Collaboratore di Azure.

  2. Nel banner a sinistra fare clic su SFOGLIA e quindi su Database SQL.

  3. Con Database SQL selezionato nel riquadro sinistro fare clic su un database utente.

  4. Nel pannello del database fare clic su Tutte le impostazioni.

  5. Nel pannello Impostazioni fare clic su Transparent Data Encryption (anteprima) per aprire il pannello Transparent Data Encryption PREVIEW . Se non si è già iscritti per l'anteprima di Transparent Data Encryption, le impostazioni di crittografia dei dati saranno disabilitate finché non si completa l'iscrizione.

  6. Fare clic su CONDIZIONI PER L'ANTEPRIMA.

  7. Leggere le condizioni dell'anteprima e, se si accettano le condizioni, selezionare la casella di controllo Transparent Data EncryptionPreview terms e quindi fare clic su OK nella parte inferiore della pagina. Tornare al pannello Crittografia datiPREVIEW , in cui dovrebbe essere abilitato il pulsante Crittografia dati .

  8. Nel pannello Crittografia dati ANTEPRIMA spostare lo stato attivo del pulsante Crittografia dati su Attivatoe quindi fare clic su Salva (in alto nella pagina) per applicare l'impostazione. Il valore di Stato crittografia indicherà approssimativamente lo stato di avanzamento di Transparent Data Encryption.

    SQLDB_TDE_TermsNewUI SQLDB_TDE_TermsNewUI

    È anche possibile monitorare lo stato di avanzamento della crittografia connettendosi a database SQL usando uno strumento di query, ad esempio SQL Server Management Studio come utente del database con l'autorizzazione VIEW DATABASE STATE. Eseguire una query sulla encryption_state colonna della vista sys.dm_database_encryption_keys .

Abilitazione di Transparent Data Encryption nel database SQL tramite Transact-SQL

I passaggi seguenti presuppongono che sia già stata effettuata l'iscrizione per l'anteprima.

  1. Connettersi al database con un account di accesso come amministratore o membro del ruolo dbmanager nel database master.

  2. Eseguire le istruzioni seguenti per creare una chiave di crittografia del database e crittografare il database.

    -- Create the database encryption key that will be used for TDE.
    CREATE DATABASE ENCRYPTION KEY 
    WITH ALGORITHM = AES_256 
    ENCRYPTION BY SERVER CERTIFICATE ##MS_TdeCertificate##;
    
    -- Enable encryption
    ALTER DATABASE [AdventureWorks] SET ENCRYPTION ON;
    GO
    
  3. Per monitorare lo stato di avanzamento della crittografia in database SQL, gli utenti del database con l'autorizzazione VIEW DATABASE STATE possono eseguire query sulla encryption_state colonna della vista sys.dm_database_encryption_keys.

Abilitazione di Transparent Data Encryption nel database SQL tramite PowerShell

Con Azure PowerShell è possibile eseguire il comando seguente per attivare o disattivare TDE. Prima di eseguire il comando, è necessario connettere l'account alla finestra di PowerShell. I passaggi seguenti presuppongono che sia già stata effettuata l'iscrizione per l'anteprima. Per altre informazioni su PowerShell, vedere Come installare e configurare Azure PowerShell.

  1. Per abilitare Transparent Data Encryption, tornare al relativo stato e visualizzare l'attività di crittografia.

    Switch-AzureMode -Name AzureResourceManager
    Set-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1" -State "Enabled"
    
    Get-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1"
    Get-AzureSqlDatabaseTransparentDataEncryptionActivity -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1"
    
  2. Per disabilitare TDE:

    Set-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1" -State "Disabled"
    Switch-AzureMode -Name AzureServiceManagement
    

Decrittografia di un database protetto con TDE nel database SQL

Per disabilitare TDE tramite il portale di Azure

  1. Visitare il portale di Azure all'indirizzo https://portal.azure.com e accedere con l'account Amministratore o Collaboratore di Azure.

  2. Nel banner a sinistra fare clic su SFOGLIA e quindi su Database SQL.

  3. Con Database SQL selezionato nel riquadro sinistro fare clic su un database utente.

  4. Nel pannello del database fare clic su Tutte le impostazioni.

  5. Nel pannello Impostazioni fare clic su Transparent Data Encryption (anteprima) per aprire il pannello Transparent Data Encryption PREVIEW .

  6. Nel pannello Transparent Data Encryption ANTEPRIMA spostare lo stato attivo del pulsante Crittografia dati su Attivatoe quindi fare clic su Salva (in alto nella pagina) per applicare l'impostazione. Il valore di Stato crittografia indicherà approssimativamente lo stato di avanzamento della decrittografia trasparente dei dati.

    È anche possibile monitorare lo stato di avanzamento della decrittografia connettendosi a database SQL usando uno strumento di query, ad esempio Management Studio come utente del database con l'autorizzazione VIEW DATABASE STATE. Eseguire una query sulla encryption_state colonna della vista sys.dm_database_encryption_keys.

Per disabilitare TDE tramite Transact-SQL

  1. Connettersi al database con un account di accesso come amministratore o membro del ruolo dbmanager nel database master.

  2. Eseguire le istruzioni seguenti per decrittografare il database.

    -- Enable encryption
    ALTER DATABASE [AdventureWorks] SET ENCRYPTION OFF;
    GO
    
  3. Per monitorare lo stato di avanzamento della crittografia in database SQL, gli utenti del database con l'autorizzazione VIEW DATABASE STATE possono eseguire query sulla encryption_state colonna della vista sys.dm_database_encryption_keys.

Utilizzo di un database protetto con TDE nel database SQL

Non è necessario decrittografare i database per eseguire 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. Sono incluse le operazioni che prevedono le attività seguenti:

  • Ripristino geografico

  • Ripristino temporizzato self-service

  • Ripristino di un database eliminato

  • Replica a livello geografico attiva

  • Creazione di una copia del database

Spostamento di un database protetto con TDE tramite file BACPAC

Quando si esporta un database protetto da TDE tramite la funzione Esporta database nel portale di database di Azure SQL o nell'Importazione/Esportazione guidata di SQL Server, il contenuto del database non viene crittografato. Il contenuto viene archiviato in file BACPAC che non sono crittografati. Assicurarsi di proteggere i file BACPAC nel modo appropriato e abilitare TDE al termine dell'importazione del nuovo database.

Abilitare TDE tramite EKM

Vedere anche

Transparent Data Encryption (TDE)CREATE CREDENTIAL (Transact-SQL)CREATE ASYMMETRIC KEY (Transact-SQL)CREATE DATABASE ENCRYPTION KEY (Transact-SQL)ALTER DATABASE (Transact-SQL)ALTER DATABASE SET Options (Transact-SQL)