Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо: База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics (только выделенные пулы SQL)
В этой статье описывается, как реагировать на потенциально скомпрометированную защиту TDE для База данных SQL Azure или Azure Synapse Analytics, которая использует TDE с ключами, управляемыми клиентом, в Azure Key Vault — поддержка создания собственного ключа (BYOK). Чтобы узнать больше о поддержке BYOK для TDE, см. обзорную страницу.
Внимание
Процедуры, описанные в этой статье, следует выполнять только в критических случаях или в тестовых средах. Внимательно изучите шаги, так как удаление предохранителей TDE из Azure Key Vault приведет к тому, что база данных станет недоступна.
Если возникнут любые подозрения о компрометации ключа, например путем несанкционированного доступа пользователей и (или) служб к этому ключу, его следует удалить.
Помните, что после удаления предохранителя TDE в Azure Key Vault до 10 минут все зашифрованные базы данных начнут запрещать все подключения с соответствующим сообщением об ошибке и изменить состояние на недоступное.
В этом руководство рассматривается подход к тому, как сделать базу данных недоступной после реагирования на инцидент, связанный с компрометацией.
Примечание.
Информация в статье применима к Базе данных SQL Azure, Управляемому экземпляру SQL Azure и Azure Synapse Analytics (выделенные пулы SQL, ранее — хранилище данных SQL). Сведения о прозрачном шифровании данных для выделенных пулов SQL в рабочих областях Azure Synapse см. в статье Шифрование в Azure Synapse Analytics.
Предварительные условия
- У вас должна быть подписка на Azure, и вы должны быть администратором этой подписки.
- У вас должна быть установлена и запущена среда Azure PowerShell.
- В этом практическом руководстве предполагается, что вы уже используете ключ из Azure Key Vault в качестве предохранителя TDE для базы данных SQL Azure или Azure Synapse. См. Прозрачное шифрование данных с поддержкой использования собственных ключей (BYOK) для получения дополнительной информации.
Инструкции по установке модуля Az см. в статье об установке Azure PowerShell. Используйте новый модуль Azure PowerShell Az.
Проверка отпечатков предохранителя 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:
Команда Get-AzSqlServerKeyVaultKey PowerShell предоставляет отпечаток средства защиты TDE, используемого в запросе, чтобы увидеть, какие ключи следует хранить и какие ключи удалять в Azure Key Vault. Из Azure Key Vault можно безопасно удалить только те ключи, которые больше не используются базой данных.
Сохранение доступности зашифрованных ресурсов
Создайте новый ключ в 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.
Примечание.
Для распространения новой защиты 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 с помощью командлета Remove-AzKeyVaultKey .
Remove-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName>Чтобы восстановить ключ в Azure Key Vault в будущем, используйте командлет Restore-AzKeyVaultKey .
Restore-AzKeyVaultKey -VaultName <KeyVaultName> -InputFile <BackupFilePath>
Как сделать зашифрованные ресурсы недоступными
Удалите все базы данных, которые зашифрованы с помощью потенциально скомпрометированного ключа.
Для файлов базы данных и журналов резервные копии создаются автоматически, поэтому вы всегда сможете восстановить базу данных на определенный момент времени, предоставив нужный ключ. Удаление баз данных перед удалением действующего предохранителя TDE нужно для того, чтобы предотвратить потерю данных из последних транзакций (до 10 минут).
Создайте резервную копию ключевого материала защиты TDE в Azure Key Vault.
Удалите потенциально скомпрометированный ключ из Azure Key Vault.
Примечание.
Чтобы изменения разрешений вступили в силу для хранилища ключей, может потребоваться около 10 минут. Сюда входит аннулирование разрешений на доступ к предохранителю TDE в AKV, и пользователи в течение этого времени могут по-прежнему иметь разрешения на доступ.
Связанный контент
- См. дополнительные сведения о том, как заменить предохранитель TDE для сервера в соответствии с требованиями к безопасности с помощью PowerShell.
- Начало работы с поддержкой использования собственного ключа для TDE: включение TDE с помощью собственного ключа из Azure Key Vault с помощью PowerShell