Crittografia dei backupBackup Encryption

In questo argomento viene fornita una panoramica delle opzioni di crittografia per i backup di SQL ServerSQL Server .This topic provides an overview of the encryption options for SQL ServerSQL Server backups. Vengono illustrati i dettagli di utilizzo, i vantaggi e le procedure consigliate per eseguire la crittografia durante il backup.It includes details of the usage, benefits, and recommended practices for encrypting during backup.

Panoramica Overview

A partire da SQL Server 2014SQL Server 2014, in SQL Server è possibile crittografare i dati durante la creazione di un backup.Starting in SQL Server 2014SQL Server 2014, SQL Server has the ability to encrypt the data while creating a backup. Specificando l'algoritmo di crittografia e il componente di crittografia (certificato o chiave asimmetrica) durante la creazione di un backup, è possibile creare un file di backup crittografato.By specifying the encryption algorithm and the encryptor (a Certificate or Asymmetric Key) when creating a backup, you can create an encrypted backup file. Sono supportate tutte le destinazioni di archiviazione, in locale e Windows Azure.All storage destinations: on-premises and Window Azure storage are supported. Inoltre, è possibile configurare le opzioni di crittografia per le operazioni del Backup gestito di SQL Server in Microsoft AzureSQL Server Managed Backup to Microsoft Azure , una nuova funzionalità introdotta in SQL Server 2014SQL Server 2014.In addition, encryption options can be configured for Backup gestito di SQL Server in Microsoft AzureSQL Server Managed Backup to Microsoft Azure operations, a new feature introduced in SQL Server 2014SQL Server 2014.

Per crittografare durante il backup, è necessario specificare un algoritmo di crittografia e un componente di crittografia per proteggere la chiave di crittografia.To encrypt during backup, you must specify an encryption algorithm, and an encryptor to secure the encryption key. Di seguito sono riportate le opzioni di crittografia supportate:The following are the supported encryption options:

  • Algoritmo di crittografia: gli algoritmi di crittografia supportati sono AES 128, AES 192, AES 256 e Triple DESEncryption Algorithm: The supported encryption algorithms are: AES 128, AES 192, AES 256, and Triple DES

  • Componente di crittografia: certificato o chiave asimmetricaEncryptor: A certificate or asymmetric Key

Attenzione

È molto importante eseguire il backup del certificato o della chiave asimmetrica e preferibilmente in un percorso diverso dal file di backup utilizzato per la crittografia.It is very important to back up the certificate or asymmetric key, and preferably to a different location than the backup file it was used to encrypt. Senza il certificato o la chiave asimmetrica, non è possibile ripristinare il backup, rendendo il file di backup inutilizzabile.Without the certificate or asymmetric key, you cannot restore the backup, rendering the backup file unusable.

Ripristino del backup crittografato: durante le operazioni di ripristino di SQL Server non è necessario specificare alcun parametro di crittografia.Restoring the encrypted backup: SQL Server restore does not require any encryption parameters to be specified during restores. È necessario che la chiave asimmetrica o il certificato utilizzato per crittografare il file di backup sia disponibile nell'istanza in cui viene eseguito il ripristino.It does require that the certificate or the asymmetric key used to encrypt the backup file be available on the instance that you are restoring to. L'account utente che esegue il ripristino deve disporre delle autorizzazioni VIEW DEFINITION per il certificato o la chiave.The user account performing the restore must have VIEW DEFINITION permissions on the certificate or key. Se si esegue il ripristino del backup crittografato in un'istanza diversa, è necessario assicurarsi che il certificato sia disponibile in tale istanza.If you are restoring the encrypted backup to a different instance, you must make sure that the certificate is available on that instance.

Se si esegue il ripristino di un backup da un database crittografato con TDE, è necessario che il certificato TDE sia disponibile nell'istanza in cui viene eseguito il ripristino.If you are restoring a backup from a TDE encrypted database, the TDE certificate should be available on the instance you are restoring to.

Vantaggi Benefits

  1. La crittografia dei backup dei database facilita la protezione dei dati: in SQL Server è possibile scegliere di crittografare i dati di backup durante la creazione di un backup.Encrypting the database backups helps secure the data: SQL Server provides the option to encrypt the backup data while creating a backup.

  2. La crittografia può essere utilizzata anche per i database crittografati tramite TDE.Encryption can also be used for databases that are encrypted using TDE.

  3. La crittografia è supportata per i backup eseguiti dal Backup gestito di SQL Server in Microsoft AzureSQL Server Managed Backup to Microsoft Azure, assicurando una maggiore sicurezza per i backup esterni.Encryption is supported for backups done by Backup gestito di SQL Server in Microsoft AzureSQL Server Managed Backup to Microsoft Azure, which provides additional security for off-site backups.

  4. Questa funzionalità supporta più algoritmi di crittografia fino ad AES a 256 bit,This feature supports multiple encryption algorithms up to AES 256 bit. offrendo la possibilità di scegliere l'algoritmo più adatto alle specifiche esigenze.This gives you the option to select an algorithm that aligns with your requirements.

  5. È possibile integrare le chiavi di crittografia con i provider EKM (Extended Key Management).You can integrate encryption keys with Extended Key Management (EKM) providers.

Prerequisiti Prerequisites

Di seguito sono riportati i prerequisiti per crittografare un backup:The following are prerequisites for encrypting a backup:

  1. Creare una chiave master del database per il database master: la chiave master del database è una chiave simmetrica utilizzata per proteggere le chiavi private dei certificati e le chiavi asimmetriche presenti nel database.Create a Database Master Key for the master database: The database master key is a symmetric key that is used to protect the private keys of certificates and asymmetric keys that are present in the database. Per altre informazioni, vedere Chiavi di crittografia del database e di SQL Server (Motore di database).For more information, see SQL Server and Database Encryption Keys (Database Engine).

  2. Creare un certificato o una chiave asimmetrica da utilizzare per la crittografia dei backup.Create a certificate or asymmetric Key to use for backup encryption. Per altre informazioni sulla creazione di un certificato, vedere CREATE CERTIFICATE (Transact-SQL).For more information on creating a certificate, see CREATE CERTIFICATE (Transact-SQL). Per altre informazioni sulla creazione di una chiave asimmetrica, vedere CREATE ASYMMETRIC KEY (Transact-SQL).For more information on creating an asymmetric key, see CREATE ASYMMETRIC KEY (Transact-SQL).

    Importante

    Sono supportate solo le chiavi asimmetriche che risiedono in un provider EKM (Extended Key Management).Only asymmetric keys residing in an Extended Key Management (EKM) are supported.

Restrizioni Restrictions

Di seguito sono riportate le restrizioni applicate alle opzioni di crittografia:The following are restrictions that apply to the encryption options:

  • Se si utilizza la chiave asimmetrica per crittografare i dati di backup, sono supportate solo le chiavi asimmetriche che risiedono nel provider EKM.If you are using asymmetric key to encrypt the backup data, only asymmetric keys residing in the EKM provider are supported.

  • SQL Server Express e SQL Server Web non supportano la crittografia durante il backup.SQL Server Express and SQL Server Web do not support encryption during backup. È tuttavia supportato il ripristino da un backup crittografato in un'istanza di SQL Server Express o SQL Server Web.However restoring from an encrypted backup to an instance of SQL Server Express or SQL Server Web is supported.

  • Nelle versioni precedenti di SQL ServerSQL Server non è possibile leggere i backup crittografati.Previous versions of SQL ServerSQL Server cannot read encrypted backups.

  • L'opzione Accoda al set di backup esistente non è supportata per i backup crittografati.Appending to an existing backup set option is not supported for encrypted backups.

Autorizzazioni Permissions

Per crittografare un backup o per eseguire il ripristino da un backup crittografato:To encrypt a backup or to restore from an encrypted backup:

VIEW DEFINITION Autorizzazione per la chiave asimmetrica o il certificato usato per crittografare il backup del database.VIEW DEFINITION permission on the certificate or asymmetric key that is used to encrypt the database backup.

Nota

L'accesso al certificato TDE non è necessario per eseguire il backup o il ripristino di un database protetto con TDE.Access to the TDE certificate is not required to back up or restore a TDE protected database.

Metodi di crittografia dei backup Backup Encryption Methods

Nelle sezioni seguenti viene fornita una breve introduzione ai passaggi per crittografare i dati durante il backup.The sections below provide a brief introduction to the steps to encrypting the data during backup. Per una procedura dettagliata completa per la crittografia del backup con Transact-SQL, vedere Creare un backup crittografato.For a complete walkthrough of the different steps of encrypting your backup using Transact-SQL, see Create an Encrypted Backup.

Utilizzo di SQL Server Management StudioUsing SQL Server Management Studio

È possibile crittografare un backup durante la creazione del backup di un database in una delle finestre di dialogo seguenti:You can encrypt a backup when creating the backup of a database in any of the following dialog boxes:

  1. Backup database (pagina Opzioni di backup) Nella pagina Opzioni di backup è possibile selezionare Crittografia e specificare l'algoritmo di crittografia e il certificato o la chiave asimmetrica da usare per la crittografia.Back Up Database (Backup Options Page) On the Backup Options page, you can select Encryption, and specify the encryption algorithm and the certificate or asymmetric key to use for the encryption.

  2. Utilizzo di Creazione guidata piano di manutenzione Quando si seleziona un'attività di backup, nella scheda Opzioni della pagina Definizione attività Backup database () è possibile selezionare Crittografia backup e specificare l'algoritmo di crittografia e il certificato o la chiave da usare per la crittografia.Using Maintenance Plan Wizard When you select a backup task, on the Options tab of the Define Backup ()Task page, you can select Backup Encryption, and specify the encryption algorithm and the certificate or key to use for the encryption.

Utilizzo di Transact-SQLUsing Transact SQL

Di seguito è riportata un'istruzione Transact-SQL di esempio per crittografare il file di backup:Following is a sample Transact-SQL statement to encrypt the backup file:

BACKUP DATABASE [MYTestDB]  
TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak'  
WITH  
  COMPRESSION,  
  ENCRYPTION   
   (  
   ALGORITHM = AES_256,  
   SERVER CERTIFICATE = BackupEncryptCert  
   ),  
  STATS = 10  
GO  

Per la sintassi completa dell'istruzione Transact-SQL, vedere BACKUP (Transact-SQL).For the full Transact-SQL statement syntax, see BACKUP (Transact-SQL).

Utilizzo di PowerShellUsing PowerShell

Questo esempio illustra come creare le opzioni di crittografia, usate come valore di parametro nel cmdlet Backup-SqlDatabase per creare un backup crittografato.This example creates the encryption options and uses it as a parameter value in Backup-SqlDatabase cmdlet to create an encrypted backup.

C:\PS>$encryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"  
C:\PS>Backup-SqlDatabase -ServerInstance . -Database "MyTestDB" -BackupFile "MyTestDB.bak" -CompressionOption On -EncryptionOption $encryptionOption  

Creare un backup del certificato e delle chiavi di crittografia in un percorso diverso dal computer locale in cui è installata l'istanza.Create a backup of the encryption certificate and keys to a location other than your local machine where the instance is installed. Tenendo in considerazione gli scenari di ripristino di emergenza, è consigliabile archiviare un backup del certificato o della chiave in una posizione esterna.To account for disaster recovery scenarios, consider storing a backup of the certificate or key to an off-site location. Non è possibile ripristinare un backup crittografato senza il certificato utilizzato per crittografarlo.You cannot restore an encrypted backup without the certificate used to encrypt the backup.

Per ripristinare un backup crittografato, è necessario che il certificato originale utilizzato durante la creazione del backup con l'identificazione digitale corrispondente sia disponibile nell'istanza in cui viene eseguito il ripristino.To restore an encrypted backup, the original certificate used when the backup was taken with the matching thumbprint should be available on the instance you are restoring to. Pertanto, il certificato non deve essere rinnovato alla scadenza né modificato in alcun modo.Therefore, the certificate should not be renewed on expiry or changed in any way. Il rinnovo può comportare un aggiornamento del certificato con conseguente modifica dell'identificazione digitale, rendendo pertanto il certificato non valido per il file di backup.Renewal can result in updating the certificate triggering the change of the thumbprint, therefore making the certificate invalid for the backup file. L'account che esegue il ripristino deve disporre delle autorizzazioni VIEW DEFINITION per la chiave asimmetrica o il certificato utilizzato per eseguire la crittografia durante il backup.The account performing the restore should have VIEW DEFINITION permissions on the certificate or the asymmetric key used to encrypt during backup.

I backup del database del gruppo di disponibilità vengono in genere eseguiti nella replica di backup preferita.Availability Group database backups are typically performed on the preferred backup replica. Se si ripristina un backup in una replica diversa da dove è stato eseguito il backup, verificare che il certificato originale utilizzato per il backup sia disponibile nella replica a cui si esegue il ripristino.If restoring a backup on a replica other than where the backup was taken from, ensure that the original certificate used for backup is available on the replica you are restoring to.

Se per il database è abilitata la funzionalità TDE, scegliere certificati o chiavi asimmetriche diverse per crittografare il database e il backup in modo da aumentare il livello di sicurezza.If the database is TDE enabled, choose different certificates or asymmetric keys for encrypting the database and the backup to increase security.

Argomento/AttivitàTopic/Task DescrizioneDescription
Creare un backup crittografatoCreate an Encrypted Backup Vengono descritti i passaggi di base necessari per creare un backup crittografatoDescribes the basic steps required to create an encrypted backup
Extensible Key Management tramite l'insieme di credenziali delle chiavi di Azure (SQL Server)Extensible Key Management Using Azure Key Vault (SQL Server) Fornisce un esempio di creazione di un backup crittografato protetto da chiavi nell'insieme di credenziali delle chiavi di Azure.Provides an example of creating an encrypted backup protected by keys in the Azure Key Vault.

Vedere ancheSee Also

Panoramica del backup (SQL Server)Backup Overview (SQL Server)