Поделиться через


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

Область применения: SQL Server

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

Обзор

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

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

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

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

Внимание

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

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

  1. BACKUP CERTIFICATE (Transact-SQL) в старой базе данных;
  2. CREATE MASTER KEY (Transact-SQL) в новой базе данных расположения master
  3. CREATE CERTIFICATE (Transact-SQL) с использованием резервного сертификата старой базы данных, который импортируется в расположение на новом сервере;
  4. Восстановление базы данных в новом расположении (SQL Server)

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

Льготы

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

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

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

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

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

Необходимые компоненты

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

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

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

    Внимание

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

Ограничения

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

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

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

  • Предыдущие версии SQL Server не могут считывать зашифрованные резервные копии.

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

Разрешения

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

  • Роль уровня базы данных db_backupoperator для базы данных, для которой выполняется резервное копирование. Это необходимо, независимо от шифрования.

  • VIEW DEFINITION разрешение на сертификат в master базе данных.

    В следующем примере предоставляются соответствующие разрешения для сертификата.

    USE [master]
    GO
    GRANT VIEW DEFINITION ON CERTIFICATE::[<SERVER_CERT>] TO [<db_account>]
    GO
    

Примечание.

Доступ к сертификату TDE не требуется для резервного копирования или восстановления защищенной базы данных 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\MSSQL13.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 "<myDatabase>" -BackupFile "<myDatabase>.bak" -CompressionOption On -EncryptionOption $encryptionOption

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

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

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

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