Шифрование в Фабрике данных Azure с помощью управляемых клиентом ключей

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

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

Фабрика данных Azure шифрует неактивные данные, в том числе определения сущностей и все данные, кэшированные во время выполнения. По умолчанию данные шифруются с помощью генерируемого случайным образом ключа под управлением Майкрософт, который назначается фабрике данных с соблюдением уникальности. Благодаря возможности использовать управляемые клиентом ключи в Фабрике данных Azure теперь для обеспечения дополнительной безопасности можно включить создание собственных ключей (BYOK). Если задан управляемый клиентом ключ, Фабрика данных использует для шифрования данных клиента как системный ключ фабрики, так и CMK. Отсутствие любого из них может привести к отказу в доступе к данным и фабрике.

Для хранения управляемых клиентом ключей требуется Azure Key Vault. Можно либо создать собственные ключи и хранить их в хранилище ключей, либо использовать API-интерфейсы Azure Key Vault для их генерации. Хранилище ключей и фабрика данных должны находиться в одном клиенте Microsoft Entra и в одном регионе, но они могут находиться в разных подписках. Дополнительные сведения об Azure Key Vault см. в статье Что такое Azure Key Vault?

Сведения об управляемых клиентом ключах

На следующей схеме показано, как фабрика данных использует идентификатор Microsoft Entra и Azure Key Vault для выполнения запросов с помощью ключа, управляемого клиентом:

Diagram showing how customer-managed keys work in Azure Data Factory.

В следующем списке описаны шаги, пронумерованные на схеме.

  1. Администратор Azure Key Vault предоставляет управляемому удостоверению, связанному с Фабрикой данных, разрешения на использование ключей шифрования.
  2. Администратор Фабрики данных включает в фабрике возможность использовать управляемые клиентом ключи.
  3. Фабрика данных использует управляемое удостоверение, связанное с фабрикой, для проверки подлинности доступа к Azure Key Vault с помощью идентификатора Microsoft Entra
  4. Фабрика данных заключает в оболочку ключ шифрования фабрики, используя ключ клиента в Azure Key Vault.
  5. В случае операций чтения и записи Фабрика данных отправляет запросы в Azure Key Vault для извлечения ключа шифрования учетной записи из оболочки с целью выполнения операций шифрования и расшифровки.

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

Необходимые условия. Настройка Azure Key Vault и создание ключей

Включение обратимого удаления и запрета на очистку Azure Key Vault

Для использования управляемых клиентом ключей с Фабрикой данных необходимо задать для хранилища ключей два свойства: Обратимое удаление и Do Not Purge (Не очищать). Эти свойства можно включить с помощью PowerShell или Azure CLI в новом или имеющемся хранилище ключей. Сведения о том, как включить эти свойства в существующем хранилище ключей, см. в статье Azure Key Vault. Управление восстановлением с помощью обратимого удаления и защиты от очистки.

Если вы создаете новый Azure Key Vault с помощью портала Azure, свойства Обратимое удаление и Do Not Purge (Не очищать) можно задать следующим образом.

Screenshot showing how to enable Soft Delete and Purge Protection upon creation of Key Vault.

Предоставление Фабрике данных доступа к Azure Key Vault

Убедитесь, что Azure Key Vault и Фабрика данных Azure находятся в одном клиенте Microsoft Entra и в одном регионе. Используя функцию управления доступом в Azure Key Vault, предоставьте фабрике данных следующие разрешения: Получение, Распаковка ключа и Упаковка ключа. Эти разрешения необходимы для включения возможности использования управляемых клиентом ключей в Фабрике данных.

Создание или передача управляемого клиентом ключа в Azure Key Vault

Вы можете создавать свои собственные ключи и хранить их в хранилище ключей. Для создания ключей также можно использовать API Azure Key Vault. Только ключи RSA поддерживаются с шифрованием фабрики данных. RSA-HSM также поддерживается. См. дополнительные сведения о ключах, секретах и сертификатах.

Screenshot showing how to generate Customer-Managed Key.

Активация управляемых клиентом ключей

После создания фабрики в пользовательском интерфейсе Фабрики данных

В этом разделе описывается процесс добавления шифрования управляемого клиентом ключа в пользовательском интерфейсе Фабрики данных после создания фабрики.

Примечание.

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

Важно!

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

  1. Убедитесь, что Управляемое удостоверение службы (MSI) фабрики данных имеет следующие разрешения для Key Vault: Получение, Распаковка ключа и Упаковка ключа.

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

  3. Чтобы найти URI ключа на портале Azure, перейдите к Azure Key Vault и выберите параметр "Ключи". Выберите нужный ключ, а затем щелкните его, чтобы просмотреть его версии. Выберите версию ключа для просмотра параметров.

  4. Скопируйте значение поля "Идентификатор ключа", которое предоставляет универсальный код ресурса (URI) Screenshot of getting key URI from Key Vault.

  5. Запустите портал Фабрики данных Azure и перейдите с помощью панели навигации слева на портал управления Фабрикой данных Azure.

  6. Щелкните значок ключа, управляемого клиентом Screenshot how to enable Customer-managed Key in Data Factory UI.

  7. Введите универсальный код ресурса (URI) для управляемого клиентом ключа, скопированного ранее.

  8. Нажмите Сохранить, и для Фабрики данных будет включено шифрование управляемого клиентом ключа.

Во время создания фабрики на портале Azure

В этом разделе описано, как добавить шифрование с помощью управляемого клиентом ключа на портале Azure во время развертывания фабрики.

Чтобы зашифровать фабрику, Фабрике данных необходимо сначала получить ключ, управляемый клиентом, из Key Vault. Поскольку развертывание по-прежнему выполняется, MSI еще недоступно для проверки подлинности с помощью Key Vault. Таким образом, чтобы использовать этот подход, клиенту необходимо назначить фабрике данных управляемое удостоверение, назначаемое пользователем (UA-MI). Предполагается, что роли были определенны в UA-MI и проходят проверку подлинности с помощью Key Vault.

Дополнительные сведения об управляемом удостоверении, назначаемом пользователем, см. в разделе Типы управляемых удостоверений и статье Назначение ролей для управляемого удостоверения, назначаемого пользователем.

  1. Убедитесь, что управляемое удостоверение, назначаемое пользователем (UA-MI), имеет следующие разрешения для Key Vault: Получение, Распаковка ключа и Упаковка ключа.

  2. На вкладке "Дополнительно" проверка поле для включения шифрования с помощью управляемого клиентом ключаScreenshot of Advanced tab for data factory creation experience in Azure portal.

  3. Укажите URL-адрес для управляемого клиентом ключа, хранящегося в Key Vault

  4. Выберите соответствующее управляемое удостоверение, назначаемое пользователем, для проверки подлинности с помощью Key Vault

  5. Продолжите развертывание фабрики

Обновление версии ключа

При создании новой версии ключа обновите Фабрику данных, чтобы в ней использовалась эта новая версия. Выполните действия, аналогичные описанным в разделе Пользовательский интерфейс Фабрики данных, в том числе следующие:

  1. Найдите универсальный код ресурса (URI) для новой версии ключа с помощью портала Azure Key Vault.

  2. Перейдите к параметру Управляемый клиентом ключ.

  3. Замените в нем универсальный код ресурса (URI), вставив соответствующее значение для нового ключа

  4. Нажмете Сохранить и Фабрика данных теперь будет использовать для шифрования новую версию ключа.

Использование другого ключа

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

  1. Найдите универсальный код ресурса (URI) для нового ключа с помощью портала Azure Key Vault.

  2. Перейдите к параметру Управляемый клиентом ключ.

  3. Замените в нем универсальный код ресурса (URI), вставив соответствующее значение для нового ключа

  4. Нажмете Сохранить и Фабрика данных теперь будет использовать для шифрования новый ключ.

Отключение возможности использования управляемых клиентом ключей

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

Управляемый клиентом ключ, непрерывная интеграция и непрерывное развертывание

По умолчанию конфигурация CMK не включена в шаблон Azure Resource Manager (ARM). Чтобы включить параметры шифрования с управляемым ключом клиента в шаблон ARM для непрерывной интеграции (CI/CD), выполните следующие действия.

  1. Убедитесь, что производство находится в режиме Git.
  2. Перейдите на портал управления — раздел "Управляемый клиентом ключ"
  3. Установите флажок Включить в шаблон ARM

Screenshot of including customer managed key setting in ARM template.

В шаблон ARM будут добавлены следующие параметры. Эти свойства могут быть параметризованы в конвейерах непрерывной интеграции и поставки путем изменения конфигурации параметров Azure Resource Manager.

Screenshot of including customer managed key setting in Azure Resource Manager template.

Примечание.

Добавление параметра шифрования в шаблоны ARM добавляет параметр уровня производства, который будет переопределять другие параметры уровня производства, такие как конфигурации Git, в других средах. Если вы включили эти параметры в среде с повышенными привилегиями, например UAT или PROD, см. глобальные параметры в CI/CD.

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