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


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

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

Внимание

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

Требования

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

  • Ваша рабочая область Azure Key Vault и Azure Databricks должны находиться в одном регионе и в том же клиенте Идентификатора Microsoft Entra. Они могут находиться в разных подписках.

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

Хранилище ключей можно создавать различными способами, включая портал Azure, Azure CLI, Powershell и при необходимости с помощью шаблонов ARM. В следующих разделах приведены процедуры использования Azure CLI и PowerShell. Сведения о других подходах см. в документации Майкрософт.

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

  1. Создание хранилища ключей

    az keyvault create --name <keyVaultName> --resource-group <resourceGroupName> --location <location> --sku <sku> --enable-purge-protection
    
  2. Получите универсальный код ресурса (URI) хранилища:

    az keyvault show --name <key-vault-name>
    

    vaultUri Скопируйте значение из ответа.

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

Создайте новое хранилище:

$keyVault = New-AzKeyVault -Name <key-vault-name> -ResourceGroupName <resource-group-name> -Location <location> -Sku <sku> -EnablePurgeProtection

Получите существующее хранилище ключей:

$keyVault = Get-AzKeyVault -VaultName <key-vault-name>

Шаг 2. Подготовка ключа

Вы можете создать ключ или получить существующий ключ, хранящийся в Azure Key Vault, с помощью портал Azure, Azure CLI, Powershell и при необходимости с помощью шаблонов ARM. В этом разделе приведены процедуры azure CLI и PowerShell. Другие способы см. в документации по ключам Azure.

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

Можно создать ключ или получить существующий ключ.

Создайте ключ:

  1. Выполните следующую команду:

    az keyvault key create \
    --name <key-name> \
    --vault-name <key-vault-name> \
    --protection software
    
  2. Запишите следующие значения из выходных данных:

    • Имя хранилища ключей: имя хранилища ключей
    • Имя ключа: имя ключа
    • Ключевая версия: версия ключа.
    • Группа ресурсов хранилища ключей: группа ресурсов Хранилища ключей
  3. Получение ключевых сведений:

    az keyvault key show --vault-name <keyVaultName> --name <keyName>
    

    Скопируйте значение kid поля, которое является идентификатором ключа.

    Полный идентификатор ключа обычно имеет форму https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>. Ключи Azure Key Vault, которые находятся в недоступном облаке, имеют другую форму.

Получение существующего ключа:

  1. Выполните следующую команду:

    az keyvault key show --name <key-name> --vault-name <key-vault-name>
    
  2. Запишите следующие сведения о существующем ключе:

    • Имя хранилища ключей: имя хранилища ключей.
    • Имя ключа: имя ключа.
    • Ключевая версия: версия ключа.
    • Группа ресурсов хранилища ключей: группа ресурсов Хранилища ключей.
  3. Получение ключевых сведений:

    az keyvault key show --vault-name <keyVaultName> --name <keyName>
    

    Скопируйте значение kid поля, которое является идентификатором ключа.

    Полный идентификатор ключа обычно имеет форму https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>. Ключи Azure Key Vault, которые находятся в недоступном облаке, имеют другую форму.

  4. Убедитесь, что существующий ключ включен, прежде чем продолжить az keyvault key show --name <key name> работу снова. Выходные данные отображаются "enabled": true.

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

  1. Можно создать ключ или получить существующий ключ:

    • Создайте ключ:

      $key = Add-AzKeyVaultKey \
      -VaultName $keyVault.VaultName \
      -Name <key-name> \
      -Destination 'Software'
      
    • Получение существующего ключа:

      $key = Get-AzKeyVaultKey \
      -VaultName $keyVault.VaultName \
      -Name <key-name>
      

Шаг 3. Остановка всех вычислительных ресурсов

Завершите все вычислительные ресурсы (кластеры, пулы и хранилища SQL) в рабочей области.

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

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

Использование портал 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.
    • В раскрывающемся списке подписки введите имя подписки ключа Azure Key Vault.
    • Чтобы включить автоматическую смену ключа, включите автоматическую смену ключа.
  3. Заполните оставшиеся вкладки и нажмите кнопку "Просмотр и создание " (для новой рабочей области) или "Сохранить " (для обновления рабочей области).

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

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

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

  7. В портал Azure перейдите в Azure Key Vault, который использовался для настройки ключа, используемого для этой функции.

  8. На боковой панели щелкните Управление доступом (IAM).

  9. Щелкните + Добавить > Добавлениеназначения ролей.

  10. На вкладке роли выберите Key Vault Crypto Service Encryption User.

  11. На вкладке "Члены" щелкните + Выберите участников.

  12. Найдите и выберите имя набора шифрования дисков в управляемой группе ресурсов рабочей области Azure Databricks.

  13. Щелкните Рецензирование и назначьте > рецензирование и назначьте.

Заметка

Если хранилище ключей использует политики доступа вместо RBAC, выполните следующие инструкции:

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

Использование Azure CLI (без шаблона)

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

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

В следующих командах используйте значение URI хранилища из ответа на предыдущем шаге вместо <key-vault-uri>. Кроме того, значения имени ключа и версии ключа можно найти в kid значении в ответе на предыдущем шаге.

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

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

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

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

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

  2. Предоставьте роль пользователя шифрования службы Key Vault Crypto Service Encryption управляемому удостоверению диска Azure Databricks в вашем хранилище ключей.

    az keyvault role assignment create \
                            --role "Key Vault Crypto Service Encryption User"  \
                           --assignee <workspace-managed-disk-identity-principal-id>
    

Заметка

Если хранилище ключей использует политики доступа вместо RBAC, используйте следующую команду:

az keyvault set-policy \
--name <key-vault-name> \
--object-id <principal-id> \
--key-permissions get wrapKey unwrapKey

Использование PowerShell (без шаблона)

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

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

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

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

      $workspace = Update-AzDatabricksworkspace -Name <workspace-name> \
      -ResourceGroupName <resource-group-name> \
      -ManagedDiskKeyVaultPropertiesKeyName $key.Name \
      -ManagedDiskKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \
      -ManagedDiskKeyVaultPropertiesKeyVersion $key.Version -ManagedDiskRotationToLatestKeyVersionEnabled
      
  2. Предоставьте управляемому удостоверению диска Azure Databricks в вашем хранилище ключей роль пользователя шифрования службы Key Vault Crypto Service Encryption.

     New-AzKeyVaultRoleAssignment -RoleDefinitionName "Key Vault Crypto Service Encryption User" -ObjectId  <workspace-managed-disk-identity-principal-id>
    

Заметка

Если хранилище ключей использует политики доступа вместо RBAC, используйте следующую команду:

Set-AzKeyVaultAccessPolicy -VaultName $keyVault.VaultName \
-ObjectId $workspace.ManagedDiskIdentityPrincipalId \
-PermissionsToKeys wrapkey,unwrapkey,get

Использование шаблона ARM (портал Azure или CLI)

Вы можете изучить шаблоны быстрого запуска Azure в документации По Azure. Список вариантов развертывания шаблонов ARM см. в документации по шаблону ARM .

При создании рабочей области ресурс набора шифрования дисков также создается в управляемой группе ресурсов вашей рабочей области. Он имеет управляемое удостоверение, назначаемое системой, которое используется для доступа к Хранилищу ключей. Прежде чем вычислительные ресурсы Azure Databricks смогут использовать этот ключ для шифрования ваших данных, необходимо получить идентификатор основного объекта набора шифрования дисков, а затем предоставить объекту разрешения GET, WRAPи UNWRAP на ключи в ваш Key Vault.

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

Пример шаблона в этом разделе выполняет оба из следующих действий:

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

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

  • Создайте или обновите рабочую область с управляемым клиентом ключом для управляемого диска.
  • Создайте политику доступа к ключу.

Если вы уже используете шаблон ARM, можно объединить параметры, ресурсы и выходные данные из примера шаблона в существующий шаблон.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "workspaceName": {
      "type": "string",
      "metadata": {
        "description": "The name of the Azure Databricks workspace to create"
      }
    },
    "pricingTier": {
      "type": "string",
      "defaultValue": "premium",
      "allowedValues": ["premium"],
      "metadata": {
        "description": "The pricing tier of workspace"
      }
    },
    "apiVersion": {
      "type": "string",
      "defaultValue": "2023-02-01",
      "allowedValues": ["2023-02-01", "2022-04-01-preview"],
      "metadata": {
        "description": "The API version to use to create the workspace resources"
      }
    },
    "keyVaultName": {
      "type": "string",
      "metadata": {
        "description": "The Key Vault name used for CMK"
      }
    },
    "keyName": {
      "type": "string",
      "metadata": {
        "description": "The key name used for CMK"
      }
    },
    "keyVersion": {
      "type": "string",
      "metadata": {
        "description": "The key version used for CMK. Use the specific key version and not `latest`."
      }
    },
    "keyVaultResourceGroupName": {
      "type": "string",
      "metadata": {
        "description": "The resource group name of the Key Vault used for CMK"
      }
    },
    "enableAutoRotation": {
      "type": "bool",
      "defaultValue": false,
      "allowedValues": [true, false],
      "metadata": {
        "description": "Whether managed disk picks up new key versions automatically"
      }
    }
  },
  "variables": {
    "managedResourceGroupName": "[concat('databricks-rg-', parameters('workspaceName'), '-', uniqueString(parameters('workspaceName'), resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Databricks/workspaces",
      "name": "[parameters('workspaceName')]",
      "location": "[resourceGroup().location]",
      "apiVersion": "[parameters('apiVersion')]",
      "sku": {
        "name": "[parameters('pricingTier')]"
      },
      "properties": {
        "managedResourceGroupId": "[concat(subscription().id, '/resourceGroups/', variables('managedResourceGroupName'))]",
        "encryption": {
          "entities": {
            "managedDisk": {
              "keySource": "Microsoft.Keyvault",
              "keyVaultProperties": {
                "keyVaultUri": "[concat('https://', parameters('keyVaultName'), environment().suffixes.keyvaultDns)]",
                "keyName": "[parameters('keyName')]",
                "keyVersion": "[parameters('keyVersion')]"
              },
              "rotationToLatestKeyVersionEnabled": "[parameters('enableAutoRotation')]"
            }
          }
        }
      }
    },
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2020-06-01",
      "name": "addAccessPolicy",
      "resourceGroup": "[parameters('keyVaultResourceGroupName')]",
      "dependsOn": ["[resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName'))]"],
      "properties": {
        "mode": "Incremental",
        "template": {
          "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
          "contentVersion": "0.9.0.0",
          "resources": [
            {
              "type": "Microsoft.KeyVault/vaults/accessPolicies",
              "apiVersion": "2019-09-01",
              "name": "[concat(parameters('keyVaultName'), '/add')]",
              "properties": {
                "accessPolicies": [
                  {
                    "objectId": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')), '2023-02-01').managedDiskIdentity.principalId]",
                    "tenantId": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')), '2023-02-01').managedDiskIdentity.tenantId]",
                    "permissions": {
                      "keys": ["get", "wrapKey", "unwrapKey"]
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    }
  ],
  "outputs": {
    "workspace": {
      "type": "object",
      "value": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')))]"
    }
  }
}

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

Применение шаблона ARM с помощью портал Azure

Чтобы создать или обновить рабочую область с помощью шаблона ARM на портале Azure, сделайте следующее:

  1. Войдите на портал Azure.

  2. Щелкните "Создать ресурс", а затем щелкните "Развертывание шаблона" (развертывание с помощью пользовательских шаблонов).

  3. На странице "Настраиваемое развертывание" щелкните "Создать собственный шаблон" в редакторе.

  4. Вставьте содержимое примера шаблона в редакторе.

    Изменение страницы развертывания на пользовательском портале развертывания Azure

  5. Нажмите кнопку Сохранить.

  6. Введите значения параметров.

    Чтобы обновить существующую рабочую область, используйте те же параметры, что и для создания рабочей области. Чтобы добавить ключ, управляемый клиентом в первый раз, добавьте параметры, связанные с ключом, в разделе resources.properties.encryption.entities.managedDisk, как показано в приведенном выше шаблоне. Чтобы повернуть ключ, измените некоторые или все параметры, связанные с ключом.

    Внимание

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

    Страница сведений о проекте на пользовательском портале развертывания Azure

  7. Щелкните Просмотр и создание.

  8. Устраните все проблемы с проверкой и нажмите кнопку "Создать".

Внимание

При вращении ключа не удаляйте старый ключ до завершения обновления рабочей области.

Применение шаблона ARM с помощью Azure CLI

В этом разделе описывается создание или обновление рабочей области с ключом с помощью шаблона ARM с помощью Azure CLI.

  1. Проверьте, включает ли шаблон раздел resources.properties.encryption.entities.managedDisk и связанные с ним параметры keyvaultName, keyName, keyVersionи keyVaultResourceGroupName. Если их нет, ознакомьтесь с примером шаблона, представленным ранее в этом разделе, и объедините его с вашим шаблоном, добавив в него также соответствующие параметры.

  2. Выполните команду az deployment group create. Если имя группы ресурсов и имя рабочей области идентичны имени группы ресурсов и имени рабочей области для существующей рабочей области, эта команда обновляет существующую рабочую область вместо создания новой рабочей области. Если вы обновляете существующее развертывание, обязательно используйте то же имя группы ресурсов и рабочей области, что и раньше.

    az deployment group create --resource-group <existing-resource-group-name>  \
                               --template-file <file-name>.json \
                               --parameters workspaceName=<workspace-name> \
                                            keyvaultName=<key-vault-name> \
                                            keyName=<key-name> keyVersion=<key-version> \
                                            keyVaultResourceGroupName=<key-vault-resource-group>
    

    Внимание

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

Шаг 5. Убедитесь, что вычислительные ресурсы используют ключ (необязательно)

Чтобы убедиться, что для рабочей области включена функция ключа, управляемого клиентом, управляемого клиентом:

  1. Получите сведения о рабочей области Azure Databricks, выполнив одно из следующих действий:

    • портале Azure

      1. В портал Azure щелкните "Рабочие области", а затем щелкните имя рабочей области.
      2. На странице рабочей области щелкните представление JSON.
      3. Щелкните версию API, равную или более поздней 2022-04-01-preview версии API.
    • Azure CLI

      Выполните следующую команду:

      az databricks workspace show --resource-group <resource group name> --name <workspace name>
      

      Параметры шифрования управляемых дисков находятся в properties. Например:

      "properties": {
           "encryption": {
               "entities": {
                   "managedDisk": {
                     "keySource": "Microsoft.Keyvault",
                     "keyVaultProperties": {
                         "keyVaultUri": "<key-vault-uri>",
                         "keyName": "<key-name>",
                         "keyVersion": "<key-version>"
                     },
                     "rotationToLatestKeyVersionEnabled": "<rotation-enabled>"
                 }
            }
        }
      
    • PowerShell

      Get-AzDatabricksWorkspace -Name <workspace-name> -ResourceGroupName <resource-group-name> |
        Select-Object -Property ManagedDiskKeySource,
         ManagedDiskKeyVaultPropertiesKeyVaultUri,
         ManagedServicesKeyVaultPropertiesKeyName,
         ManagedServicesKeyVaultPropertiesKeyVersion,
         ManagedDiskRotationToLatestKeyVersionEnabled
      

      Просмотрите значения свойств, возвращаемых в выходных данных:

      ManagedDiskKeySource                           : Microsoft.Keyvault
      ManagedDiskKeyVaultPropertiesKeyVaultUri       : <key-vault-uri>
      ManagedServicesKeyVaultPropertiesKeyName       : <key-name>
      ManagedServicesKeyVaultPropertiesKeyVersion    : <key-version>
      ManagedDiskRotationToLatestKeyVersionEnabled   : <rotation-enabled>
      
  2. Создайте любой вычислительный ресурс для рабочей области для тестирования:

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

  3. В портал Azure щелкните "Рабочие области", а затем щелкните имя рабочей области.

  4. На странице рабочей области щелкните имя управляемой группы ресурсов, в которую находится ваша рабочая область.

  5. На странице группы ресурсов в разделе "Ресурсы" щелкните имя виртуальной машины.

  6. В левой части страницы виртуальной машины в разделе "Параметры" щелкните "Диски".

    На странице дисков в разделе "Диски данных" убедитесь,

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

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

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

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

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

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

Устранение неполадок

Сбой кластера KeyVaultAccessForbidden

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

Cloud Provider Launch Failure: KeyVaultAccessForbidden

Предоставьте набору шифрования дисков, созданному в управляемой группе ресурсов вашей рабочей области, право на доступ к Key Vault. Необходимые разрешения: GET, WRAPKEY, UNWRAPKEY.

Перечитайте подраздел , шаг 4: Создайте или обновите рабочую область для вашего типа развертывания, и обратите особое внимание на обновление политики доступа Key Vault с указанием конкретных разрешений.

Отсутствуют ключевые параметры

Проблема заключается в отсутствии параметров ключа для управляемого диска, управляемого клиентом.

Убедитесь, что шаблон ARM использует правильную версию API для ресурса Microsoft.Databricks/workspaces. Функция ключа, управляемого клиентом, для управляемого диска доступна только с версией API не ниже 2022-04-01-preview. При использовании других версий API рабочая область создается или обновляется, но параметры управляемого диска игнорируются.

Обновление рабочей области обнаруживает сбой с ApplicationUpdateFail

Проблема заключается в том, что обновление или операция исправления для рабочей области с включенной поддержкой управляемого диска завершается сбоем со следующей ошибкой:

Failed to update application: `<workspace name>`, because patch resource group failure. (Code: ApplicationUpdateFail)

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

Отсутствует политика доступа

Эта проблема является следующей ошибкой:

ERROR CODE: BadRequest MESSAGE: Invalid value found at accessPolicies[14].ObjectId: <objectId>

Политика доступа с указанным выше идентификатором объекта недопустима в Key Vault. Его необходимо удалить, чтобы добавить новые политики доступа в Хранилище ключей.

Потерянные ключи не подлежат восстановлению

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

Ресурсы