Шифрование для рабочих областей 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 для доступа к новому хранилищу ключей. Рабочая область проверит доступ к новому хранилищу ключей, и все данные в рабочей области будут повторно зашифрованы с использованием нового ключа.

На этом снимке экрана показан раздел

Важно!

При смене ключа шифрования рабочей области следует хранить ключ до тех пор, пока он не будет заменен новым ключом в рабочей области. Это необходимо, чтобы можно было расшифровывать данные старым ключом до их повторного шифрования с использованием нового ключа.

Политики 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 рабочей области.

Командлет Описание
Set-AzSynapseSqlPoolTransparentDataEncryption Включает или отключает прозрачное шифрование данных для пула SQL.
Get-AzSynapseSqlPoolTransparentDataEncryption Возвращает состояние прозрачного шифрования данных для пула SQL.
New-AzSynapseWorkspaceKey Добавляет ключ Key Vault в рабочую область.
Get-AzSynapseWorkspaceKey Возвращает ключи Key Vault для рабочей области.
Update-AzSynapseWorkspace Задает прозрачный предохранитель шифрования данных для рабочей области.
Get-AzSynapseWorkspace Получение предохранителя TDE
Remove-AzSynapseWorkspaceKey Удаляет ключ Key Vault из рабочей области.

Дальнейшие действия