Konfigurieren von kundenseitig verwalteten Schlüsseln für DBFS mithilfe der Azure CLI
Hinweis
Dieses Feature ist nur im Premium-Plan verfügbar.
Sie können die Azure CLI verwenden, um Ihren eigenen Verschlüsselungsschlüssel zum Verschlüsseln des Speicherkontos des Arbeitsbereichs zu konfigurieren. In diesem Artikel wird beschrieben, wie Sie Ihren eigenen Schlüssel aus Azure Key Vault-Tresoren konfigurieren. Anweisungen zur Verwendung eines Schlüssels aus Azure Key Vault Managed HSM finden Sie unter Konfigurieren von kundenseitig verwalteten HSM-Schlüsseln für DBFS mithilfe der Azure CLI.
Weitere Informationen zu kundenseitig verwalteten Schlüsseln für DBFS finden Sie unter Kundenseitig verwaltete Schlüssel für den DBFS-Stamm.
Installieren der Azure Databricks CLI-Erweiterung
Installieren Sie als Nächstes die Azure Databricks CLI-Erweiterung.
az extension add --name databricks
Vorbereiten eines neuen oder vorhandenen Azure Databricks-Arbeitsbereichs für die Verschlüsselung
Ersetzen Sie die Platzhalterwerte in den Klammern durch Ihre eigenen Werte. <workspace-name>
ist der Ressourcenname, so wie im Azure-Portal dargestellt.
az login
az account set --subscription <subscription-id>
Vorbereiten der Verschlüsselung während der Erstellung des Arbeitsbereichs:
az databricks workspace create --name <workspace-name> --location <workspace-location> --resource-group <resource-group> --sku premium --prepare-encryption
Vorbereiten eines vorhandenen Arbeitsbereichs für die Verschlüsselung:
az databricks workspace update --name <workspace-name> --resource-group <resource-group> --prepare-encryption
Beachten Sie das Feld principalId
im Abschnitt storageAccountIdentity
der Befehlsausgabe. Sie geben es als Wert für die verwaltete Identität an, wenn Sie Ihren Schlüsseltresor konfigurieren.
Weitere Informationen zu Azure CLI-Befehlen für Azure Databricks-Arbeitsbereiche finden Sie in der Befehlsreferenz zum Azure Databricks-Arbeitsbereich.
Erstellen eines neuen Schlüsseltresors
Für den Schlüsseltresor, den Sie zum Speichern von kundenseitig verwalteten Schlüsseln für den DBFS-Stamm verwenden, müssen zwei wichtige Schutzeinstellungen aktiviert sein: Vorläufiges Löschen und Löschschutz. Führen Sie die folgenden Befehle aus, um einen neuen Schlüsseltresor mit diesen aktivierten Einstellungen zu erstellen.
Wichtig
Key Vault muss sich im selben Azure-Mandanten wie Ihr Azure Databricks-Arbeitsbereich befinden.
Ersetzen Sie die Platzhalterwerte in den Klammern durch Ihre eigenen Werte.
az keyvault create \
--name <key-vault> \
--resource-group <resource-group> \
--location <region> \
--enable-soft-delete \
--enable-purge-protection
Weitere Informationen zum Aktivieren des vorläufigen Löschens und des Löschschutzes mithilfe der Azure CLI finden Sie unter Verwenden des vorläufigen Löschens in Key Vault mit der CLI.
Konfigurieren der Key Vault-Zugriffsrichtlinie
Legen Sie mithilfe des Befehls az keyvault set-policy die Zugriffsrichtlinie für den Schlüsseltresor fest, damit der Azure Databricks-Arbeitsbereich über die Zugriffsberechtigung verfügt.
Ersetzen Sie die Platzhalterwerte in den Klammern durch Ihre eigenen Werte.
az keyvault set-policy \
--name <key-vault> \
--resource-group <resource-group> \
--object-id <managed-identity> \
--key-permissions get unwrapKey wrapKey
Ersetzen Sie <managed-identity>
durch den Wert principalId
, den Sie sich notiert haben, als Sie Ihren Arbeitsbereich für die Verschlüsselung vorbereitet haben.
Erstellen eines neuen Schlüssels
Führen Sie den Befehl az keyvault key create aus, um einen Schlüssel im Schlüsseltresor zu erstellen.
Ersetzen Sie die Platzhalterwerte in den Klammern durch Ihre eigenen Werte.
az keyvault key create \
--name <key> \
--vault-name <key-vault>
Der DBFS-Stammspeicher unterstützt RSA- und RSA-HSM-Schlüssel mit einer Größe von 2.048, 3.072 und 4.096 Bit. Weitere Informationen zu Schlüsseln finden Sie unter Informationen zu Azure Key Vault-Schlüsseln.
Konfigurieren der DBFS-Verschlüsselung mit kundenseitig verwalteten Schlüsseln
Konfigurieren Sie Ihren Azure Databricks-Arbeitsbereich so, dass der Schlüssel verwendet wird, den Sie in Ihrer Azure Key Vault-Instanz erstellt haben.
Ersetzen Sie die Platzhalterwerte in den Klammern durch Ihre eigenen Werte.
key_vault_uri=$(az keyvault show \
--name <key-vault> \
--resource-group <resource-group> \
--query properties.vaultUri \
--output tsv)
key_version=$(az keyvault key list-versions \
--name <key> \ --vault-name <key-vault> \
--query [-1].kid \
--output tsv | cut -d '/' -f 6)
az databricks workspace update --name <workspace-name> --resource-group <resource-group> --key-source Microsoft.KeyVault --key-name <key> --key-vault $key_vault_uri --key-version $key_version
Deaktivieren von vom Kunden verwalteten Schlüsseln
Wenn Sie kundenseitig verwaltete Schlüssel deaktivieren, wird Ihr Speicherkonto wieder mit von Microsoft verwalteten Schlüsseln verschlüsselt.
Ersetzen Sie die Platzhalterwerte in Klammern durch Ihre eigenen Werte, und verwenden Sie die in den vorherigen Schritten definierten Variablen.
az databricks workspace update --name <workspace-name> --resource-group <resource-group> --key-source Default