Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:База данных SQL Azure
Управляемый экземпляр SQL Azure
Azure Synapse Analytics (только выделенные пулы SQL)
В этой статье описывается смена ключей для сервера, который использует предохранитель TDE из Azure Key Vault. Смена логического протектора TDE для сервера означает переход на новый асимметричный ключ, который защищает базы данных на сервере. Смена ключей выполняется через Интернет буквально за несколько секунд, так как для этой операции достаточно расшифровать и повторно шифровать только ключ шифрования данных, а не всю базу данных.
В этой статье рассматриваются автоматические и ручные методы для ротации защитного механизма TDE на сервере.
Важные аспекты при переключении защиты TDE
- При изменении или смене средства защиты TDE старые резервные копии базы данных, включая файлы журнала резервного копирования, не обновляются для использования последнего средства защиты TDE. Чтобы восстановить резервную копию, зашифрованную с помощью средства защиты TDE из Azure Key Vault или Управляемого устройства HSM Azure, убедитесь, что материал ключа доступен целевому серверу. Поэтому рекомендуется сохранить все старые версии защиты TDE в Azure Key Vault или Управляемом HSM Azure, чтобы можно было восстановить резервные копии баз данных.
- Даже при переходе с управляемого клиентом ключа (CMK) на управляемый службой ключ сохраните все ранее используемые ключи в Azure Key Vault или управляемом HSM Azure. Это гарантирует, что резервные копии баз данных, включая резервные копии файлов журналов, можно восстановить с помощью средств защиты TDE, хранящихся в Azure Key Vault или Управляемом HSM Azure.
- Помимо старых резервных копий файлы журнала транзакций также могут требовать доступа к старому предохранителю TDE. Чтобы определить наличие оставшихся журналов, для которых по-прежнему требуется старый ключ, после смены ключей используйте динамическое административное представление sys.dm_db_log_info. Этот динамическое административное представление возвращает сведения о виртуальном файле журнала транзакций (VLF) и его отпечатке ключа шифрования.
- Старые ключи должны храниться в Azure Key Vault или Azure Managed HSM и быть доступны серверу в соответствии с периодом хранения резервных копий, установленным на основе политик хранения резервных копий в базе данных. Это позволяет гарантировать, что все резервные копии долгосрочного хранения (LTR) на сервере по-прежнему можно будет восстановить с помощью старых ключей.
Примечание.
Работу приостановленного выделенного пула SQL в Azure Synapse Analytics необходимо возобновить до смены ключа.
Эта статья относится к базам данных SQL Azure, управляемым экземплярам SQL Azure и выделенным пулам SQL в Azure Synapse Analytics (ранее — SQL Data Warehouse). Документацию по прозрачному шифрованию данных (TDE) для выделенных пулов SQL в рабочих пространствах Synapse можно найти в разделе Шифрование в Azure Synapse Analytics.
Предварительные условия
- В этом руководстве предполагается, что вы уже используете ключ из Azure Key Vault в качестве средства защиты TDE для База данных SQL Azure или Azure Synapse Analytics. См. Прозрачное шифрование данных с поддержкой BYOK.
- У вас должна быть установлена и запущена среда Azure PowerShell.
Совет
Рекомендуется, но необязательно. Сначала создайте ключевой материал для защиты TDE в аппаратном модуле безопасности (HSM) или локальном хранилище ключей и импортируйте материал ключа в Azure Key Vault. Следуйте инструкциям по использованию аппаратного модуля безопасности (HSM) и Azure Key Vault , чтобы узнать больше.
Перейдите на портал Azure.
Автоматическая смена клавиш
Автоматическое обновление средства защиты TDE может быть включено при настройке средства защиты TDE для сервера или базы данных из портала Azure или с помощью приведённых ниже команд PowerShell или Azure CLI. После включения сервер или база данных постоянно проверяет хранилище ключей для любых новых версий ключа, используемых в качестве средства защиты TDE. Если обнаружена новая версия ключа, средство защиты TDE на сервере или базе данных будет автоматически поворачиваться на последнюю версию ключа в течение 24 часов.
Автоматическая ротация на сервере, в базе данных или управляемом экземпляре может использоваться с автоматической ротацией ключей в Azure Key Vault для обеспечения сквозной ротации без взаимодействия для ключей TDE.
Примечание.
Если на сервере или управляемом экземпляре настроена георепликация, прежде чем включить автоматическое вращение, необходимо следовать дополнительным рекомендациям, как описано здесь.
В случае использования портала Azure выполните следующие действия:
- Перейдите к разделу прозрачного шифрования данных для существующего сервера или управляемого экземпляра.
- Выберите параметр ключ, управляемый клиентом и выберите хранилище ключей и ключ, которые будут использоваться в качестве средства защиты TDE.
- Установите флажок автоматического поворота ключа .
- Выберите Сохранить.
Автоматическая смена ключей на уровне базы данных
Автоматическая смена ключей также может быть включена на уровне базы данных для База данных SQL Azure. Это полезно, если требуется включить автоматическую смену ключей только для одного или подмножества баз данных на сервере. Дополнительные сведения см. в разделе "Управление удостоверениями и ключами для TDE" с ключами, управляемыми клиентом на уровне базы данных.
Сведения о настройке автоматического вращения ключей на уровне базы данных в портале Azure см. статью Обновление существующей базы данных Azure SQL с ключами, управляемыми клиентом.
Автоматическая смена ключей для конфигураций георепликации
В конфигурации георепликации Azure SQL Database, где основной сервер использует TDE с CMK, вторичный сервер также должен быть настроен, чтобы включить TDE с CMK, используя тот же ключ, который применен на основном сервере.
В случае использования портала Azure выполните следующие действия:
Перейдите к разделу прозрачного шифрования данных для основного сервера.
Выберите параметр ключ, управляемый клиентом и выберите хранилище ключей и ключ, которые будут использоваться в качестве средства защиты TDE.
Установите флажок автоматического поворота ключа .
Выберите Сохранить.
Перейдите к разделу прозрачного шифрования данных для вторичного сервера.
Выберите параметр ключ, управляемый клиентом и выберите хранилище ключей и ключ, которые будут использоваться в качестве средства защиты TDE. Используйте тот же ключ, что и для первичного сервера.
Уберите отметку Сделать этот ключ защитником TDE по умолчанию.
Выберите Сохранить.
Когда ключ поворачивается на первичном сервере, он автоматически передается на дополнительный сервер.
Примечание.
Если один и тот же ключ хранилища ключей на основном сервере используется в качестве средства защиты TDE по умолчанию на вторичном сервере, убедитесь, что для обоих серверов включен автоматический поворот ключа. Невыполнение этого может привести к тому, что рабочие процессы автоматической смены попадут в состояние ошибки и препятствовать дальнейшим операциям смены ключей вручную.
Использование разных ключей для каждого сервера
Можно настроить первичные и вторичные серверы, используя другой ключ в хранилище ключей, при настройке TDE с помощью CMK в портале Azure. В портале Azure не очевидно, что ключ, используемый для защиты первичного сервера, также защищает основную базу данных, которая была реплицирована на вторичный сервер. Однако для получения сведений о ключах, используемых на сервере, можно использовать PowerShell, Azure CLI или REST API. В этом примере показано, что автоматически вращаемые ключи передаются с первичного сервера на дополнительный сервер.
Ниже приведен пример использования команд PowerShell для проверки ключей, передаваемых с первичного сервера на дополнительный сервер после смены ключей.
Выполните следующую команду на основном сервере, чтобы отобразить ключевые сведения сервера:
Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
У вас должен отобразиться результат, аналогичный следующему:
ResourceGroupName : <SQLDatabaseResourceGroupName> ServerName : <logicalServerName> ServerKeyName : <keyVaultKeyName> Type : AzureKeyVault Uri : https://<keyvaultname>.vault.azure.net/keys/<keyName>/<GUID> Thumbprint : <thumbprint> CreationDate : 12/13/2022 8:56:32 PM
Выполните ту же
Get-AzSqlServerKeyVaultKey
команду на вторичном сервере:Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Если вторичный сервер имеет защиту TDE по умолчанию с использованием другого ключа, чем ключ первичного сервера, вы увидите два (или более) ключа. Первый ключ является предохранителем TDE по умолчанию, а второй — ключом, используемым на сервере-источнике, используемым для защиты реплицированной базы данных.
Когда ключ поворачивается на первичном сервере, он автоматически передается на дополнительный сервер. Если бы вы снова запустили
Get-AzSqlServerKeyVaultKey
на основном сервере, вы должны увидеть два ключа. Первый ключ — это исходный ключ, а второй — текущий ключ, созданный в рамках смены ключа.Get-AzSqlServerKeyVaultKey
При выполнении команды на сервере-получателе также должны отображаться те же ключи, которые присутствуют на основном сервере. Это подтверждает, что перевёрнутые ключи на основном сервере автоматически передаются на вторичный сервер и используются для защиты копии базы данных.
Смена ключей вручную
Обновление ключей вручную использует следующие команды, чтобы добавить новый ключ, который может находиться под новым именем ключа или даже в другом хранилище ключей. Использование этого подхода позволяет добавлять один и тот же ключ в разные хранилища ключей для поддержки сценариев высокой доступности и гео-аварийного восстановления. Ротация ключей вручную также может быть выполнена с помощью портала Azure.
При ручной смене ключа (в хранилище ключей вручную или с помощью политики автоматического поворота ключей), новая версия ключа должна быть установлена вручную как защита TDE на сервере.
Примечание.
Общая длина имени хранилища ключей и имени ключа не может превышать 94 символа.
На портале Azure:
- Перейдите в меню прозрачного шифрования данных для существующего сервера или управляемого экземпляра.
- Выберите параметр ключ, управляемый заказчиком и выберите хранилище ключей и ключ, которые будут использоваться как новый протектор TDE.
- Выберите Сохранить.
Переключение режима предохранителя TDE
С помощью портала Azure для переключения защитного механизма TDE с управляемого Microsoft в режим BYOK:
- Перейдите в меню прозрачного шифрования данных для существующего сервера или управляемого экземпляра.
- Выберите параметр ключа, управляемого клиентом.
- Выберите хранилище ключей и ключ, которые будут использоваться в качестве средства защиты TDE.
- Выберите Сохранить.
Связанный контент
Если есть риск безопасности, узнайте, как удалить потенциально скомпрометированный предохранитель TDE: удалите потенциально скомпрометированный ключ.
Начало работы с интеграцией Azure Key Vault и поддержкой собственных ключей для TDE. Включите TDE с помощью собственного ключа из Azure Key Vault с помощью PowerShell.