Шифрование для рабочих областей Azure Synapse Analytics
В этой статье описываются:
- шифрование неактивных данных в рабочих областях Synapse Analytics;
- настройка рабочих областей Synapse для шифрования с использованием ключа, управляемого клиентом;
- управление ключами, используемыми для шифрования данных в рабочих областях.
Шифрование неактивных данных
Полноценное решение для шифрования неактивных данных предполагает, что данные никогда не сохраняются на постоянной основе в незашифрованном виде. Двойное шифрование неактивных данных снижает риски благодаря наличию двух отдельных уровней шифрования — при такой схеме данные оказываются защищены в случае компрометации любого одного из уровней. В Azure Synapse Analytics предлагается второй уровень шифрования данных в рабочей области с использованием ключа, управляемого клиентом. Этот ключ надежно хранится в Azure Key Vault, что позволяет вам взять на себя управление ключами и их смену.
На первом уровне для служб Azure включается шифрование с использованием ключей, управляемых платформой. По умолчанию диски Azure и данные в учетных записях хранения Azure автоматически шифруются при хранении. Дополнительные сведения об использовании шифрования в Microsoft Azure см. в статье "Общие сведения о шифровании в Azure".
Примечание.
Некоторые элементы, которые рассматриваются как содержимое клиента, такие как имена таблиц, имена объектов и имена индексов, могут передаваться в файлах журналов для поддержки и устранения неполадок корпорации Майкрософт.
Шифрование в Azure Synapse
Этот раздел поможет вам получить более четкое представление о том, как включается и применяется шифрование данных в рабочих областях Synapse с использованием ключей, управляемых клиентом. Для такого шифрования используются уже имеющиеся ключи или новые ключи, созданные в Azure Key Vault. Все данные в рабочей области шифруются одним ключом. Рабочие области Synapse поддерживают ключи размером 2048 и 3072 байта RSA, а также ключи RSA-HSM.
Примечание.
Рабочие области Synapse не поддерживают использование ключей EC, EC-HSM и oct-HSM для шифрования.
Шифрование на уровне рабочей области с использованием управляемого клиентом ключа применяется для данных в следующих компонентах Synapse:
- Пулы SQL
- Выделенные пулы SQL
- бессерверные пулы SQL;
- Пулы Data Explorer
- Пулы Apache Spark
- среды выполнения интеграции, конвейеры и наборы данных Фабрики данных Azure.
Настройка шифрования рабочей области
Настроить рабочую область для применения двойного шифрования с использованием ключа, управляемого клиентом, можно во время ее создания. При создании новой рабочей области, на вкладке "Безопасность", включите двойное шифрование с помощью ключа, управляемого клиентом. Вы можете указать URI идентификатора ключа или выбрать хранилище ключей из списка в том же регионе, где находится рабочая область. Для Key Vault необходимо включить защиту от очистки.
Внимание
Отменить применение двойного шифрования после создания рабочей области невозможно.
Доступ к ключам и активация рабочей области
В модели шифрования Azure Synapse с использованием ключей, управляемых пользователем, рабочая область при необходимости получает доступ к ключам для шифрования и расшифровки, хранящимся в Azure Key Vault. Доступ рабочей области к ключам предоставляется с помощью политики доступа или ролей RBAC Azure Key Vault. Во время создания политики при предоставлении разрешений с помощью политики доступа Azure Key Vault выберите параметр "Только приложение" (выберите управляемое удостоверение рабочих областей и не добавляйте его в качестве авторизованного приложения).
Прежде чем можно будет активировать рабочую область, управляемому удостоверению рабочей области должны быть предоставлены необходимые разрешения на доступ к хранилищу ключей. Этот поэтапный подход к активации рабочей области гарантирует, что данные в рабочей области будут зашифрованы с использованием управляемого клиентом ключа. Шифрование можно включать и отключать для каждого выделенного пула SQL в отдельности. По умолчанию для каждого выделенного пула не включено шифрование.
Использование управляемого удостоверения, назначаемого пользователем
Рабочие области можно настроить для использования удостоверения, назначаемого пользователем для доступа к управляемому клиентом ключу, хранящемуся в Azure Key Vault. Настройте назначаемое пользователем управляемое удостоверение, чтобы избежать поэтапной активации рабочей области Azure Synapse при использовании двойного шифрования с ключами, управляемыми клиентом. Встроенная роль Managed Identity Contributor требуется для назначения назначаемого пользователем управляемого удостоверения рабочей области Azure Synapse.
Примечание.
Управляемое удостоверение, назначаемое пользователем, нельзя настроить для доступа к управляемому клиентом ключу, если Azure Key Vault находится за брандмауэром.
Разрешения
Чтобы зашифровать или расшифровать неактивные данные, управляемое удостоверение должно иметь следующие разрешения. Аналогичным образом, если вы используете шаблон Resource Manager для создания нового ключа, параметр keyOps шаблона должен иметь следующие разрешения:
- WrapKey (для вставки ключа в Key Vault при его создании);
- UnwrapKey (для получения ключа расшифровки);
- Get (для чтения открытой части ключа).
Активация рабочей области
Если вы не настроите назначаемое пользователем управляемое удостоверение для доступа к управляемым клиентом ключам во время создания рабочей области, ваше рабочее пространство останется в состоянии "Ожидание" до тех пор, пока активация не будет выполнена. Полноценное использование всех функций рабочей области возможно только после ее активации. Например, создать выделенный пул SQL можно только после успешной активации рабочей области. Предоставьте управляемому удостоверению рабочей области доступ к хранилищу ключей и щелкните ссылку для активации рабочей области в баннере портала Azure. После успешного завершения активации рабочая область будет готова к использованию, а все данные в ней будут гарантированно защищены с использованием ключа, управляемого клиентом. Как уже отмечалось, для успешной активации в хранилище ключей должна быть включена защита от очистки.
Управление ключом шифрования рабочей области
Изменить управляемый клиентом ключ, который используется для шифрования данных, можно на странице Шифрование портала Azure. Здесь можно также выбрать новый ключ, указав идентификатор ключа или выбрав хранилище ключей, к которым у вас есть доступ, в том же регионе, где находится рабочая область. Если вы выберете ключ из хранилища ключей, которое ранее не использовалось, предоставьте управляемому удостоверению рабочей области разрешения Get, Wrap и Unwrap для доступа к новому хранилищу ключей. Рабочая область проверит доступ к новому хранилищу ключей, и все данные в рабочей области будут повторно зашифрованы с использованием нового ключа.
Внимание
При изменении ключа шифрования рабочей области сохраните старый ключ, пока не замените его в рабочей области новым ключом. Это позволяет расшифровать данные со старым ключом, прежде чем он будет повторно зашифрован с помощью нового ключа. Состояние пула SQL (online/Offline) не влияет на процесс смены управляемого клиентом рабочей области ключа (CMK).
Пулы SQL, которые находятся в автономном режиме во время смены CMK, останутся зашифрованными со старой версией ключа или ключа. Если старая версия ключа или ключа отключена или истекла, пулы не будут возобновляться, так как расшифровка невозможна. После возобновления этих пулов старый ключ или версия ключа должна быть включена и 2) иметь дату окончания срока действия в будущем, чтобы разрешить расшифровку и последующее повторное шифрование с помощью новой версии ключа или ключа.
Чтобы обеспечить гладкую смену CMK, если некоторые пулы SQL находятся в автономном режиме во время процесса, старая версия ключа или ключа должна оставаться включенной и иметь срок действия в будущем. Это важно, пока автономные пулы не будут успешно возобновлены и повторно зашифрованы с помощью новой версии ключа или ключа.
Настоятельно рекомендуется не удалять старые ключи или версии ключей, так как они по-прежнему могут потребоваться для расшифровки резервных копий. Вместо этого после повторного шифрования всех пулов SQL с помощью новой версии ключа или ключа отключите старую версию ключа или ключа. Это гарантирует, что старая версия ключа или ключа остается доступной для расшифровки старых резервных копий при необходимости.
Политики Azure Key Vault, предусматривающие периодическую автоматическую ротацию или выполнение действий с ключами, могут привести к созданию новых версий ключей. Вы можете повторно зашифровать все данные в рабочей области с использованием последней версии активного ключа. Чтобы повторно зашифровать данные, смените ключ на временный на портале Azure, а затем снова смените ключ на тот, который хотите использовать для шифрования. Например, чтобы повторно зашифровать данные с помощью последней версии активного ключа Key1, смените управляемый клиентом ключ рабочей области на временный ключ Key2. Дождитесь, пока завершится шифрование с использованием Key2, а затем смените ключ обратно на Key1. Данные в рабочей области будут повторно зашифрованы с использованием последней версии ключа Key1.
Примечание.
Azure Synapse Analytics не выполняет повторное шифрование данных автоматически при создании новых версий ключей. Для обеспечения согласованности в рабочей области выполняйте повторное шифрование данных, как описано выше.
Прозрачное шифрование данных SQL с использованием ключей, управляемых службой
Прозрачное шифрование данных SQL (TDE) доступно для выделенных пулов SQL в рабочих областях, для которых не включено двойное шифрование. В рабочей области этого типа ключ, управляемый службой, используется для двойного шифрования данных в выделенных пулах SQL. TDE с ключом, управляемым службой, можно включать и отключать для каждого выделенного пула SQL в отдельности.
Командлеты для базы данных SQL Azure и Azure Synapse
Для настройки TDE с помощью PowerShell нужно подключиться в качестве владельца Azure, участника или диспетчера безопасности SQL.
Используйте следующие командлеты для рабочей области Azure Synapse.
Командлет | Description |
---|---|
Set-AzSynapseSqlPoolTransparentDataEncryption | Включает или отключает прозрачное шифрование данных для пула SQL. |
Get-AzSynapseSqlPoolTransparentDataEncryption | Возвращает состояние прозрачного шифрования данных для пула SQL. |
New-AzSynapseWorkspaceKey | Добавляет ключ Key Vault в рабочую область. |
Get-AzSynapseWorkspaceKey | Возвращает ключи Key Vault для рабочей области |
Update-AzSynapseWorkspace | Задает средство защиты прозрачного шифрования данных для рабочей области. |
Get-AzSynapseWorkspace | Получение предохранителя TDE |
Remove-AzSynapseWorkspaceKey | Удаляет ключ Key Vault из рабочей области. |