Azure CLI を使用して DBFS 用のカスタマー マネージド キーを構成する
注意
この機能は、Premium プランでのみ使用できます。
Azure CLI を使用して独自の暗号化キーを構成し、ワークスペース ストレージ アカウントを暗号化することができます。 この記事では、Azure Key Vault コンテナーから独自のキーを構成する方法について説明します。 Azure Key Vault マネージド HSM からのキーの使用手順については、「Azure CLI を使用して DBFS 用の HSM カスタマー マネージド キーを構成する」をご覧ください。
DBFS のカスタマー マネージド キーの詳細については、「DBFS ルート用のカスタマー マネージド キー」 をご覧ください。
Azure Databricks CLI 拡張機能をインストールします。
Azure CLI のインストールを実行します。
Azure Databricks CLI 拡張機能をインストールします。
az extension add --name databricks
新規または既存の Azure Databricks ワークスペースを暗号化用に準備する
かっこ内のプレースホルダー値は独自の値に置き換えてください。 <workspace-name>
は、Azure portal に表示されるリソース名です。
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
コマンドの出力の storageAccountIdentity
セクションの principalId
フィールドに注意してください。 キー コンテナーを構成するときに、管理対象 ID の値として指定します。
Azure Databricks ワークスペースの Azure CLI コマンドの詳細については、「az Databricksワークスペース コマンドのリファレンス」を参照してください。
新しいキー コンテナーを作成する
DBFS ルートのカスタマー マネージド キーの保存に使用する Key Vault では、2 つのキー保護設定 ([論理的な削除] と [消去保護]) を有効にする必要があります。 これらの設定を有効にして新しいキー コンテナーを作成するには、次のコマンドを実行します。
重要
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 キーがサポートされています。 キーの詳細については、「Key Vault のキーについて」を参照してください。
カスタマー マネージド キーによる DEFS 暗号化を構成する
Azure Databricks ワークスペースを構成して、Azure Key Vault で作成したキーを使用します。
かっこ内のプレースホルダー値は独自の値に置き換えてください。
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