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


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

В этом разделе представлен обзор параметров шифрования резервных копий 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 разрешения на сертификат или ключ. При восстановлении зашифрованной резервной копии в другом экземпляре необходимо убедиться, что сертификат доступен в этом экземпляре.

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

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

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

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

  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).

Ограничения

Ниже приведены ограничения, которые применяются к параметрам шифрования:

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

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

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

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

Разрешения

Чтобы зашифровать резервную копию или восстановить из зашифрованной резервной копии:

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

Замечание

Доступ к сертификату 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\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 Key Vault.

См. также

Общие сведения о резервном копировании (SQL Server)