Konfigurowanie kluczy zarządzanych przez klienta dla dysków zarządzanych platformy Azure
Obciążenia obliczeniowe usługi Azure Databricks w płaszczyźnie obliczeniowej przechowują dane tymczasowe na dyskach zarządzanych platformy Azure. Domyślnie dane przechowywane na zarządzanych dyskach są szyfrowane w spoczynku przy użyciu szyfrowania po stronie serwera za pomocą kluczy zarządzanych przez Microsoft. W tym artykule opisano sposób konfigurowania klucza zarządzanego przez klienta z magazynów usługi Azure Key Vault dla obszaru roboczego usługi Azure Databricks do użycia na potrzeby szyfrowania dysków zarządzanych. Aby uzyskać instrukcje dotyczące używania klucza z modułu HSM usługi Azure Key Vault, zobacz Konfigurowanie kluczy zarządzanych przez klienta modułu HSM dla dysków zarządzanych platformy Azure.
Ważne
- Klucze zarządzane przez klienta dla magazynu dysków zarządzanych mają zastosowanie do dysków danych, ale nie mają zastosowania do dysków systemu operacyjnego.
- Klucze zarządzane przez klienta dla magazynu dysków zarządzanych nie mają zastosowania do zasobów obliczeniowych bezserwerowych, takich jak bezserwerowe magazyny SQL i obsługa modeli. Dyski używane w przypadku bezserwerowych zasobów obliczeniowych mają krótki czas istnienia i są powiązane z cyklem życia obciążenia bezserwerowego. Gdy zasoby obliczeniowe są zatrzymywane lub skalowane w dół, maszyny wirtualne i ich magazyn są niszczone.
Wymagania
Obszar roboczy usługi Azure Databricks musi znajdować się w planie Premium.
Obszar roboczy usługi Azure Key Vault i azure Databricks musi znajdować się w tym samym regionie i w tej samej dzierżawie identyfikatora Entra firmy Microsoft. Mogą znajdować się w różnych subskrypcjach.
Jeśli chcesz włączyć automatyczną rotację, obsługiwane są tylko klucze oprogramowania i moduł HSM RSA o rozmiarach 2048-bitowych, 3072-bitowych i 4096-bitowych.
Ta funkcja nie jest obsługiwana w przypadku obszarów roboczych ze zgodnością FedRAMP. Aby uzyskać więcej informacji, skontaktuj się z zespołem konta usługi Azure Databricks.
Aby użyć interfejsu wiersza polecenia platformy Azure dla tych zadań, zainstaluj narzędzie interfejsu wiersza polecenia platformy Azure i zainstaluj rozszerzenie usługi Databricks:
az extension add --name databricks
Aby użyć programu PowerShell dla tych zadań, zainstaluj program Azure PowerShell i zainstaluj moduł Programu PowerShell usługi Databricks. Musisz również zalogować się:
Connect-AzAccount
Aby zalogować się do konta platformy Azure jako użytkownik, zobacz Logowanie programu PowerShell przy użyciu konta użytkownika usługi Azure Databricks. Aby zalogować się do konta platformy Azure jako jednostki usługi, zobacz Logowanie programu PowerShell przy użyciu jednostki usługi Microsoft Entra ID.
Krok 1. Tworzenie usługi Key Vault
Usługę Key Vault można utworzyć na wiele sposobów, w tym witryny Azure Portal, interfejsu wiersza polecenia platformy Azure, programu PowerShell i opcjonalnie przy użyciu szablonów usługi ARM. Poniższe sekcje zawierają procedury korzystania z interfejsu wiersza polecenia platformy Azure i programu PowerShell. Inne podejścia można znaleźć w dokumentacji firmy Microsoft.
Interfejs wiersza polecenia platformy Azure
Utwórz magazyn kluczy:
az keyvault create --name <keyVaultName> --resource-group <resourceGroupName> --location <location> --sku <sku> --enable-purge-protection
Pobierz identyfikator URI magazynu:
az keyvault show --name <key-vault-name>
vaultUri
Skopiuj wartość z odpowiedzi.
Korzystanie z programu PowerShell
Utwórz nowy magazyn:
$keyVault = New-AzKeyVault -Name <key-vault-name> -ResourceGroupName <resource-group-name> -Location <location> -Sku <sku> -EnablePurgeProtection
Uzyskaj dostęp do istniejącego Key Vault:
$keyVault = Get-AzKeyVault -VaultName <key-vault-name>
Krok 2. Przygotowanie klucza
Możesz utworzyć klucz lub pobrać istniejący klucz przechowywany w usłudze Azure Key Vault przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure, programu PowerShell i opcjonalnie przy użyciu szablonów usługi ARM. Ta sekcja zawiera procedury dotyczące interfejsu wiersza polecenia platformy Azure i programu PowerShell. Aby uzyskać inne sposoby, zobacz dokumentację kluczy platformy Azure.
Interfejs wiersza polecenia platformy Azure
Możesz utworzyć klucz lub pobrać istniejący klucz.
Utwórz klucz:
Uruchom następujące polecenie:
az keyvault key create \ --name <key-name> \ --vault-name <key-vault-name> \ --protection software
Zanotuj następujące wartości z danych wyjściowych:
- Nazwa magazynu kluczy: nazwa usługi Key Vault
- Nazwa klucza: nazwa klucza
- Wersja klucza: wersja klucza.
- Grupa zasobów magazynu kluczy: grupa zasobów usługi Key Vault
Uzyskaj kluczowe informacje:
az keyvault key show --vault-name <keyVaultName> --name <keyName>
Skopiuj wartość
kid
pola, czyli identyfikator klucza.Pełny identyfikator klucza zwykle ma postać
https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>
. Klucze usługi Azure Key Vault, które znajdują się w chmurze innej niż publiczna, mają inną formę.
Pobierz istniejący klucz:
Uruchom następujące polecenie:
az keyvault key show --name <key-name> --vault-name <key-vault-name>
Zanotuj następujące szczegóły istniejącego klucza:
- Nazwa magazynu kluczy: nazwa usługi Key Vault.
- Nazwa klucza: nazwa klucza.
- Wersja klucza: wersja klucza.
- Grupa zasobów magazynu kluczy: grupa zasobów usługi Key Vault.
Uzyskaj kluczowe informacje:
az keyvault key show --vault-name <keyVaultName> --name <keyName>
Skopiuj wartość
kid
pola, czyli identyfikator klucza.Pełny identyfikator klucza zwykle ma postać
https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>
. Klucze usługi Azure Key Vault, które znajdują się w chmurze innej niż publiczna, mają inną formę.Przed kontynuowaniem upewnij się, że istniejący klucz jest włączony, uruchamiając
az keyvault key show --name <key name>
ponownie. Dane wyjściowe zawierają wartość"enabled": true
.
Korzystanie z programu PowerShell
Jeśli planujesz utworzyć klucz, może być konieczne ustawienie zasad dostępu w zależności od sposobu i momentu jego utworzenia. Jeśli na przykład niedawno utworzono usługę Key Vault przy użyciu programu PowerShell, nowy magazyn Key Vault może nie mieć zasad dostępu wymaganych do utworzenia klucza. W poniższym przykładzie użyto parametru
EmailAddress
do ustawienia zasad. Aby uzyskać szczegółowe informacje, zobacz artykuł Microsoft opisujący polecenie Set-AzKeyVaultAccessPolicy.Ustaw zasady dostępu dla nowego magazynu kluczy.
Set-AzKeyVaultAccessPolicy \ -VaultName $keyVault.VaultName \ -PermissionsToKeys all \ -EmailAddress <email-address>
Możesz utworzyć klucz lub pobrać istniejący klucz:
Utwórz klucz:
$key = Add-AzKeyVaultKey \ -VaultName $keyVault.VaultName \ -Name <key-name> \ -Destination 'Software'
Pobierz istniejący klucz:
$key = Get-AzKeyVaultKey \ -VaultName $keyVault.VaultName \ -Name <key-name>
Krok 3. Zatrzymywanie wszystkich zasobów obliczeniowych
Zakończ wszystkie zasoby obliczeniowe (klastry, pule i magazyny SQL) w obszarze roboczym.
Krok 4. Tworzenie lub aktualizowanie obszaru roboczego
Aby utworzyć lub zaktualizować obszar roboczy przy użyciu klucza zarządzanego przez klienta dla dysków zarządzanych, wybierz jedną z następujących strategii wdrażania:
- Korzystanie z witryny Azure Portal (brak szablonu)
- Korzystanie z interfejsu wiersza polecenia platformy Azure (bez szablonu)
- Korzystanie z programu PowerShell (bez szablonu)
- Korzystanie z szablonu usługi ARM (witryny Azure Portal lub interfejsu wiersza polecenia)
Korzystanie z witryny Azure Portal (brak szablonu)
W tej sekcji opisano sposób używania witryny Azure Portal do tworzenia lub aktualizowania obszaru roboczego przy użyciu kluczy zarządzanych przez klienta dla dysków zarządzanych bez użycia szablonu.
Rozpocznij tworzenie lub aktualizowanie obszaru roboczego:
Utwórz nowy obszar roboczy z kluczem:
- Przejdź do strony głównej witryny Azure Portal i kliknij pozycję Utwórz zasób w lewym górnym rogu strony.
- Na pasku wyszukiwania wpisz
Azure Databricks
i kliknij pozycję Azure Databricks. - Wybierz pozycję Utwórz z poziomu widżetu usługi Azure Databricks.
- Wprowadź wartości w polach formularza na kartach Basics i Networking.
- Na karcie Encryption zaznacz pole wyboru Użyj własnego klucza w sekcji Dyski Zarządzane.
Początkowo dodaj klucz do istniejącego obszaru roboczego:
- Przejdź do strony głównej witryny Azure Portal dla usługi Azure Databricks.
- Przejdź do istniejącego obszaru roboczego usługi Azure Databricks.
- Otwórz kartę Szyfrowanie z panelu po lewej stronie.
- W sekcji Klucze zarządzane przez klienta włącz Dyski zarządzane.
Ustaw pola szyfrowania.
- W polu identyfikator klucza wklej identyfikator klucza usługi Azure Key Vault.
- Na liście rozwijanej Subskrypcja wprowadź nazwę subskrypcji klucza usługi Azure Key Vault.
- Aby włączyć automatyczne obracanie klucza, włącz opcję Włącz automatyczne obracanie klucza.
Wypełnij pozostałe karty i kliknij pozycję Przejrzyj i utwórz (dla nowego obszaru roboczego) lub Zapisz (w celu zaktualizowania obszaru roboczego).
Po wdrożeniu obszaru roboczego przejdź do nowego obszaru roboczego usługi Azure Databricks.
Na karcie Przegląd obszaru roboczego usługi Azure Databricks kliknij pozycję Zarządzana grupa zasobów.
Na karcie Przegląd zarządzanej grupy zasobów wyszukaj obiekt typu Zestaw szyfrowania dysków utworzony w tej grupie zasobów. Skopiuj nazwę zestawu szyfrowania dysków.
W witrynie Azure Portal przejdź do usługi Azure Key Vault, która została użyta do skonfigurowania klucza używanego dla tej funkcji.
Otwórz kartę Zasady dostępu z panelu po lewej stronie. Po otwarciu karty kliknij pozycję Utwórz w górnej części strony.
Na karcie Uprawnienia w sekcji Uprawnienia klucza włącz Get, Unwrap Keyi Wrap Key.
Kliknij przycisk Dalej.
Na karcie Principal wprowadź nazwę zestawu szyfrowania dysków w zarządzanej grupie zasobów obszaru roboczego usługi Azure Databricks na pasku wyszukiwania. Wybierz wynik i kliknij przycisk Dalej.
Kliknij kartę Przeglądanie i tworzenie , a następnie kliknij pozycję Utwórz.
Korzystanie z interfejsu wiersza polecenia platformy Azure (bez szablonu)
W przypadku nowych i zaktualizowanych obszarów roboczych dodaj następujące parametry do polecenia:
-
disk-key-name
: nazwa klucza -
disk-key-vault
: nazwa magazynu -
disk-key-version
: wersja klucza. Użyj określonej wersji klucza, a nielatest
. -
disk-key-auto-rotation
: Włącz automatyczne obracanie klucza (true
lubfalse
). To pole jest opcjonalne. Wartość domyślna tofalse
.
W poniższych poleceniach użyj wartości identyfikatora URI magazynu z odpowiedzi w poprzednim kroku zamiast <key-vault-uri>
. Ponadto wartości nazwy klucza i wersji klucza można znaleźć w wartości kid
w odpowiedzi z poprzedniego kroku.
Tworzenie lub aktualizowanie obszaru roboczego:
Przykład tworzenia obszaru roboczego przy użyciu tych parametrów dysku zarządzanego:
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>
Przykład aktualizowania obszaru roboczego przy użyciu tych parametrów dysku zarządzanego:
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>
W danych wyjściowych jednego z tych poleceń istnieje
managedDiskIdentity
obiekt . Zapisz wartośćprincipalId
właściwości w tym obiekcie. Jest on używany w późniejszym kroku jako identyfikator podmiotu zabezpieczeń.Dodaj zasady dostępu z uprawnieniem klucza do usługi Key Vault. Użyj nazwy magazynu i identyfikatora podmiotu z poprzednich kroków:
az keyvault set-policy \ --name <key-vault-name> \ --object-id <principal-id> \ --key-permissions get wrapKey unwrapKey
Korzystanie z programu PowerShell (bez szablonu)
W przypadku nowych i zaktualizowanych obszarów roboczych dodaj następujące parametry do polecenia:
-
location
: Lokalizacja obszaru roboczego -
ManagedDiskKeyVaultPropertiesKeyName
: Nazwa klucza -
ManagedDiskKeyVaultPropertiesKeyVaultUri
: Identyfikator URI usługi Key Vault -
ManagedDiskKeyVaultPropertiesKeyVersion
: wersja klucza. Użyj określonej wersji klucza, a nielatest
. -
ManagedDiskRotationToLatestKeyVersionEnabled
: Włącz automatyczne obracanie klucza (true
lubfalse
). To pole jest opcjonalne. Wartością domyślną jest false.
Tworzenie lub aktualizowanie obszaru roboczego:
Przykład tworzenia obszaru roboczego przy użyciu parametrów dysku zarządzanego:
$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
Przykład aktualizowania obszaru roboczego przy użyciu parametrów dysku zarządzanego:
$workspace = Update-AzDatabricksworkspace -Name <workspace-name> \ -ResourceGroupName <resource-group-name> \ -ManagedDiskKeyVaultPropertiesKeyName $key.Name \ -ManagedDiskKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \ -ManagedDiskKeyVaultPropertiesKeyVersion $key.Version -ManagedDiskRotationToLatestKeyVersionEnabled
Dodaj zasady dostępu z uprawnieniami klucza do usługi Key Vault:
Set-AzKeyVaultAccessPolicy -VaultName $keyVault.VaultName \ -ObjectId $workspace.ManagedDiskIdentityPrincipalId \ -PermissionsToKeys wrapkey,unwrapkey,get
Korzystanie z szablonu usługi ARM (witryny Azure Portal lub interfejsu wiersza polecenia)
Szablony szybkiego startu platformy Azure można eksplorować w dokumentacji platformy Azure. Aby uzyskać listę opcji wdrażania szablonu usługi ARM, zobacz dokumentację szablonu usługi ARM.
Podczas tworzenia obszaru roboczego tworzony jest również zasób zestawu szyfrowania dysków w zarządzanej grupie zasobów obszaru roboczego. Ma ona tożsamość zarządzaną przypisaną przez system, która jest używana do uzyskiwania dostępu do usługi Key Vault. Aby usługa Azure Databricks mogła użyć tego klucza do szyfrowania danych, należy pobrać główny identyfikator zestawu szyfrowania dysków, a następnie przyznać tożsamości GET
, WRAP
i UNWRAP
uprawnienia klucza do twojego Key Vault.
Usługa Databricks zaleca, aby utworzenie lub zaktualizowanie obszaru roboczego oraz przyznanie uprawnień w usłudze Key Vault odbyło się w tym samym wdrożeniu szablonu. Przed przyznaniem uprawnień usługi Key Vault musisz utworzyć lub zaktualizować obszar roboczy z jednym wyjątkiem. Jeśli zaktualizujesz istniejący obszar roboczy dysku zarządzanego z kluczem zarządzanym przez klienta, aby używać nowego klucza w nowym Magazynie Kluczy, musisz przyznać istniejącemu zestawowi szyfrowania dysków uprawnienia dostępu do nowego Magazynu Kluczy. Następnie zaktualizuj obszar roboczy, korzystając z nowej konfiguracji klucza.
Przykładowy szablon w tej sekcji wykonuje oba następujące czynności:
- Tworzy lub aktualizuje obszar roboczy w celu dodania ustawień klucza zarządzanego przez klienta na dysku zarządzanym przez klienta
- Przyznaje zestawowi szyfrowania dysków dostęp do usługi Key Vault
Możesz użyć następującego przykładowego szablonu usługi ARM, który wykonuje dwie czynności:
- Utwórz lub zaktualizuj obszar roboczy z użyciem dysku zarządzanego kluczem zarządzanym przez klienta.
- Utwórz zasady dostępu klucza.
Jeśli już używasz szablonu usługi ARM, możesz scalić parametry, zasoby i dane wyjściowe z przykładowego szablonu do istniejącego szablonu.
{
"$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')))]"
}
}
}
Użyj szablonu z dowolnymi narzędziami, w tym witryną Azure Portal, interfejsem wiersza polecenia lub innymi narzędziami. Szczegółowe informacje znajdują się w następujących strategiach wdrażania szablonu:
- Stosowanie szablonu usługi ARM przy użyciu witryny Azure Portal
- Stosowanie szablonu usługi ARM przy użyciu interfejsu wiersza polecenia platformy Azure
Stosowanie szablonu usługi ARM przy użyciu witryny Azure Portal
Aby utworzyć lub zaktualizować obszar roboczy przy użyciu szablonu usługi ARM w witrynie Azure Portal, wykonaj następujące czynności:
Zaloguj się w witrynie Azure Portal.
Kliknij pozycję Utwórz zasób, a następnie kliknij pozycję Wdrożenie szablonu (wdróż przy użyciu szablonów niestandardowych).
Na stronie Wdrożenie niestandardowe kliknij pozycję Utwórz własny szablon w edytorze.
Wklej zawartość przykładowego szablonu w edytorze.
Kliknij przycisk Zapisz.
Wprowadź wartości parametrów.
Aby zaktualizować istniejący obszar roboczy, użyj tych samych parametrów, które użyto do utworzenia obszaru roboczego. Aby dodać klucz zarządzany przez klienta po raz pierwszy, dodaj parametry związane z kluczami w obszarze
resources.properties.encryption.entities.managedDisk
, jak pokazano w powyższym szablonie. Aby obrócić klucz, zmień niektóre lub wszystkie parametry związane z kluczem.Ważne
Jeśli zaktualizujesz obszar roboczy, nazwa grupy zasobów i nazwa obszaru roboczego w szablonie muszą być identyczne z nazwą grupy zasobów i nazwą obszaru roboczego istniejącego obszaru roboczego.
Kliknij pozycję Przejrzyj i utwórz.
Rozwiąż wszelkie problemy z walidacją, a następnie kliknij przycisk Utwórz.
Ważne
W przypadku przekręcenia klucza nie usuwaj starego klucza, aż po zakończeniu aktualizacji obszaru roboczego.
Stosowanie szablonu usługi ARM przy użyciu interfejsu wiersza polecenia platformy Azure
W tej sekcji opisano, jak utworzyć lub zaktualizować obszar roboczy za pomocą klucza i szablonu ARM z wykorzystaniem Azure CLI.
Sprawdź, czy szablon zawiera sekcję dla
resources.properties.encryption.entities.managedDisk
i powiązanych parametrówkeyvaultName
,keyName
,keyVersion
ikeyVaultResourceGroupName
. Jeśli ich tam nie ma, zobacz wcześniej w tej sekcji przykładowy szablon i scal tę sekcję oraz zawarte w niej parametry do swojego szablonu.Uruchom polecenie
az deployment group create
. Jeśli nazwa grupy zasobów i nazwa obszaru roboczego są identyczne z nazwą grupy zasobów i nazwą obszaru roboczego dla istniejącego obszaru roboczego, to polecenie aktualizuje istniejący obszar roboczy zamiast tworzyć nowy obszar roboczy. Jeśli aktualizujesz istniejące wdrożenie, pamiętaj, aby użyć tej samej nazwy grupy zasobów i obszaru roboczego, co wcześniej używane.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>
Ważne
W przypadku rotacji klucza można usunąć stary klucz tylko po zakończeniu aktualizacji obszaru roboczego.
Krok 5. Upewnij się, że zasoby obliczeniowe używają klucza (opcjonalnie)
Aby upewnić się, że funkcja klucza zarządzanego przez klienta dysku zarządzanego przez klienta jest włączona dla obszaru roboczego:
Pobierz szczegóły obszaru roboczego usługi Azure Databricks, wykonując jedną z następujących czynności:
Witryna Azure Portal
- W witrynie Azure Portal kliknij pozycję Obszary robocze, a następnie kliknij nazwę obszaru roboczego.
- Na stronie obszaru roboczego kliknij widok JSON.
- Kliknij wersję interfejsu API równą lub nowszą niż
2022-04-01-preview
wersja interfejsu API.
Interfejs wiersza polecenia platformy Azure
Uruchom następujące polecenie:
az databricks workspace show --resource-group <resource group name> --name <workspace name>
Parametry szyfrowania dysków zarządzanych znajdują się w
properties
. Na przykład:"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
Przejrzyj wartości właściwości zwracanych w danych wyjściowych:
ManagedDiskKeySource : Microsoft.Keyvault ManagedDiskKeyVaultPropertiesKeyVaultUri : <key-vault-uri> ManagedServicesKeyVaultPropertiesKeyName : <key-name> ManagedServicesKeyVaultPropertiesKeyVersion : <key-version> ManagedDiskRotationToLatestKeyVersionEnabled : <rotation-enabled>
Utwórz dowolny zasób obliczeniowy dla obszaru roboczego do użycia do testowania:
Jeśli nie można pomyślnie uruchomić zasobu obliczeniowego, zazwyczaj jest to spowodowane tym, że należy przyznać zestaw szyfrowania dysków odpowiednie uprawnienia dostępu do usługi Key Vault.
W witrynie Azure Portal kliknij pozycję Obszary robocze, a następnie kliknij nazwę obszaru roboczego.
Na stronie obszaru roboczego kliknij nazwę zarządzanej grupy zasobów, w których znajduje się obszar roboczy.
Na stronie grupa zasobów w obszarze Zasoby kliknij nazwę maszyny wirtualnej.
Po lewej stronie maszyny wirtualnej w obszarze Ustawienia kliknij pozycję Dyski.
Na stronie Dyski w obszarze .
Krok 6. Uruchamianie wcześniej zakończonych zasobów obliczeniowych
- Upewnij się, że aktualizacja obszaru roboczego została ukończona. Jeśli klucz był jedyną zmianą szablonu, zwykle kończy się to w mniej niż pięć minut, w przeciwnym razie może upłynąć więcej czasu.
- Ręcznie uruchom wszystkie zakończone wcześniej zasoby obliczeniowe.
Jeśli nie można pomyślnie uruchomić żadnych zasobów obliczeniowych, zazwyczaj jest to spowodowane tym, że należy udzielić uprawnienia zestawu szyfrowania dysków w celu uzyskania dostępu do usługi Key Vault.
Obracanie klucza w późniejszym czasie
Istnieją dwa typy rotacji kluczy w istniejącym obszarze roboczym, który ma już klucz:
- Automatyczna rotacja: jeśli
rotationToLatestKeyVersionEnabled
jesttrue
dla obszaru roboczego, zestaw szyfrowania dysków wykryje zmianę wersji klucza i wskazuje najnowszą wersję klucza. - Rotacja ręczna: możesz zaktualizować istniejący obszar roboczy klucza zarządzanego przez klienta przy użyciu nowego klucza. Postępuj zgodnie z powyższymi instrukcjami, tak jak w przypadku początkowego dodawania klucza do istniejącego obszaru roboczego.
Rozwiązywanie problemów
Klaster kończy się niepowodzeniem z KeyVaultAccessForbidden
Problem polega na tym, że nie można uruchomić klastra z powodu następującego błędu:
Cloud Provider Launch Failure: KeyVaultAccessForbidden
Udziel zestawowi szyfrowania dysków utworzonemu w zarządzanej grupie zasobów obszaru roboczego uprawnień do dostępu do Key Vault. Wymagane uprawnienia: GET
, WRAPKEY
, UNWRAPKEY
.
Ponownie przeczytaj podsekcję Krok 4: Tworzenie lub aktualizowanie obszaru roboczego dla danego typu wdrożenia i zwróć szczególną uwagę na aktualizację zasad dostępu usługi Key Vault z określonymi uprawnieniami.
Brak kluczowych parametrów
Problem polega na braku parametrów klucza zarządzanego przez klienta dla dysku zarządzanego.
Upewnij się, że szablon ARM używa poprawnej wersji API dla zasobu Microsoft.Databricks/workspaces
. Funkcja klucza zarządzanego przez klienta dysku zarządzanego jest dostępna tylko w wersji interfejsu API równej lub wyższej niż 2022-04-01-preview
. Jeśli używasz innych wersji interfejsu API, obszar roboczy zostanie utworzony lub zaktualizowany, ale parametry dysku zarządzanego są ignorowane.
Aktualizacja obszaru roboczego nie powiodła się z ApplicationUpdateFail
Problem polega na tym, że aktualizacja obszaru roboczego lub operacja stosowania poprawek kończy się niepowodzeniem dla obszaru roboczego z włączonym dyskiem zarządzanym z następującym błędem:
Failed to update application: `<workspace name>`, because patch resource group failure. (Code: ApplicationUpdateFail)
Przyznaj zestawowi szyfrowania dysku dostęp do usługi Key Vault, następnie wykonaj operacje aktualizacji obszaru roboczego, takie jak dodawanie etykiet.
Brak zasad dostępu
Problem dotyczy następującego błędu:
ERROR CODE: BadRequest MESSAGE: Invalid value found at accessPolicies[14].ObjectId: <objectId>
Zasady dostępu z powyższym identyfikatorem obiektu są nieprawidłowe w usłudze Key Vault. Musisz go usunąć, aby dodać nowe zasady dostępu do usługi Key Vault.
Zgubionych kluczy nie da się odzyskać
Zgubionych kluczy nie da się odzyskać. Jeśli utracisz lub odwołasz klucz i nie możesz go odzyskać, zasoby obliczeniowe usługi Azure Databricks nie będą już działać. Nie będzie to miało wpływu na inne funkcje obszaru roboczego.
Zasoby
- Dyski zarządzane platformy Azure w dokumentacji platformy Azure
- Szyfrowanie usługi Azure Disk Storage po stronie serwera w dokumentacji platformy Azure