Шифрование резервной копии

В этом разделе приводится общее описание параметров шифрования для резервного копирования SQL Server . Он содержит сведения об использовании, преимуществах и рекомендациях для шифрования при резервном копировании.

Общие сведения

Начиная с SQL Server 2014 г. SQL Server имеет возможность шифровать данные при создании резервной копии. Указав алгоритм шифрования и шифратор (сертификат или асимметричный ключ), можно задать для резервных копий создание зашифрованного файла резервной копии. Все назначения хранилища: поддерживаются локальное хранилище и хранилище Windows Azure. Кроме того, можно настроить параметры шифрования для операций SQL Server управляемого резервного копирования в Microsoft Azure, которая появилась в SQL Server 2014 году.

Для шифрования резервной копии необходимо указать алгоритм шифрования и шифратор для защиты ключа шифрования. Поддерживаются следующие варианты шифрования:

  • Алгоритм шифрования: поддерживаются следующие алгоритмы шифрования: AES 128, AES 192, AES 256 и Triple DES.

  • Шифратор: сертификат или асимметричный ключ.

Внимание!

Очень важно создать резервную копию сертификата или асимметричного ключа и предпочтительно в ином местоположении, чем зашифрованный ими файл резервной копии. Без сертификата или асимметричного ключа резервную копию нельзя будет восстановить, т. е. файл резервной копии будет непригоден для использования.

Восстановление из зашифрованной резервной копии. Восстановление SQL Server не требует указания никаких параметров шифрования во время восстановления. Для него требуется, чтобы сертификат или асимметричный ключ, использованный при шифровании файла резервной копии, был доступен в экземпляре, на который производится восстановление. Учетная запись пользователя, выполняющего восстановление, должна иметь разрешения VIEW DEFINITION на сертификат или ключ. Если зашифрованная резервная копия восстанавливается на другой экземпляр, необходимо убедиться, что сертификат доступен на этом экземпляре.

При восстановлении резервной копии из базы данных c прозрачным шифрованием сертификат TDE должен быть доступен на экземпляре, на который производится восстановление.

Преимущества

  1. Шифрование резервных копий базы данных помогает обезопасить данные: SQL Server предоставляет возможность шифрования данных при создании резервных копий.

  2. Шифрование можно также использовать для баз данных, зашифрованных с помощью прозрачного шифрования.

  3. Шифрование поддерживается для резервных копий, созданных с помощью служб Управляемое резервное копирование SQL Server в Microsoft Azure, предоставляющих дополнительную защиту для сторонних резервных копий.

  4. Эта функция поддерживает несколько алгоритмов шифрования вплоть до 256-битного AES. Это дает возможность выбрать алгоритм, соответствующий требованиям.

  5. Ключи шифрования можно интегрировать с поставщиками расширенного управления ключами (EKM).

Предварительные требования

Предварительные требования, обязательные для шифрования резервной копии:

  1. Создайте главный ключ базы данных для базы данных master. Главный ключ базы данных — это симметричный ключ, который применяется для защиты закрытых ключей сертификатов и асимметричный ключей, которые есть в базе данных. Дополнительные сведения см. в разделе SQL Server и ключи шифрования базы данных (ядро СУБД).

  2. Создайте сертификат или асимметричный ключ для шифрования резервной копии. Дополнительные сведения о создании сертификата см. в разделе CREATE CERTIFICATE (Transact-SQL). Дополнительные сведения о создании асимметричного ключа см. в разделе CREATE ASYMMETRIC KEY (Transact-SQL).

    Важно!

    Поддерживаются только асимметричные ключи, относящиеся к расширенному управлению ключами (EKM).

Ограничения

К параметрам шифрования применяются следующие ограничения.

  • При шифровании резервной копии с помощью асимметричного ключа поддерживаются только асимметричные ключи, находящиеся в поставщике расширенного управления ключами.

  • SQL Server Express и SQL Server Web не поддерживают шифрование при резервном копировании. Однако восстановление из зашифрованной резервной копии в экземпляр SQL Server Express или SQL Server Web поддерживается.

  • В предыдущих версиях SQL Server считывание зашифрованных резервных копий не поддерживается.

  • Присоединение к существующему резервному набору данных для зашифрованных резервных копий не поддерживается.

Разрешения

Для шифрования резервной копии или восстановления из зашифрованной резервной копии требуется следующее:

Разрешение VIEW DEFINITION на сертификат или асимметричный ключ, используемый для шифрования резервной копии базы данных.

Примечание

Доступ к сертификату TDE для резервного копирования или восстановления базы данных, защищенной прозрачным шифрованием, не требуется.

Методы шифрования резервной копии

В разделах ниже представлен краткий обзор шагов шифрования данных при резервном копировании. Полное пошаговое руководство по различным этапам шифрования резервных копий с помощью Transact-SQL см. в разделе Создание зашифрованной резервной копии.

Использование среды SQL Server Management Studio

Резервную копию базы данных можно зашифровать при ее создании в одном из следующих диалоговых окон:

  1. Резервное копирование базы данных (страница параметров резервного копирования) На странице Параметры резервного копирования можно выбрать Шифрование и указать алгоритм шифрования и сертификат или асимметричный ключ для шифрования.

  2. Использование мастера планов обслуживания При выборе задачи резервного копирования на вкладке Параметры страницы Определение задач резервного копирования можно выбрать Шифрование резервной копиии указать алгоритм шифрования и ключ или сертификат, используемый для него.

Использование Transact-SQL

Ниже приведен пример инструкции Transact-SQL для шифрования файла резервной копии.

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

Полный синтаксис инструкции Transact-SQL см. в разделе BACKUP (Transact-SQL).

Использование PowerShell

В этом примере создаются параметры шифрования, которые используются в качестве значения параметра в командлете Backup-SqlDatabase для создания зашифрованной резервной копии.

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

Рекомендации

Создавайте резервную копию сертификата и ключей шифрования в каталоге, отличном от локального компьютера, где установлен экземпляр. С учетом сценариев аварийного восстановления рекомендуется сохранять резервную копию сертификата или ключа в стороннем местоположении. Восстановить зашифрованную резервную копию без сертификата, использованного при ее шифровании, нельзя.

Для восстановления зашифрованной резервной копии первоначальный сертификат, используемый при создании резервной копии, а также соответствующий ему отпечаток должны быть доступны на экземпляре, где производится восстановление. Поэтому сертификат не должен быть возобновлен по истечении срока или изменен каким-либо образом. Возобновление может привести к обновлению сертификата, запускающему изменение отпечатка сертификата, из-за чего сертификат станет недействительным для файла резервной копии. Учетная запись, выполняющая восстановление, должна иметь разрешения VIEW DEFINITION на сертификат или асимметричный ключ, использованные для шифрования резервной копии.

Резервное копирование баз данных группы доступности обычно выполняется на предпочитаемой резервной реплике. При восстановлении резервной копии на реплике, отличной от той, на которой эта резервная копия была сделана, убедитесь, что исходный сертификат для резервной копии доступен на той реплике, где производится восстановление.

Если в базе данных включено TDE, выберите различные сертификаты или асимметричные ключи для шифрования базы данных и резервной копии для повышения безопасности.

Связанные задачи

Раздел или задача Описание
Создание зашифрованной резервной копии Описывает основные шаги, которые необходимо выполнить, чтобы создать зашифрованную резервную копию.
Управляемое резервное копирование SQL Server в Azure — настройки периода хранения и хранилища Описание основных действий, необходимых для настройки SQL Server управляемого резервного копирования в Microsoft Azure с указанными параметрами шифрования.
Расширенное управление ключами с помощью Azure Key Vault (SQL Server) Предоставлен пример создания зашифрованной резервной копии, защищенной ключами в хранилище ключей Azure.

См. также:

Backup Overview (SQL Server)