Прозрачное шифрование данных в Базе данных SQL Azure
прозрачное шифрование данных базы данных Azure SQL (предварительная версия) помогает защититься от угроз вредоносных действий, выполняя шифрование и расшифровку базы данных, связанных резервных копий и неактивных файлов журнала транзакций в режиме реального времени, не требуя внесения изменений в приложение.
При использовании TDE хранилище всей базы данных шифруется с помощью симметричного ключа, который называется ключом шифрования базы данных. В Базе данных SQL ключ шифрования базы данных защищается встроенным сертификатом сервера. Каждый сервер Базы данных SQL обладает уникальным встроенным сертификатом. Если база данных находится в отношении GeoDR, на каждом сервере для защиты используется разный ключ. Если две базы данных подключены к одному серверу, используется один встроенный сертификат. Майкрософт автоматически меняет эти сертификаты каждые 90 дней. Общее описание TDE см. в статье Прозрачное шифрование данных (TDE).
База данных Azure SQL не поддерживает интеграцию azure Key Vault с TDE. SQL Server на виртуальной машине Azure может использовать асимметричный ключ из Key Vault. Дополнительные сведения см. в разделе Example A: Transparent Data Encryption by Using an Asymmetric Key from the Key Vault.
Область применения: База данных SQL V12 (предварительная версия в некоторых регионах). |
Важно!
В настоящий момент это предварительная версия функции. Я подтверждаю и принимаю, что реализация База данных SQL прозрачного шифрования данных в моих базах данных регулируется предварительными условиями лицензионного соглашения (например, Соглашение Enterprise, Соглашения Microsoft Azure или соглашения о подписке microsoft Online), а также любых применимых дополнительных условий использования предварительной версии Microsoft Azure.
Предварительная версия состояния TDE применяется даже в подмножестве географических регионов, где семейство версий V12 База данных SQL объявлено как общедоступное. TDE для База данных SQL не предназначено для использования в рабочих базах данных до тех пор, пока корпорация Майкрософт не объявит о повышении уровня TDE с предварительной версии до общедоступной версии. Дополнительные сведения о База данных SQL версии 12 см. в статье Новые возможности базы данных Azure SQL.
Разрешения
Чтобы подписаться на предварительную версию и настроить TDE через портал Azure с помощью REST API или PowerShell, необходимо подключиться в качестве владельца, участника или диспетчера безопасности SQL Azure.
Чтобы настроить TDE с помощью Transact-SQL, необходимо следующее:
Нужен доступ к предварительной версии TDE.
Чтобы создать ключ шифрования базы данных, необходимо быть администратором База данных SQL или членом роли dbmanager в базе данных master и иметь разрешение CONTROL для базы данных.
Чтобы выполнить инструкцию ALTER DATABASE с параметром SET, нужна только роль dbmanager .
Подписка на предварительную версию TDE и его включение в базе данных
Перейдите на портал Azure по адресу https://portal.azure.com и войдите с помощью учетной записи администратора или участника Azure.
В области слева нажмите кнопку ОБЗОР и выберите Базы данных SQL.
Выбрав пункт Базы данных SQL в области слева, выберите свою пользовательскую базу данных.
В колонке базы данных щелкните Все параметры.
В колонке Параметры выберите Прозрачное шифрование данных (предварительная версия) , чтобы открыть колонку Прозрачное шифрование данных ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ . Если вы еще не подписались на предварительную версию TDE, параметры шифрования данных будут неактивны.
Щелкните УСЛОВИЯ ПРЕДВАРИТЕЛЬНОЙ ВЕРСИИ.
Прочтите условия предварительной версии и, если вы согласны с ними, установите флажок Прозрачное шифрование данныхОбзор условий проверка и нажмите кнопку ОК в нижней части страницы. Вернитесь в колонку Шифрование данныхPREVIEW , где теперь должна быть включена кнопка Шифрование данных .
В колонке Шифрование данных ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ переместите кнопку Шифрование данных в положение ВКЛи нажмите кнопку Сохранить вверху страницы. В разделе Состояние шифрования будет отображаться приблизительный ход прозрачного шифрования данных.
Вы также можете отслеживать ход выполнения шифрования, подключаясь к База данных SQL с помощью средства запроса, такого как SQL Server Management Studio в качестве пользователя базы данных с разрешением VIEW DATABASE STATE. Запрос столбца
encryption_state
представления sys.dm_database_encryption_keys .
Включение TDE в Базе данных SQL с помощью Transact-SQL
Далее предполагается, что вы уже подписались на предварительную версию.
Подключитесь к базе данных, используя учетные данные администратора или участника роли dbmanager в базе данных master.
Выполните следующие инструкции, чтобы создать ключ шифрования и зашифровать базу данных.
-- 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
Чтобы отслеживать ход выполнения шифрования База данных SQL, пользователи базы данных с разрешением VIEW DATABASE STATE могут запрашивать
encryption_state
столбец представления sys.dm_database_encryption_keys.
Включение TDE в Базе данных SQL с помощью PowerShell
Включить и отключить TDE можно с помощью следующих команд Azure PowerShell. Перед выполнением команды подключите свою учетную запись к окну PS. Далее предполагается, что вы уже подписались на предварительную версию. Дополнительные сведения о PowerShell см. в разделе Установка и настройка Azure PowerShell.
Чтобы включить TDE и просмотреть состояние шифрования:
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"
Чтобы отключить TDE:
Set-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1" -State "Disabled" Switch-AzureMode -Name AzureServiceManagement
Расшифровка базы данных с защитой TDE в Базе данных SQL
Отключение TDE с помощью портала Azure
Перейдите на портал Azure по адресу https://portal.azure.com и войдите с помощью учетной записи администратора или участника Azure.
В области слева нажмите кнопку ОБЗОР и выберите Базы данных SQL.
Выбрав пункт Базы данных SQL в области слева, выберите свою пользовательскую базу данных.
В колонке базы данных щелкните Все параметры.
В колонке Параметры выберите Прозрачное шифрование данных (предварительная версия) , чтобы открыть колонку Прозрачное шифрование данных ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ .
В колонке Прозрачное шифрование данных ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ переместите кнопку Шифрование данных в положение ВЫКЛи нажмите кнопку Сохранить вверху страницы. В разделе Состояние шифрования будет отображаться приблизительный ход прозрачной расшифровки данных.
Вы также можете отслеживать ход расшифровки, подключаясь к База данных SQL с помощью средства запросов, например Management Studio, в качестве пользователя базы данных с разрешением VIEW DATABASE STATE. Запрос столбца
encryption_state
представления sys.dm_database_encryption_keys.
Отключение TDE с помощью Transact-SQL
Подключитесь к базе данных, используя учетные данные администратора или участника роли dbmanager в базе данных master.
Выполните следующие инструкции, чтобы расшифровать базу данных.
-- Enable encryption ALTER DATABASE [AdventureWorks] SET ENCRYPTION OFF; GO
Чтобы отслеживать ход выполнения шифрования База данных SQL, пользователи базы данных с разрешением VIEW DATABASE STATE могут запрашивать
encryption_state
столбец представления sys.dm_database_encryption_keys.
Работа с базами данных с защитой TDE в Базе данных SQL
Расшифровывать базы данных для работы в Azure не нужно. Параметры TDE базы данных-источника прозрачно наследуются целевым объектом. Сюда входят операции, связанные с:
геовосстановлением;
самостоятельным восстановлением до точки во времени;
восстановлением удаленной базы данных;
активной георепликацией;
созданием копии базы данных.
Перемещение базы данных с защитой TDE с помощью файлов .Bacpac
При экспорте базы данных, защищенной TDE, с помощью функции Экспорта базы данных на портале Azure SQL базы данных или в мастере импорта и экспорта SQL Server содержимое базы данных не шифруется. Содержимое хранится в незашифрованных файлах .bacpac. Не забудьте защитить файлы .bacpac соответствующим образом и включить TDE после завершения импорта новой базы данных.
Связанный раздел по SQL Server
Включение TDE с помощью расширенного управления ключами
См. также:
Прозрачное шифрование данных (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)