Povolte klíče spravované zákazníkem pro spravované služby
Poznámka:
Tato funkce vyžaduje plán Premium.
Pro další kontrolu nad daty můžete přidat vlastní klíč pro ochranu a řízení přístupu k některým typům dat. Azure Databricks má několik klíčových funkcí spravovaných zákazníkem. Informace o porovnání souvisejících funkcí najdete v tématu Klíče spravované zákazníkem pro šifrování.
Tip
Tento článek popisuje, jak nakonfigurovat vlastní klíč z trezorů služby Azure Key Vault pro spravované služby. Pokyny k použití klíče ze spravovaného HSM služby Azure Key Vault najdete v tématu Povolení klíčů spravovaných zákazníkem HSM pro spravované služby.
Data spravovaných služeb v řídicí rovině Azure Databricks se šifrují v klidovém stavu. Můžete přidat klíč spravovaný zákazníkem pro spravované služby, který pomáhá chránit a řídit přístup k následujícím typům šifrovaných dat:
- Zdroj poznámkového bloku v řídicí rovině Azure Databricks
- Výsledky poznámkového bloku pro poznámkové bloky běží interaktivně (ne jako úlohy), které jsou uložené v řídicí rovině. Ve výchozím nastavení se větší výsledky ukládají také do kořenového kontejneru pracovního prostoru. Azure Databricks můžete nakonfigurovat tak, aby ukládaly všechny výsledky interaktivního poznámkového bloku do vašeho cloudového účtu.
- Tajné kódy uložené rozhraními API správce tajných kódů
- Dotazy a historie dotazů SQL služby Databricks
- Osobní přístupové tokeny (PAT) nebo jiné přihlašovací údaje používané k nastavení integrace Gitu se složkami Databricks Git.
Po přidání šifrování klíče spravovaného zákazníkem pro pracovní prostor použije Azure Databricks váš klíč k řízení přístupu ke klíči, který šifruje budoucí operace zápisu do dat spravovaných služeb vašeho pracovního prostoru. Existující data nejsou znovu zašifrována. Šifrovací klíč dat se ukládá do mezipaměti pro několik operací čtení a zápisu a vyřadí se z paměti v pravidelných intervalech. Nové žádosti o tato data vyžadují další požadavek na systém správy klíčů cloudové služby. Pokud klíč odstraníte nebo odvoláte, čtení nebo zápis do chráněných dat selže na konci časového intervalu mezipaměti.
Klíč spravovaný zákazníkem můžete později otočit (aktualizovat). Viz Otočení klíče později.
Tato funkce nešifruje data uložená mimo řídicí rovinu. Další funkce klíčů spravovaných zákazníkem najdete v tématu Klíče spravované zákazníkem pro šifrování.
Požadavky
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: Nastavení služby Key Vault
Musíte vytvořit instanci služby Azure Key Vault a nastavit její oprávnění. Můžete to provést prostřednictvím webu Azure Portal, rozhraní příkazového řádku nebo rozhraní API.
Důležité
Key Vault musí být ve stejném tenantovi Azure jako váš pracovní prostor Azure Databricks.
Tyto pokyny nabízejí podrobnosti o několika možnostech nasazení:
Použití webu Azure Portal
- Vytvoření nebo výběr služby Key Vault:
- Pokud chcete vytvořit službu Key Vault, přejděte na stránku webu Azure Portal pro vytvoření služby Key Vault. Klikněte na + Vytvořit. Zadejte název skupiny prostředků, název služby Key Vault, oblast a cenovou úroveň. Klikněte na Zkontrolovat a vytvořit a pak klikněte na Vytvořit.
- Pokud chcete použít existující službu Key Vault, zkopírujte její název služby Key Vault pro další krok.
- Získejte ID objektu aplikace AzureDatabricks :
- Na webu Azure Portal přejděte na Microsoft Entra ID.
- V nabídce na bočním panelu vyberte Podnikové aplikace.
- Ve výsledcích vyhledejte
AzureDatabricks
a klikněte na podnikovou aplikaci. - Z části Vlastnosti zkopírujte ID objektu.
- Přidejte zásadu přístupu ke službě Key Vault pomocí webu Azure Portal:
Přejděte do služby Azure Key Vault, kterou použijete ke konfiguraci klíčů spravovaných zákazníkem pro spravované služby pro váš pracovní prostor.
Na levém panelu klikněte na kartu Zásady přístupu.
Vyberte tlačítko Vytvořit, které se nachází v horní části stránky.
V oddílu Oprávnění ke klíči povolte na kartě Oprávnění možnosti Získat, Rozbalit klíč a Sbalit klíč.
Klikněte na tlačítko Další.
Na kartě Objekt zabezpečení zadejte
AzureDatabricks
a posuňte se na první výsledek podnikové aplikace s ID aplikace a vyberte ho2ff814a6-3304-4ab8-85cb-cd0e6f879c1d
.Pokračujte na kartu Zkontrolovat a vytvořit a klikněte na b.
Použití Azure CLI
K dokončení následujících pokynů použijte Azure CLI.
Vytvořte službu Key Vault nebo vyberte existující službu Key Vault:
Pokud chcete vytvořit službu Key Vault, použijte následující příkaz Azure CLI a nahraďte položky v závorkách vaší oblastí, názvem služby Key Vault, názvem skupiny prostředků a umístěním:
az keyvault create --location <region> \ --name <key-vault-name> \ --resource-group <resource-group-name> \ --location <location> \ --enable-purge-protection
Pokud chcete použít existující službu Key Vault, zkopírujte název služby Key Vault pro další krok.
Získejte ID objektu aplikace AzureDatabricks pomocí Azure CLI.
az ad sp show --id "2ff814a6-3304-4ab8-85cb-cd0e6f879c1d" \ --query "id" \ --output tsv
Ověřte, že používáte správné předplatné Azure:
az account set --subscription {subscription_id}
Použití Azure PowerShellu
Můžete vytvořit novou službu Key Vault nebo použít existující trezor klíčů.
Vytvoření služby Key Vault:
$keyVault = New-AzKeyVault -Name <key-vault-name> \
-ResourceGroupName <resource-group-name> \
-Location <location> \
-sku <sku> \
-EnablePurgeProtection
Použijte existující službu Key Vault:
$keyVault = Get-AzKeyVault -VaultName <key-vault-name>
Krok 2: Příprava klíče
Můžete vytvořit klíč nebo použít existující klíč. Použijte libovolné nástroje, které chcete použít: Azure Portal, Azure CLI nebo jiné nástroje.
Použití Azure CLI
Vytvořte klíč ve službě Key Vault. KeyType musí být RSA.
Pokud chcete vytvořit klíč v rozhraní příkazového řádku, spusťte tento příkaz:
az keyvault key create --name <key-name> \
--vault-name <key-vault-name> \
--protection software
Poznamenejte si následující hodnoty, které můžete získat z ID klíče ve kid
vlastnosti v odpovědi. Použijete je v následujících krocích:
- Adresa URL trezoru klíčů: Počáteční část ID klíče, která obsahuje název služby Key Vault. Má formulář
https://<key-vault-name>.vault.azure.net
. - Název klíče: Název klíče.
- Verze klíče: Verze 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.
Pokud chcete místo vytvoření použít existující klíč, získejte a zkopírujte tyto hodnoty pro klíč, abyste je mohli použít v dalších krocích. Než budete pokračovat, zkontrolujte, že je váš existující klíč povolený.
Použití Azure PowerShellu
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>
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>
Přidejte zásadu přístupu s oprávněními ke službě Key Vault:
$managedService = Get-AzureADServicePrincipal \ -Filter "appId eq '2ff814a6-3304-4ab8-85cb-cd0e6f879c1d'" Set-AzKeyVaultAccessPolicy -VaultName $keyVault.VaultName \ -ObjectId $managedService.ObjectId \ -PermissionsToKeys wrapkey,unwrapkey,get
Krok 3: Přidání klíče do pracovního prostoru
Můžete nasadit nový pracovní prostor s klíčem spravovaným zákazníkem pro spravované služby nebo přidat klíč do existujícího pracovního prostoru. Obojí můžete provést pomocí Azure CLI, PowerShellu, šablon ARM, webu Azure Portal nebo jiných nástrojů. Tato část obsahuje podrobnosti o několika možnostech nasazení:
- Použití webu Azure Portal bez šablony
- Použití Azure CLI bez šablony
- Použití PowerShellu bez šablony
- Použití změn pomocí šablony ARM
Použití webu Azure Portal bez šablony
Přejděte na domovskou stránku webu Azure Portal.
V levém horním rohu stránky klikněte na Vytvořit prostředek .
Na panelu hledání zadejte
Azure Databricks
a klikněte na možnost Azure Databricks .Klikněte na Vytvořit ve widgetu Azure Databricks.
Zadejte hodnoty pro vstupní pole na kartách Základy a Sítě .
Po dosažení karty Šifrování :
- Pokud chcete vytvořit pracovní prostor, povolte v části Spravované služby vlastní klíč .
- Pokud chcete aktualizovat pracovní prostor, povolte spravované služby.
Nastavte pole šifrování.
- 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.
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).
Důležité
Pokud klíč otočíte, musíte nechat starý klíč dostupný po dobu 24 hodin.
Použití Azure CLI bez šablony
Pomocí následujícího příkazu přidejte zásadu přístupu do služby Key Vault. Nahraďte
<key-vault-name>
názvem trezoru, který jste použili v předchozím kroku, a nahraďte<object-id>
ID objektuAzureDatabricks
aplikace.az keyvault set-policy -n <key-vault-name> \ --key-permissions get wrapKey unwrapKey \ --object-id <object-id>
Vytvoření nebo aktualizace pracovního prostoru:
Pro vytvoření i aktualizaci přidejte do příkazu tato pole:
managed-services-key-name
: Název klíčemanaged-services-key-vault
: Identifikátor URI trezoru klíčůmanaged-services-key-version
: Verze klíče. Použijte konkrétní verzi klíče, nikolilatest
.
Příklad vytvoření pracovního prostoru pomocí těchto polí:
az databricks workspace create --name <workspace-name> \ --resource-group <resource-group-name> \ --location <location> \ --sku premium \ --managed-services-key-name <key-name> \ --managed-services-key-vault <key-vault-uri> \ --managed-services-key-version <key-version>
Příklad aktualizace pracovního prostoru pomocí těchto polí:
az databricks workspace update --name <workspace-name> \ --resource-group <resource-group-name> \ --managed-services-key-name <key-name> \ --managed-services-key-vault <key-vault-uri> \ --managed-services-key-version <key-version>
Důležité
Pokud klíč otočíte, musíte nechat starý klíč dostupný po dobu 24 hodin.
Použití PowerShellu bez šablony
Pokud chcete vytvořit nebo aktualizovat pracovní prostor, přidejte do příkazu nový klíč následující parametry:
ManagedServicesKeyVaultPropertiesKeyName
: Název klíčeManagedServicesKeyVaultPropertiesKeyVaultUri
: Identifikátor URI klíčeManagedServicesKeyVaultPropertiesKeyVersion
: Verze klíče. Použijte konkrétní verzi klíče, nikolilatest
.
Příklad vytvoření pracovního prostoru s těmito poli:
New-AzDatabricksWorkspace -Name <workspace-name> \
-ResourceGroupName <resource-group-name> \
-location $keyVault.Location \
-sku premium \
-ManagedServicesKeyVaultPropertiesKeyName $key.Name \
-ManagedServicesKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \
-ManagedServicesKeyVaultPropertiesKeyVersion $key.Version
Ukázková aktualizace pracovního prostoru s těmito poli:
Update-AzDatabricksWorkspace -Name <workspace-name> \
-ResourceGroupName <resource-group-name> \
-sku premium \
-ManagedServicesKeyVaultPropertiesKeyName $key.Name \
-ManagedServicesKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \
-ManagedServicesKeyVaultPropertiesKeyVersion $key.Version
Důležité
Pokud klíč otočíte, musíte nechat starý klíč dostupný po dobu 24 hodin.
Použití změn pomocí šablony ARM
Následující šablona ARM vytvoří nový pracovní prostor s klíčem spravovaným zákazníkem pomocí verze 2023-02-01
rozhraní API pro prostředek Microsoft.Databricks/workspaces
. Uložte tento text místně do souboru s názvem databricks-cmk-template.json
.
Tato ukázková šablona neobsahuje všechny možné funkce Azure Databricks, jako je například poskytnutí vlastní virtuální sítě , do které se má pracovní prostor nasadit.
Důležité
Pokud už šablonu používáte, sloučíte do stávající šablony další parametry, prostředky a výstupy této š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": [
"standard",
"premium"
],
"metadata": {
"description": "The pricing tier of workspace."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"apiVersion": {
"type": "string",
"defaultValue": "2023-02-01",
"allowedValues":[
"2023-02-01",
"2021-04-01-preview"
],
"metadata": {
"description": "The api version to create the workspace resources"
}
},
"keyvaultUri": {
"type": "string",
"metadata": {
"description": "The Key Vault URI for customer-managed key for managed services"
}
},
"keyName": {
"type": "string",
"metadata": {
"description": "The key name used for customer-managed key for managed services"
}
},
"keyVersion": {
"type": "string",
"metadata": {
"description": "The key version used for customer-managed key for managed services. Use the specific key version and not `latest`."
}
}
},
"variables": {
"managedResourceGroupName": "[concat('databricks-rg-', parameters('workspaceName'), '-', uniqueString(parameters('workspaceName'), resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Databricks/workspaces",
"name": "[parameters('workspaceName')]",
"location": "[parameters('location')]",
"apiVersion": "[parameters('apiVersion')]",
"sku": {
"name": "[parameters('pricingTier')]"
},
"properties": {
"ManagedResourceGroupId": "[concat(subscription().id, '/resourceGroups/', variables('managedResourceGroupName'))]",
"encryption": {
"entities": {
"managedServices": {
"keySource": "Microsoft.Keyvault",
"keyVaultProperties": {
"keyVaultUri": "[parameters('keyvaultUri')]",
"keyName": "[parameters('keyName')]",
"keyVersion": "[parameters('keyVersion')]"
}
}
}
}
}
}
],
"outputs": {
"workspace": {
"type": "object",
"value": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')))]"
}
}
}
Pokud už používáte jinou šablonu, můžete sloučit parametry, prostředky a výstupy této šablony do stávající šablony.
Pokud chcete tuto šablonu použít k vytvoření nebo aktualizaci pracovního prostoru, zvolte jednu z těchto možností nasazení:
Použití šablony pomocí Azure CLI
Pokud chcete vytvořit nový pracovní prostor pomocí Azure CLI, spusťte následující příkaz:
az deployment group create --resource-group <resource-group-name> \
--template-file <file-name>.json \
--parameters workspaceName=<new-workspace-name> \
keyvaultUri=<keyvaultUrl> \
keyName=<keyName> keyVersion=<keyVersion>
Poznámka:
Použijte konkrétní verzi klíče, nikoli latest
.
Pokud chcete existující pracovní prostor aktualizovat tak, aby používal pracovní prostor klíčů spravovaný zákazníkem (nebo abyste mohli stávající klíč otočit) pomocí Azure CLI:
Pokud vaše šablona ARM, která nasadila pracovní prostor, nikdy nepřidávala klíče spravované zákazníkem, přidejte
resources.properties.encryption
oddíl a související parametry. Viz šablona dříve v tomto článku.resources.properties.encryption
Přidejte oddíl ze šablony.parameters
V části přidejte tři nové parametrykeyvaultUri
keyName
akeyVersion
ze šablony.- V oddílu
parameters
odeberte"type": "string",
ze šablony.
Spusťte stejný příkaz jako pro vytvoření nového pracovního prostoru. Pokud je název skupiny prostředků a název pracovního prostoru identické s vaším existujícím pracovním prostorem, tento příkaz aktualizuje stávající pracovní prostor místo vytvoření nového pracovního prostoru.
az deployment group create --resource-group <existing-resource-group-name> \ --template-file <file-name>.json \ --parameters workspaceName=<existing-workspace-name> \ keyvaultUri=<keyvaultUrl> \ keyName=<keyName> keyVersion=<keyVersion>
Kromě změn v parametrech souvisejících s klíči použijte stejné parametry, které byly použity k vytvoření pracovního prostoru.
Důležité
Pokud klíč otočíte, musíte nechat starý klíč dostupný po dobu 24 hodin.
Použití šablony pomocí webu Azure Portal
Použití šablony na webu Azure Portal k vytvoření nebo aktualizaci pracovního prostoru:
Přejděte na stránku Vlastní nasazení .
V editoru klikněte na Vytvořit vlastní šablonu.
Vložte json.
Klikněte na Uložit.
Vyplňte parametry.
Pokud chcete aktualizovat existující pracovní prostor, použijte stejné parametry, které jste použili k vytvoření pracovního prostoru. Pokud chcete klíč přidat poprvé, přidejte tři parametry související s klíči. Pokud chcete klíč otočit, změňte některé nebo všechny parametry související s klíči. Ujistěte se, že název skupiny prostředků a název pracovního prostoru jsou shodné s vaším existujícím pracovním prostorem. Pokud jsou stejné, tento příkaz aktualizuje existující pracovní prostor místo vytvoření nového pracovního prostoru.
Kromě změn v parametrech souvisejících s klíči použijte stejné parametry, které byly použity k vytvoření pracovního prostoru.
Klikněte na Zkontrolovat a vytvořit.
Pokud neexistují žádné problémy s ověřením, klikněte na Vytvořit.
Důležité
Pokud klíč otočíte, musíte nechat starý klíč dostupný po dobu 24 hodin.
Další podrobnosti najdete v článku Azure Rychlý start: Vytvoření a nasazení šablon ARM pomocí webu Azure Portal.
Krok 4 (volitelné): Opětovné import poznámkových bloků
Po počátečním přidání klíče pro spravované služby pro existující pracovní prostor budou klíč používat jenom budoucí operace zápisu. Existující data nejsou znovu zašifrována.
Všechny poznámkové bloky můžete exportovat a pak je znovu importovat, aby klíč, který šifruje data, je chráněný a řízený vaším klíčem. Můžete použít rozhraní API pro export a import pracovních prostorů.
Otočení klíče později
Pokud už používáte klíč spravovaný zákazníkem pro spravované služby, můžete pracovní prostor aktualizovat novou verzí klíče nebo zcela novým klíčem. Tomu se říká obměna klíčů.
Vytvořte nový klíč nebo obměňte existující klíč ve službě Key Vault. Viz Krok 1: Nastavení trezoru Azure Key Vault.
Ujistěte se, že nový klíč má správná oprávnění.
Ověřte, že vaše šablona má správnou verzi rozhraní API. Musí být roven nebo vyšší než
2021-04-01-preview
.Aktualizujte pracovní prostor pomocí nového klíče pomocí portálu, rozhraní příkazového řádku nebo PowerShellu. Viz krok 3: Přidejte do pracovního prostoru klíč a postupujte podle pokynů pro aktualizaci pracovního prostoru. Ujistěte se, že pro název skupiny prostředků a název pracovního prostoru používáte stejné hodnoty, aby aktualizoval existující pracovní prostor, a nevytvoli nový pracovní prostor. Kromě změn v parametrech souvisejících s klíči použijte stejné parametry, které byly použity k vytvoření pracovního prostoru.
Důležité
Pokud klíč otočíte, musíte nechat starý klíč dostupný po dobu 24 hodin.
Volitelně můžete exportovat a znovu importovat existující poznámkové bloky, abyste měli jistotu, že všechny existující poznámkové bloky používají nový klíč.
Řešení problému
Náhodné odstranění klíče
Pokud odstraníte klíč ve službě Azure Key Vault, přihlášení k pracovnímu prostoru se nezdaří a Azure Databricks nebude číst žádné poznámkové bloky. Pokud se tomu chcete vyhnout, doporučujeme povolit obnovitelné odstranění. Tato možnost zajišťuje, že v případě odstranění klíče je možné ho do 30 dnů obnovit. Pokud je povolené obnovitelné odstranění, můžete tento problém snadno vyřešit opětovným povolením klíče.
Selhání aktualizace klíče kvůli oprávněním služby Key Vault
Pokud máte potíže s vytvořením pracovního prostoru, zkontrolujte, jestli má služba Key Vault správná oprávnění. Chyba, která je vrácena z Azure, to nemusí správně indikovat, jako kořenovou příčinu. Požadovaná oprávnění jsou get
také , wrapKey
a unwrapKey
. Viz Krok 1: Nastavení trezoru Azure Key Vault.
Ztracené klíče jsou neobnovitelné
Pokud svůj klíč ztratíte a nemůžete ho obnovit, nebude možné obnovit žádná data poznámkových bloků šifrovaná tímto klíčem.