Поделиться через


Настройка ключей, управляемых клиентом HSM для управляемых дисков Azure

Azure Databricks вычисляет рабочие нагрузки в хранилище временных данных плоскости вычислений на управляемых дисках Azure. По умолчанию данные, хранящиеся на управляемых дисках, шифруются в период неактивности с использованием шифрования на стороне сервера и с применением ключей, управляемых Майкрософт. В этой статье описывается настройка управляемого клиентом ключа из HSM Azure Key Vault для рабочей области Azure Databricks для шифрования управляемых дисков. Инструкции по использованию ключа из хранилищ Azure Key Vault см. в статье "Настройка управляемых клиентом ключей для управляемых дисков Azure".

Внимание

  • Ключи, управляемые клиентом для управляемого хранилища дисков, применяются к дискам данных, но не применяются к дискам операционной системы (ОС).
  • Ключи, управляемые клиентом для управляемого дискового хранилища, не применяются к бессерверным вычислительным ресурсам, таким как бессерверные хранилища SQL и обслуживание моделей. Диски, используемые для бессерверных вычислительных ресурсов, имеют небольшой срок действия и привязаны к жизненному циклу бессерверной рабочей нагрузки. При остановке или уменьшении масштаба вычислительных ресурсов виртуальные машины и их хранилище уничтожаются.

Требования

  • Рабочая область Azure Databricks должна находиться в плане "Премиум".

  • Если вы хотите включить автоматическую смену, поддерживаются только ключи RSA-HSM размеров 2048-разрядных, 3072-разрядных и 4096-разрядных.

  • Эта функция не поддерживается для рабочих областей с соответствием FedRAMP. Чтобы получить дополнительные сведения, обратитесь к группе учетной записи Azure Databricks.

  • Чтобы использовать Azure CLI для этих задач, установите средство Azure CLI и установите расширение Databricks:

    az extension add --name databricks
    
  • Чтобы использовать PowerShell для этих задач, установите Azure PowerShell и установите модуль Databricks PowerShell. Кроме того, необходимо войти в систему:

    Connect-AzAccount
    

    Сведения о входе в учетную запись Azure в качестве пользователя см. в статье "Вход в PowerShell" с учетной записью пользователя Azure Databricks. Чтобы войти в учетную запись Azure в качестве субъекта-службы, ознакомьтесь с именем входа PowerShell с помощью субъекта-службы Идентификатора Microsoft Entra.

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

Вы можете использовать существующий управляемый HSM в Azure Key Vault или создать и активировать новую, следуя кратким руководствам в документации по управляемому HSM. См . краткое руководство. Подготовка и активация управляемого устройства HSM с помощью Azure CLI. Управляемый модуль HSM в Azure Key Vault должен иметь включенную защиту очистки.

Чтобы создать ключ HSM, следуйте инструкциям по созданию ключа HSM.

Шаг 2. Остановите все вычислительные ресурсы, если вы обновляете рабочую область, чтобы первоначально добавить ключ

Если вы добавляете управляемый клиентом ключ для управляемых дисков в существующей рабочей области, остановите все вычислительные ресурсы (кластеры, пулы, классические или профессиональные хранилища SQL) перед обновлением.

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

Шаг 3. Создание или обновление рабочей области

Вы можете создать или обновить рабочую область с ключом, управляемым клиентом для управляемых дисков, с помощью портал Azure, Azure CLI или Azure PowerShell.

Использование портала Azure

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

  1. Начните создавать или обновлять рабочую область:

    Создайте новую рабочую область с ключом:

    1. Перейдите на домашнюю страницу портала Azure и щелкните "Создать ресурс " в левом верхнем углу страницы.
    2. В строке поиска введите Azure Databricks и щелкните Azure Databricks.
    3. Выберите "Создать " в мини-приложении Azure Databricks.
    4. Введите значения в полях формы на вкладках "Основы" и "Сеть".
    5. На вкладке "Шифрование" установите флажок "Использовать собственный ключ" в разделе Управляемые диски.

    Первоначально добавьте ключ в существующую рабочую область:

    1. Перейдите на домашнюю страницу портал Azure для Azure Databricks.
    2. Перейдите в существующую рабочую область Azure Databricks.
    3. Откройте вкладку "Шифрование" на левой панели.
    4. В разделе "Ключи, управляемые клиентом", включите Управляемые диски.
  2. Задайте поля шифрования.

    Отображение полей в разделе Управляемые диски колонки Azure Databricks

    • В поле "Идентификатор ключа" вставьте идентификатор ключа управляемого ключа HSM.
    • В раскрывающемся списке "Подписка" введите имя подписки ключа управляемого HSM.
    • Чтобы включить автоматическую смену ключа, включите автоматическую смену ключа.
  3. Заполните оставшиеся вкладки и нажмите кнопку "Просмотр и создание " (для новой рабочей области) или "Сохранить " (для обновления рабочей области).

  4. После развертывания рабочей области перейдите к новой рабочей области Azure Databricks.

  5. На вкладке "Обзор " рабочей области Azure Databricks щелкните "Управляемая группа ресурсов".

  6. На вкладке Обзор управляемой группы ресурсов найдите объект типа Набор шифрования дисков, созданный в этой группе ресурсов. Скопируйте имя этого набора шифрования дисков.

Использование Azure CLI

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

  • disk-key-name: управляемое имя HSM
  • disk-key-vault: управляемый URI HSM
  • disk-key-version: управляемая версия HSM
  • disk-key-auto-rotation: включение автоматического поворота ключа (true или false). Это необязательное поле. Значение по умолчанию — false.
  1. Создайте или обновите рабочую область:

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

      az databricks workspace create --name <workspace-name> \
      --resource-group <resource-group-name> \
      --location <location> \
      --sku premium --disk-key-name <hsm-name> \
      --disk-key-vault <hsm-uri> \
      --disk-key-version <hsm-version> \
      --disk-key-auto-rotation <true-or-false>
      
    • Пример обновления рабочей области с помощью следующих параметров управляемого диска:

      az databricks workspace update \
      --name <workspace-name> \
      --resource-group <resource-group-name> \
      --disk-key-name <hsm-name> \
      --disk-key-vault <hsm-uri> \
      --disk-key-version <hsm-version> \
      --disk-key-auto-rotation <true-or-false>
      

    В выходных данных любой из этих команд есть managedDiskIdentity объект. Сохраните значение principalId свойства в этом объекте. Это используется в следующем шаге в качестве идентификатора субъекта.

Использование PowerShell

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

  • location: расположение рабочей области
  • ManagedDiskKeyVaultPropertiesKeyName: управляемое имя HSM
  • ManagedDiskKeyVaultPropertiesKeyVaultUri: управляемый URI HSM
  • ManagedDiskKeyVaultPropertiesKeyVersion: управляемая версия HSM
  • ManagedDiskRotationToLatestKeyVersionEnabled: включение автоматического поворота ключа (true или false). Это необязательное поле. Значение по умолчанию — false.
  1. Создайте или обновите рабочую область:
    • Пример создания рабочей области с помощью параметров управляемого диска:

      $workspace = New-AzDatabricksWorkspace -Name <workspace-name> \
      -ResourceGroupName <resource-group-name> \
      -location <location> \
      -Sku premium \
      -ManagedDiskKeyVaultPropertiesKeyName <key-name> \
      -ManagedDiskKeyVaultPropertiesKeyVaultUri <hsm-uri> \
      -ManagedDiskKeyVaultPropertiesKeyVersion <key-version> -ManagedDiskRotationToLatestKeyVersionEnabled
      
    • Пример обновления рабочей области с помощью параметров управляемого диска:

      $workspace = Update-AzDatabricksworkspace -Name <workspace-name> \
      -ResourceGroupName <resource-group-name> \
      -ManagedDiskKeyVaultPropertiesKeyName <key-name> \
      -ManagedDiskKeyVaultPropertiesKeyVaultUri <hsm-uri> \
      -ManagedDiskKeyVaultPropertiesKeyVersion <key-version> -ManagedDiskRotationToLatestKeyVersionEnabled
      

Шаг 4. Настройка назначения управляемой роли HSM

Настройте назначение ролей для управляемого HSM Key Vault, чтобы рабочая область Azure Databricks получила разрешение на доступ к нему. Назначение ролей можно настроить с помощью портал Azure, Azure CLI или PowerShell.

Использование портала Azure

  1. Перейдите к ресурсу Управляемого устройства HSM в портал Azure.
  2. В меню слева в разделе "Параметры" выберите "Локальный RBAC".
  3. Нажмите кнопку Добавить.
  4. В поле "Роль" выберите пользователя шифрования службы шифрования управляемого шифрования HSM.
  5. В поле "Область" выберите All keys (/).
  6. В поле "Субъект безопасности" введите имя набора шифрования дисков в управляемой группе ресурсов рабочей области Azure Databricks в строке поиска. Выберите результат.
  7. Нажмите кнопку Создать.

Использование Azure CLI

Настройте назначение роли управляемого устройства HSM. Замените <hsm-name> управляемым именем HSM и замените <principal-id> идентификатором субъекта на managedDiskIdentity предыдущем шаге.

az keyvault role assignment create --role "Managed HSM Crypto Service Encryption User"
    --scope "/" --hsm-name <hsm-name>
    --assignee-object-id <principal-id>

Использование Azure PowerShell

Замените <hsm-name> управляемым именем HSM.

New-AzKeyVaultRoleAssignment -HsmName <hsm-name> \
-RoleDefinitionName "Managed HSM Crypto Service Encryption User" \
-ObjectId $workspace.ManagedDiskIdentityPrincipalId

Шаг 5. Запуск ранее завершенных вычислительных ресурсов

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

  1. Убедитесь, что обновление рабочей области завершено. Если ключ был единственным изменением шаблона, обычно это завершается менее чем за пять минут, в противном случае может потребоваться больше времени.
  2. Вручную запустите все вычислительные ресурсы, которые были завершены ранее.

Если какие-либо вычислительные ресурсы не удается запустить успешно, обычно это связано с тем, что необходимо предоставить разрешение набора шифрования дисков для доступа к Key Vault.

Смена ключа в дальнейшем

В существующей рабочей области есть два типа поворотов ключей, которые уже имеют ключ:

  • Автоматическая смена. Если rotationToLatestKeyVersionEnabled используется true ваша рабочая область, набор шифрования дисков обнаруживает изменение версии ключа и указывает на последнюю версию ключа.
  • Смена вручную. Вы можете обновить существующую рабочую область ключей, управляемую клиентом, управляемым клиентом, с новым ключом. Следуйте приведенным выше инструкциям, как если бы вы изначально добавили ключ в существующую рабочую область с важным различием, которое не требуется завершить выполнение каких-либо выполняемых вычислительных ресурсов.

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

Перед сменой ключа не нужно завершать вычислительные ресурсы.