Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Tip
Microsoft Fabric Data Warehouse — это реляционное хранилище корпоративного масштаба на основе озера данных, с архитектурой, готовой к будущему, встроенным ИИ и новыми функциями. Если вы не знакомы с хранилищем данных, начните с Fabric Data Warehouse. Существующие рабочие нагрузки выделенных пулов SQL могут быть обновлены до Fabric для доступа к новым возможностям в области науки о данных, аналитики в реальном времени и создания отчётов.
Применимо к: Выделенные SQL-пулы Azure Synapse Analytics (ранее — "SQL Data Warehouse")
Используйте эту процедуру, если может быть скомпрометирован TDE-протектор, управляемый клиентом. Перед удалением или отключением старого ключа переключитесь на новое средство защиты, чтобы выделенные пулы SQL оставались доступными.
Caution
Удаление или отключение активного TDE-протектора делает все выделенные SQL-пулы, зависящие от него, недоступными. Изучите план реагирования на инциденты и требования к сохранению резервных копий перед удалением ключа.
Note
В этой статье рассматриваются отдельные выделенные SQL-пулы (ранее SQL DW). Для выделенных SQL-пулов в рабочем пространстве Synapse см. раздел «Шифрование для рабочих областей Azure Synapse Analytics».
Удаление ключа не аннулирует его копии, которые ранее были резервно скопированы или восстановлены в другом хранилище ключей. Защищайте и инвентаризируйте каждую копию в рамках реагирования на инцидент.
Prerequisites
- У вас должна быть подписка на Azure, и вы должны быть администратором этой подписки.
- У вас должна быть установлена и запущена среда Azure PowerShell.
- Вы должны уметь управлять логическим сервером, разрешениями для хранилища ключей и ключами.
- Установите Azure PowerShell или Azure CLI.
- Инструкции по установке модуля Az см. в статье об установке Azure PowerShell. Используйте новый модуль Azure PowerShell Az.
- Сведения об установке см. в разделе "Установка Azure CLI".
- Ознакомьтесь с Управляемое клиентом TDE для Azure Synapse Analytics и Смена средства защиты TDE.
- В этой статье предполагается, что вы уже используете ключ из Azure Key Vault в качестве TDE-протектора для Azure Synapse. См. Customer-managed TDE for Azure Synapse Analytics, чтобы узнать больше.
Проверьте отпечатки сертификата средства защиты TDE
Следующие шаги описывают, как проверить отпечатки пальцев TDE-протектора, которые всё ещё используют виртуальные файлы журнала (VLF) данной базы данных.
Выполните следующий запрос, чтобы найти отпечаток текущего протектора TDE для базы данных и идентификатор базы данных:
SELECT [database_id],
[encryption_state],
[encryptor_type], /*asymmetric key means Azure Key Vault, certificate means service-managed keys*/
[encryptor_thumbprint]
FROM [sys].[dm_database_encryption_keys]
Выполните следующий запрос, чтобы вывести используемые VLF и отпечатки TDE-протектора. Каждый разный отпечаток относится к разному ключу в Azure Key Vault:
SELECT * FROM sys.dm_db_log_info (database_id)
Кроме того, можно использовать PowerShell или Azure CLI:
Команда PowerShell
Get-AzSqlServerKeyVaultKeyпредоставляет отпечаток сертификата средства защиты TDE, используемого в запросе, чтобы вы могли видеть, какие ключи оставить, а какие удалить в Azure Key Vault. Только ключи, которые база данных больше не использует, можно безопасно удалить из Azure Key Vault.Команда
az sql server key showAzure CLI предоставляет отпечаток протектора TDE, используемого в запросе, чтобы вы могли видеть, какие ключи сохранить, а какие удалить в Azure Key Vault. Только ключи, которые база данных больше не использует, можно безопасно удалить из Azure Key Vault.
Сохранение доступности зашифрованных ресурсов
PowerShell
Создайте новый ключ в Azure Key Vault. Убедитесь, что вы создаёте этот новый ключ в отдельном хранилище ключей, отличном от потенциально скомпрометированного TDE-протектора, так как контроль доступа осуществляется на уровне хранилища.
Добавьте новый ключ на сервер с помощью командлетов Add-AzSqlServerKeyVaultKey и Set-AzSqlServerTransparentDataEncryptionProtector и назначьте его новым TDE-протектором сервера.
# add the key from Azure Key Vault to the server Add-AzSqlServerKeyVaultKey -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -KeyId <KeyVaultKeyId> # set the key as the TDE protector for all resources under the server Set-AzSqlServerTransparentDataEncryptionProtector -ResourceGroupName <SQLDatabaseResourceGroupName> ` -ServerName <LogicalServerName> -Type AzureKeyVault -KeyId <KeyVaultKeyId>Убедитесь, что сервер и все реплики обновляются до нового защитника TDE с помощью командлета Get-AzSqlServerTransparentDataEncryptionProtector.
Note
Для распространения новой защиты TDE на все базы данных и вторичные базы данных на сервере может потребоваться несколько минут.
Get-AzSqlServerTransparentDataEncryptionProtector -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>Создайте резервную копию нового ключа в Azure Key Vault.
# -OutputFile parameter is optional; if removed, a file name is automatically generated. Backup-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName> -OutputFile <DesiredBackupFilePath>Удалите скомпрометированный ключ из Azure Key Vault, используя cmdlet Remove-AzKeyVaultKey.
Remove-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName>Чтобы восстановить ключ в Azure Key Vault в будущем, используйте командлет Restore-AzKeyVaultKey .
Restore-AzKeyVaultKey -VaultName <KeyVaultName> -InputFile <BackupFilePath>
Azure CLI
Дополнительные сведения о команде см. в разделе azure CLI keyvault.
Создайте новый ключ в Azure Key Vault. Убедитесь, что вы создаёте этот новый ключ в отдельном хранилище ключей, отдельно от потенциально скомпрометированного TDE-протектора, так как контроль доступа осуществляется на уровне хранилища.
Добавьте новый ключ на сервер и обновите его в качестве нового предохранителя TDE сервера.
# add the key from Azure Key Vault to the server az sql server key create --kid <KeyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName> # set the key as the TDE protector for all resources under the server az sql server tde-key set --server-key-type AzureKeyVault --kid <KeyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>Убедитесь, что сервер и все реплики переводятся на новый TDE-протектор.
Note
Для распространения новой защиты TDE на все базы данных и вторичные базы данных на сервере может потребоваться несколько минут.
az sql server tde-key show --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>Создайте резервную копию нового ключа в Azure Key Vault.
# --file parameter is optional; if removed, a file name is automatically generated. az keyvault key backup --file <DesiredBackupFilePath> --name <KeyVaultKeyName> --vault-name <KeyVaultName>Удалите скомпрометированный ключ из Azure Key Vault.
az keyvault key delete --name <KeyVaultKeyName> --vault-name <KeyVaultName>Восстановить ключ в Azure Key Vault на будущее.
az keyvault key restore --file <BackupFilePath> --vault-name <KeyVaultName>
Как сделать зашифрованные ресурсы недоступными
Удалите базы данных, использующие потенциально скомпрометированный ключ для шифрования.
Система автоматически делает резервную копию базы данных и файлов журналов, так что вы можете восстановить базу данных на определенный момент времени (при условии, что вы предоставите ключ). Удалите базы данных перед удалением активного TDE-протектора, чтобы избежать возможной потери данных за последние 10 минут транзакций.
Создайте резервную копию ключевого материала защиты TDE в Azure Key Vault.
Удалите потенциально скомпрометированный ключ из Azure Key Vault.
Note
Изменения разрешений для хранилища ключей могут вступить в силу примерно через 10 минут. Этот процесс включает отзыв разрешений доступа к протектору TDE в AKV, и у пользователей могут оставаться права доступа.