Konfigurace klíčů spravovaných zákazníkem pro spravované disky Azure

Výpočetní úlohy Azure Databricks ve výpočetní rovině ukládají dočasná data na spravovaných discích Azure. Ve výchozím nastavení se data uložená na spravovaných discích šifrují v klidovém stavu pomocí šifrování na straně serveru s klíči spravovanými společností Microsoft. Tento článek popisuje, jak nakonfigurovat klíč spravovaný zákazníkem z trezorů služby Azure Key Vault pro váš pracovní prostor Azure Databricks tak, aby se používal pro šifrování spravovaných disků. Pokyny k použití klíče z HSM služby Azure Key Vault najdete v tématu Konfigurace klíčů spravovaných zákazníkem HSM pro spravované disky Azure.

Důležité

  • Klíče spravované zákazníkem pro úložiště spravovaných disků se vztahují na datové disky, ale nevztahují se na disky operačního systému (OS).
  • Klíče spravované zákazníkem pro úložiště spravovaných disků se nevztahují na bezserverové výpočetní prostředky, jako jsou bezserverové sklady SQL a obsluha modelů. Disky používané pro bezserverové výpočetní prostředky jsou krátkodobé a svázané s životním cyklem bezserverových úloh. Když jsou výpočetní prostředky zastavené nebo škálované, virtuální počítače a jejich úložiště se zničí.

Požadavky

  • Váš pracovní prostor Azure Databricks musí být v plánu Premium.

  • Váš pracovní prostor Azure Key Vault a Azure Databricks musí být ve stejné oblasti a ve stejném tenantovi Microsoft Entra ID (dříve Azure Active Directory). Můžou být v různých předplatných.

  • Pokud chcete povolit automatické obměně, podporují se jenom softwarové klíče a RSA HSM o velikosti 2048 bitů, 3072bitové a 4096bitové verze.

  • Pracovní prostory, které odpovídají programu FedRAMP, tuto funkci nepodporují. Další informace získáte od týmu účtu Azure Databricks.

  • Pokud chcete k těmto úlohám použít Azure CLI, nainstalujte nástroj Azure CLI a nainstalujte rozšíření Databricks:

    az extension add --name databricks
    
  • Pokud chcete pro tyto úlohy použít PowerShell, nainstalujte Azure PowerShell a nainstalujte modul Databricks PowerShell. Musíte se také přihlásit:

    Connect-AzAccount
    

    Pokud se chcete přihlásit ke svému účtu Azure jako uživatel, podívejte se na powershellové přihlášení pomocí uživatelského účtu Azure Databricks. Pokud se chcete přihlásit ke svému účtu Azure jako instanční objekt, podívejte se na powershellové přihlášení pomocí instančního objektu Microsoft Entra ID.

Krok 1: Vytvoření služby Key Vault

Key Vault můžete vytvořit mnoha způsoby, včetně webu Azure Portal, Azure CLI, PowerShellu a volitelně pomocí šablon ARM. Následující části obsahují postupy pro používání Azure CLI a PowerShellu. Další přístupy najdete v dokumentaci Microsoftu.

Použití Azure CLI

  1. Vytvoření služby Key Vault:

    az keyvault create --name <keyVaultName> --resource-group <resourceGroupName> --location <location> --sku <sku> --enable-purge-protection
    
  2. Získejte identifikátor URI trezoru:

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

    vaultUri Zkopírujte hodnotu z odpovědi.

Použití PowerShellu

Vytvořte nový trezor:

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

Získání existující služby Key Vault:

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

Krok 2: Příprava klíče

Můžete vytvořit klíč nebo načíst existující klíč uložený ve službě Azure Key Vault pomocí webu Azure Portal, Azure CLI, PowerShellu a volitelně pomocí šablon ARM. Tato část obsahuje postupy pro Azure CLI a PowerShell. Další způsoby najdete v dokumentaci ke klíčům Azure.

Použití Azure CLI

Můžete vytvořit klíč nebo načíst existující klíč.

Vytvoření klíče:

  1. Spusťte následující příkaz:

    az keyvault key create \
    --name <key-name> \
    --vault-name <key-vault-name> \
    --protection software
    
  2. Poznamenejte si následující hodnoty z výstupu:

    • Název trezoru klíčů: Název služby Key Vault
    • Název klíče: Název klíče
    • Verze klíče: Verze klíče
    • Skupina prostředků trezoru klíčů: Skupina prostředků služby Key Vault
  3. Získání klíčových informací:

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

    Zkopírujte hodnotu kid pole, což je ID klíče.

    Úplné ID klíče má obvykle formulář https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>. Klíče služby Azure Key Vault, které jsou v neveřejném cloudu, mají jiný tvar.

Načtení existujícího klíče:

  1. Spusťte následující příkaz:

    az keyvault key show --name <key-name> --vault-name <key-vault-name>
    
  2. Poznamenejte si následující podrobnosti o stávajícím klíči:

    • Název trezoru klíčů: Název služby Key Vault.
    • Název klíče: Název klíče.
    • Verze klíče: Verze klíče.
    • Skupina prostředků trezoru klíčů: Skupina prostředků služby Key Vault.
  3. Získání klíčových informací:

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

    Zkopírujte hodnotu kid pole, což je ID klíče.

    Úplné ID klíče má obvykle formulář https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>. Klíče služby Azure Key Vault, které jsou v neveřejném cloudu, mají jiný tvar.

  4. Než budete pokračovat, ověřte, že je váš existující klíč povolený, a teprve potom znovu.az keyvault key show --name <key name> Výstup se zobrazí "enabled": true.

Použití PowerShellu

  1. Pokud plánujete vytvořit klíč, budete možná muset nastavit zásady přístupu v závislosti na tom, jak a kdy jste ho vytvořili. Pokud jste například nedávno vytvořili službu Key Vault pomocí PowerShellu, může nová služba Key Vault obsahovat zásady přístupu potřebné k vytvoření klíče. Následující příklad používá EmailAddress parametr k nastavení zásady. Související podrobnosti najdete v článku o Set-AzKeyVaultAccessPolicy.

    Nastavte zásady přístupu v nové službě Key Vault:

    Set-AzKeyVaultAccessPolicy \
    -VaultName $keyVault.VaultName \
    -PermissionsToKeys all \
    -EmailAddress <email-address>
    
  2. Můžete vytvořit klíč nebo načíst existující klíč:

    • Vytvoření klíče:

      $key = Add-AzKeyVaultKey \
      -VaultName $keyVault.VaultName \
      -Name <key-name> \
      -Destination 'Software'
      
    • Načtení existujícího klíče:

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

Krok 3: Zastavení všech výpočetních prostředků, pokud aktualizujete pracovní prostor tak, aby původně přidal klíč

Pokud přidáváte klíč spravovaný zákazníkem pro spravované disky původně v existujícím pracovním prostoru, zastavte před aktualizací všechny výpočetní prostředky (clustery, fondy, klasické nebo pro SQL Warehouse).

Po dokončení aktualizace můžete spustit výpočetní prostředky, které jste zastavili. U pracovního prostoru, který už má klíč spravovaný zákazníkem pro spravované disky, můžete klíč otočit bez ukončení výpočetních prostředků.

Krok 4: Vytvoření nebo aktualizace pracovního prostoru

Pokud chcete vytvořit nebo aktualizovat pracovní prostor pomocí klíče spravovaného zákazníkem pro spravované disky, zvolte jednu z následujících strategií nasazení:

Použití webu Azure Portal (bez šablony)

Tato část popisuje, jak pomocí webu Azure Portal vytvořit nebo aktualizovat pracovní prostor pomocí klíčů spravovaných zákazníkem pro spravované disky bez použití šablony.

  1. Začněte vytvářet nebo aktualizovat pracovní prostor:

    Vytvořte nový pracovní prostor s klíčem:

    1. Přejděte na domovskou stránku webu Azure Portal a v levém horním rohu stránky klikněte na Vytvořit prostředek .
    2. Na panelu hledání zadejte Azure Databricks a klikněte na Azure Databricks.
    3. Vyberte Vytvořit z widgetu Azure Databricks.
    4. Zadejte hodnoty do polí formuláře na kartách Základy a Sítě.
    5. Na kartě Šifrování zaškrtněte políčko Použít vlastní klíč v části Spravované disky.

    Zpočátku přidejte klíč do existujícího pracovního prostoru:

    1. Ukončete všechny výpočetní prostředky (clustery, fondy).
    2. Přejděte na domovskou stránku webu Azure Portal pro Azure Databricks.
    3. Přejděte do existujícího pracovního prostoru Azure Databricks.
    4. Na levém panelu otevřete kartu Šifrování .
    5. V části Klíče spravované zákazníkem povolte Spravované disky.
  2. Nastavte pole šifrování.

    Show fields in the Managed Disks section of the Azure Databricks blade

    • Do pole Identifikátor klíče vložte identifikátor klíče vašeho klíče služby Azure Key Vault.
    • V rozevíracím seznamu Předplatné zadejte název předplatného klíče služby Azure Key Vault.
    • Pokud chcete povolit automatické obměně klíče, povolte automatické obměně klíče.
  3. Dokončete zbývající karty a klikněte na Zkontrolovat a vytvořit (pro nový pracovní prostor) nebo Uložit (pro aktualizaci pracovního prostoru).

  4. Po nasazení pracovního prostoru přejděte do nového pracovního prostoru Azure Databricks.

  5. Na kartě Přehled pracovního prostoru Azure Databricks klikněte na Spravovaná skupina prostředků.

  6. Na kartě Přehled skupiny spravovaných prostředků vyhledejte objekt typu Sada šifrování disků vytvořený v této skupině prostředků. Zkopírujte název sady šifrování disku.

  7. Na webu Azure Portal přejděte do služby Azure Key Vault, která se použila ke konfiguraci klíče, který používáte pro tuto funkci.

  8. Na panelu vlevo otevřete kartu Zásady přístupu. Po otevření karty klikněte v horní části stránky na Vytvořit .

  9. Na kartě Oprávnění v části Oprávnění ke klíči povolte get, Unwrap Key a Wrap key.

  10. Klikněte na tlačítko Další.

  11. Na kartě Objekt zabezpečení zadejte název sady šifrování disků ve spravované skupině prostředků pracovního prostoru Azure Databricks na panelu hledání. Vyberte výsledek a klikněte na Další.

    Enter the name of disk encryption set and select the result

  12. Klikněte na kartu Zkontrolovat a vytvořit a klikněte na Vytvořit.

Použití Azure CLI (bez šablony)

Pro nové i aktualizované pracovní prostory přidejte do příkazu tyto parametry:

  • disk-key-name: Název klíče
  • disk-key-vault: Název trezoru
  • disk-key-version: Verze klíče
  • disk-key-auto-rotation: Povolte automatické otáčení klíče (true nebo false). Toto je volitelné pole. Výchozí hodnota je false.

V následujícíchpříkazch <key-vault-uri> Kromě toho se hodnoty názvu klíče a verze klíče nacházejí v kid odpovědi z předchozího kroku.

  1. Vytvoření nebo aktualizace pracovního prostoru:

    • Příklad vytvoření pracovního prostoru pomocí těchto parametrů spravovaného disku:

      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>
      
    • Příklad aktualizace pracovního prostoru pomocí těchto parametrů spravovaného disku:

      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>
      

    Ve výstupu některého z těchto příkazů je managedDiskIdentity objekt. Uložte hodnotu vlastnosti v rámci tohoto objektu principalId . To se použije v pozdějším kroku jako ID objektu zabezpečení.

  2. Přidejte zásadu přístupu s oprávněním ke klíči do služby Key Vault. Použijte název trezoru a ID objektu zabezpečení z předchozích kroků:

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

Použití PowerShellu (bez šablony)

Pro nové i aktualizované pracovní prostory přidejte do příkazu tyto parametry:

  • location: Umístění pracovního prostoru
  • ManagedDiskKeyVaultPropertiesKeyName: Název klíče
  • ManagedDiskKeyVaultPropertiesKeyVaultUri: Identifikátor URI služby Key Vault
  • ManagedDiskKeyVaultPropertiesKeyVersion: Verze klíče
  • ManagedDiskRotationToLatestKeyVersionEnabled: Povolte automatické otáčení klíče (true nebo false). Toto je volitelné pole. Výchozí hodnotou je hodnota false.
  1. Vytvoření nebo aktualizace pracovního prostoru:

    • Příklad vytvoření pracovního prostoru pomocí parametrů spravovaného disku:

      $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
      
    • Příklad aktualizace pracovního prostoru pomocí parametrů spravovaného disku:

      $workspace = Update-AzDatabricksworkspace -Name <workspace-name> \
      -ResourceGroupName <resource-group-name> \
      -ManagedDiskKeyVaultPropertiesKeyName $key.Name \
      -ManagedDiskKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \
      -ManagedDiskKeyVaultPropertiesKeyVersion $key.Version -ManagedDiskRotationToLatestKeyVersionEnabled
      
  2. Přidejte zásadu přístupu s oprávněními ke klíči do služby Key Vault:

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

Použití šablony ARM (Azure Portal nebo rozhraní příkazového řádku)

Šablony Rychlého startu Azure můžete prozkoumat v dokumentaci k Azure. Seznam možností nasazení šablon ARM najdete v dokumentaci k šabloně ARM.

Když vytvoříte pracovní prostor, vytvoří se také prostředek sady šifrování disků ve spravované skupině prostředků vašeho pracovního prostoru. Má spravovanou identitu přiřazenou systémem, která se používá pro přístup ke službě Key Vault. Než výpočetní prostředky Azure Databricks můžou tento klíč použít k šifrování dat, musíte načíst ID objektu zabezpečení sady šifrování disku a pak udělit identitě GETWRAPUNWRAP a oprávnění klíče ke službě Key Vault.

Databricks doporučuje vytvořit nebo aktualizovat pracovní prostor a udělit oprávnění služby Key Vault ve stejném nasazení šablony. Před udělením oprávnění služby Key Vault musíte vytvořit nebo aktualizovat pracovní prostor s jednou výjimkou. Pokud aktualizujete existující pracovní prostor klíčů spravovaný zákazníkem spravovaného disku tak, aby používal nový klíč v nové službě Key Vault, musíte stávající sadě šifrování disků udělit oprávnění pro přístup k nové službě Key Vault a pak aktualizovat pracovní prostor pomocí nové konfigurace klíče.

Ukázková šablona v této části provede obě následující kroky:

  • Vytvoří nebo aktualizuje pracovní prostor a přidá nastavení klíče spravovaného disku spravovaného zákazníkem.
  • Uděluje přístup k vaší službě Key Vault v sadě šifrování disků.

Můžete použít následující příklad šablony ARM, která dělá dvě věci:

  • Vytvořte nebo aktualizujte pracovní prostor pomocí klíče spravovaného disku spravovaného zákazníkem.
  • Vytvořte zásadu přístupu ke klíči.

Pokud už používáte šablonu ARM, můžete sloučit parametry, prostředky a výstupy z ukázkové šablony do stávající šablony.

{
   "$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"
           }
       },
       "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')))]"
       }
   }
}

Šablonu použijte s libovolnými nástroji, včetně webu Azure Portal, rozhraní příkazového řádku nebo jiných nástrojů. Podrobnosti najdete v následujících strategiích nasazení šablon:

Použití šablony ARM pomocí webu Azure Portal

Pokud chcete vytvořit nebo aktualizovat pracovní prostor pomocí šablony ARM na webu Azure Portal, postupujte takto:

  1. Pouze pokud původně přidáváte klíč do existujícího pracovního prostoru, ukončete všechny výpočetní prostředky (clustery, fondy). Pokud tento krok neuděláte, prostředky se během aktualizace automaticky ukončí, což může způsobit problémy u některých typů úloh. Naplánujte výpadek a ukončete všechny výpočetní prostředky před přidáním klíče. Po dokončení aktualizace spustíte výpočetní prostředky, které jste zastavili. U pracovního prostoru, který už má klíč spravovaný zákazníkem pro spravované disky, můžete klíč otočit bez ukončení výpočetních prostředků.

  2. Přihlaste se k portálu Azure.

  3. Klepněte na tlačítko Vytvořit prostředek a potom klepněte na tlačítko Nasazení šablony (nasazení pomocí vlastních šablon).

  4. Na stránce Vlastní nasazení klikněte v editoru na Vytvořit vlastní šablonu.

  5. Vložte obsah ukázkové šablony v editoru.

    Edit deployment page of the Azure custom deployment portal

  6. Klikněte na Uložit.

  7. Zadejte hodnoty parametrů.

    Pokud chcete aktualizovat existující pracovní prostor, použijte stejné parametry, které jste použili k vytvoření pracovního prostoru. Pokud chcete klíč spravovaný zákazníkem přidat poprvé, přidejte do části resources.properties.encryption.entities.managedDisk pod parametry související s klíči, jak je znázorněno ve výše uvedené šabloně. Pokud chcete klíč otočit, změňte některé nebo všechny parametry související s klíči.

    Důležité

    Pokud aktualizujete pracovní prostor, název skupiny prostředků a název pracovního prostoru v šabloně musí být stejné jako název skupiny prostředků a název pracovního prostoru existujícího pracovního prostoru.

    Project details page of the Azure custom deployment portal

  8. Klikněte na Zkontrolovat a vytvořit.

  9. Vyřešte všechny problémy s ověřením a klikněte na Vytvořit.

Důležité

Pokud klíč otočíte, neodstraňovat starý klíč až po dokončení aktualizace pracovního prostoru.

Použití šablony ARM pomocí Azure CLI

Tato část popisuje, jak vytvořit nebo aktualizovat pracovní prostor pomocí klíče pomocí šablony ARM s Azure CLI.

  1. Pouze pokud původně přidáváte klíč do existujícího pracovního prostoru, ukončete všechny výpočetní prostředky (clustery, fondy). Pokud tento krok neuděláte, prostředky se během aktualizace automaticky ukončí, což může způsobit problémy u některých typů úloh. Můžete zvážit naplánování této aktualizace a plánování výpadků. Tento krok není nutný, pokud právě klíč otočíte .

  2. Zkontrolujte, jestli vaše šablona obsahuje oddíl pro resources.properties.encryption.entities.managedDisk a související parametry keyvaultName, keyName, keyVersion, a keyVaultResourceGroupName. Pokud tam nejsou, podívejte se výše v této části, kde najdete ukázkovou šablonu a sloučení v tomto oddílu a parametry do šablony.

  3. Spusťte příkaz az deployment group create. Pokud název skupiny prostředků a název pracovního prostoru jsou stejné jako název skupiny prostředků a název pracovního prostoru pro existující pracovní prostor, tento příkaz místo vytvoření nového pracovního prostoru aktualizuje existující pracovní prostor. Pokud aktualizujete existující nasazení, nezapomeňte použít stejnou skupinu prostředků a název pracovního prostoru jako dříve použitý.

    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>
    

    Důležité

    Pokud klíč otočíte, můžete starý klíč odstranit jenom po dokončení aktualizace pracovního prostoru.

Krok 5: Potvrďte, že vaše výpočetní prostředky používají váš klíč (volitelné).

Pokud chcete ověřit, že je pro pracovní prostor povolená funkce klíče spravovaného zákazníkem spravovaného disku:

  1. Načtěte podrobnosti pracovního prostoru Azure Databricks jedním z následujících způsobů:

    • Azure Portal

      1. Na webu Azure Portal klikněte na Pracovní prostory a potom klikněte na název pracovního prostoru.
      2. Na stránce pracovního prostoru klikněte na zobrazení JSON.
      3. Klikněte na verzi rozhraní API stejnou nebo vyšší než 2022-04-01-preview verze rozhraní API.
    • Azure CLI

      Spusťte následující příkaz:

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

      Parametry šifrování spravovaného disku jsou pod properties. Příklad:

      "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
      

      Zkontrolujte hodnoty vlastností vrácených ve výstupu:

      ManagedDiskKeySource                           : Microsoft.Keyvault
      ManagedDiskKeyVaultPropertiesKeyVaultUri       : <key-vault-uri>
      ManagedServicesKeyVaultPropertiesKeyName       : <key-name>
      ManagedServicesKeyVaultPropertiesKeyVersion    : <key-version>
      ManagedDiskRotationToLatestKeyVersionEnabled   : <rotation-enabled>
      
  2. Vytvořte pro svůj pracovní prostor libovolný výpočetní prostředek, který se má použít k testování:

  3. Na webu Azure Portal klikněte na Pracovní prostory a potom klikněte na název pracovního prostoru.

  4. Na stránce pracovního prostoru klikněte na název spravované skupiny prostředků, ve které je váš pracovní prostor.

  5. Na stránce skupiny prostředků klikněte v části Prostředky na název virtuálního počítače.

  6. Na levé straně stránky virtuálního počítače v části Nastavení klikněte na Disky.

    Na stránce Disky v části Datové disky potvrďte, že pole Šifrování disku má hodnotu SSE with CMK.

Krok 6: Zahájení dříve ukončených výpočetních prostředků

Tento krok je nezbytný jenom v případě, že jste aktualizovali pracovní prostor tak, aby poprvé přidal klíč. V takovém případě jste ukončili všechny spuštěné výpočetní prostředky v předchozím kroku. Pokud jste vytvořili nový pracovní prostor nebo jste klíč právě obměněli, výpočetní prostředky se v předchozích krocích neukončily, v takovém případě můžete tento krok přeskočit.

  1. Ujistěte se, že je aktualizace pracovního prostoru dokončená. Pokud byl klíč jedinou změnou šablony, obvykle se dokončí za méně než pět minut, jinak může trvat déle.
  2. Ručně spusťte všechny výpočetní prostředky, které jste ukončili dříve.

Pokud se některé výpočetní prostředky nepodaří úspěšně spustit, obvykle je to proto, že potřebujete udělit oprávnění pro přístup ke službě Key Vault sadě šifrování disku.

Otočení klíče později

Existují dva typy obměny klíčů v existujícím pracovním prostoru, který už má klíč:

  • Automatické obměny: Pokud rotationToLatestKeyVersionEnabled je true to pro váš pracovní prostor, sada šifrování disku zjistí změnu verze klíče a odkazuje na nejnovější verzi klíče.
  • Ruční obměně: Existující pracovní prostor klíče spravovaného zákazníkem spravovaného disku můžete aktualizovat novým klíčem. Postupujte podle výše uvedených pokynů, jako kdybyste původně přidali klíč do existujícího pracovního prostoru. Důležitým rozdílem je, že nemusíte ukončovat žádné spuštěné výpočetní prostředky.

U obou typů obměně služba úložiště virtuálních počítačů Azure automaticky převezme nový klíč a použije ho k šifrování šifrovacího klíče dat. Na výpočetní prostředky Azure Databricks to nemá vliv. Další informace najdete v dokumentaci k Azure v klíčích spravovaných zákazníkem.

Před obměnou klíčem nemusíte ukončovat výpočetní prostředky.

Řešení potíží

Cluster selže s chybou KeyVaultAccessForbidden

Problém se nepodaří spustit cluster s následující chybou:

Cloud Provider Launch Failure: KeyVaultAccessForbidden

Udělte sadě disků šifrování, které je vytvořené ve spravované skupině prostředků vašeho pracovního prostoru pro přístup ke službě Key Vault. Požadovaná oprávnění: GET, WRAPKEY, UNWRAPKEY.

Znovu si přečtěte dílčí část kroku 4: Vytvořte nebo aktualizujte pracovní prostor pro váš typ nasazení a věnujte zvláštní pozornost aktualizaci zásad přístupu ke službě Key Vault s konkrétními oprávněními.

Chybí klíčové parametry

Problém je chybějící parametry klíče spravovaného disku spravovaného zákazníkem.

Potvrďte, že vaše šablona ARM používá správnou verzi rozhraní API pro Microsoft.Databricks/workspaces prostředek. Funkce klíče spravovaného disku spravovaného zákazníkem je k dispozici pouze u verze rozhraní API, která je rovna nebo vyšší než 2022-04-01-preview. Pokud používáte jiné verze rozhraní API, pracovní prostor se vytvoří nebo aktualizuje, ale parametry spravovaného disku jsou ignorovány.

Aktualizace pracovního prostoru selže s chybou ApplicationUpdateFail

Problém se týká selhání operace aktualizace nebo opravy pracovního prostoru s podporou spravovaného disku s následující chybou:

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

Udělte šifrovacímu disku přístup ke službě Key Vault a pak proveďte operace aktualizace pracovního prostoru, jako je přidání značek.

Chybí zásady přístupu

Problém je následující chyba:

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

Zásady přístupu s výše uvedeným ID objektu jsou ve službě Key Vault neplatné. Abyste mohli do služby Key Vault přidat nové zásady přístupu, musíte ho odebrat.

Ztracené klíče jsou neobnovitelné

Ztracené klíče nelze obnovit. Pokud klíč ztratíte nebo odvoláte a nemůžete ho obnovit, výpočetní prostředky služby Azure Databricks už nebudou fungovat. Na ostatní funkce pracovního prostoru to nebude mít vliv.

Zdroje