共用方式為


使用 Azure CLI 為 DBFS 設定客戶管理的金鑰

注意

此功能僅適用於 進階方案

您可以使用 Azure CLI 來設定自己的加密金鑰來加密工作區記憶體帳戶。 本文說明如何從 Azure 金鑰保存庫 儲存庫設定您自己的金鑰。 如需從 Azure 金鑰保存庫 受控 HSM 使用金鑰的指示,請參閱使用 Azure CLI 設定 DBFS 的 HSM 客戶自控密鑰。

如需 DBFS 客戶自控密鑰的詳細資訊,請參閱 DBFS 根目錄的客戶自控密鑰。

安裝 Azure Databricks CLI 擴充功能

  1. 安裝 Azure CLI

  2. 安裝 Azure Databricks CLI 擴充功能。

    az extension add --name databricks
    

準備新的或現有的 Azure Databricks 工作區以進行加密

將括弧中的預留位置值取代為您自己的值。 <workspace-name>是資源名稱,如 Azure 入口網站 所示。

az login
az account set --subscription <subscription-id>

準備在工作區建立期間進行加密:

az databricks workspace create --name <workspace-name> --location <workspace-location> --resource-group <resource-group> --sku premium --prepare-encryption

準備現有的工作區以進行加密:

az databricks workspace update --name <workspace-name> --resource-group <resource-group> --prepare-encryption

記下 principalId 命令輸出區段中的欄位 storageAccountIdentity 。 當您設定 金鑰保存庫 時,您會提供它作為受控識別值。

如需 Azure Databricks 工作區之 Azure CLI 命令的詳細資訊,請參閱 az databricks workspace 命令參考

建立新的金鑰保存庫

您用來儲存 DBFS 根目錄客戶自控金鑰的 金鑰保存庫 必須啟用兩個金鑰保護設定:虛刪除清除保護。 若要建立已啟用這些設定的新 金鑰保存庫,請執行下列命令。

重要

Key Vault 與 Azure Databricks 工作區必須位於相同的 Azure 租用戶中。

將括弧中的預留位置值取代為您自己的值。

az keyvault create \
        --name <key-vault> \
        --resource-group <resource-group> \
        --location <region> \
        --enable-soft-delete \
        --enable-purge-protection

如需使用 Azure CLI 啟用虛刪除和清除保護的詳細資訊,請參閱如何搭配 CLI 使用 金鑰保存庫 虛刪除。

設定 金鑰保存庫 存取原則

使用 az keyvault set-policy 命令,設定 金鑰保存庫 的存取原則,讓 Azure Databricks 工作區有權存取它。

將括弧中的預留位置值取代為您自己的值。

az keyvault set-policy \
        --name <key-vault> \
        --resource-group <resource-group> \
        --object-id <managed-identity>  \
        --key-permissions get unwrapKey wrapKey

將取代<managed-identity>為您principalId備妥工作區以進行加密所注意到的值。

建立新的金鑰

使用 az keyvault key create 命令,在 金鑰保存庫 中建立密鑰。

將括弧中的預留位置值取代為您自己的值。

az keyvault key create \
       --name <key> \
       --vault-name <key-vault>

DBFS 根記憶體支援大小為 2048、3072 和 4096 的 RSA 和 RSA-HSM 金鑰。 如需金鑰的相關詳細資訊,請參閱關於金鑰保存庫金鑰

使用客戶管理的金鑰設定 DBFS 加密

設定您的 Azure Databricks 工作區,以使用您在 Azure 金鑰保存庫 中建立的密鑰。

將括弧中的預留位置值取代為您自己的值。

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

停用客戶自控金鑰

當您停用客戶管理的密鑰時,記憶體帳戶會再次使用Microsoft管理的密鑰加密。

以您自己的值取代括弧中的佔位元值,並使用先前步驟中定義的變數。

az databricks workspace update --name <workspace-name> --resource-group <resource-group> --key-source Default