注
この機能を使用するには、Premium プランが必要です。
この記事では、Azure Key Vault マネージド HSM から独自のキーを構成する方法について説明します。 Azure Key Vault コンテナーからのキーの使用手順については、「管理サービス用にカスタマー マネージド キーを有効にする」を参照してください。
要件
これらのタスクに Azure CLI を使用するには、 Azure CLI ツールをインストール し、Databricks 拡張機能をインストールします。
az extension add --name databricks
これらのタスクに Powershell を使用するには、Azure PowerShellをインストールし、Databricks Powershell モジュールをインストールします。 また、ログインが必要です。
Connect-AzAccount
ユーザーとして Azure アカウントにログインするには、「Azure Databricks ユーザー アカウントで PowerShell にログインする」を参照してください。 Azure アカウントにサービス プリンシパルとしてログインするには、「Microsoft Entra ID サービス プリンシパルを使った PowerShell ログイン」を参照してください。
手順 1: Azure Key Vault Managed HSM と HSM キーを作成する
既存の Azure Key Vault Managed HSM を使用することも、Managed HSM ドキュメントのクイックスタートに従って新しい Azure を作成してアクティブ化することもできます。 「クイック スタート: Azure CLI を使用して Managed HSM をプロビジョニングしてアクティブにする」を参照してください。 Azure Key Vault Managed HSM では、消去保護が有効になっている必要があります。
重要
Key Vault は、Azure Databricks ワークスペースと同じ Azure テナント内にある必要があります。
HSM キーを作成するには、「HSM キーを作成する」に従ってください。
手順 2: マネージド HSM ロールの割り当てを構成する
Azure Databricks ワークスペースからアクセスできるように、Key Vault マネージド HSM 向けのロールの割り当てを構成します。 ロールの割り当ては、Azure portal、Azure CLI、または Azure PowerShell を使用して構成できます。
Azure portal を使用する
- Azure portal で、Managed HSM リソースに移動します。
- 左側のメニューの [設定] で、[ローカル RBAC] を選びます。
- 追加をクリックします。
- [ロール] フィールドで、[Managed HSM 暗号化サービスの暗号化ユーザー] を選択します。
-
[スコープ] フィールドで、
All keys (/)
を選択します。 -
[セキュリティ プリンシパル] フィールドで、
AzureDatabricks
と入力し、アプリケーション IDが2ff814a6-3304-4ab8-85cb-cd0e6f879c1d
のエンタープライズ アプリケーションの結果までスクロールして、それを選択します。 - Create をクリックしてください。
- 左側のメニューの [設定] で、[キー] を選択し、キーを選択します。
- [キー識別子] フィールドで、テキストをコピーします。
Azure CLI の使用
Azure CLI を使用して、AzureDatabricks アプリケーションのオブジェクト ID を取得します。
az ad sp show --id "2ff814a6-3304-4ab8-85cb-cd0e6f879c1d" \ --query "id" \ --output tsv
Managed HSM ロールの割り当てを構成します。
<hsm-name>
を マネージド HSM 名に置き換え、<object-id>
を前の手順のAzureDatabricks
アプリケーションの オブジェクト ID に置き換えます。az keyvault role assignment create --role "Managed HSM Crypto Service Encryption User" --scope "/" --hsm-name <hsm-name> --assignee-object-id <object-id>
Azure PowerShell の使用
<hsm-name>
をマネージド HSM 名に置き換えます。
Connect-AzureAD
$managedService = Get-AzureADServicePrincipal \
-Filter "appId eq '2ff814a6-3304-4ab8-85cb-cd0e6f879c1d'"
New-AzKeyVaultRoleAssignment -HsmName <hsm-name> \
-RoleDefinitionName "Managed HSM Crypto Service Encryption User" \
-ObjectId $managedService.ObjectId
手順 3: ワークスペースにキーを追加する
Azure portal、Azure CLI、または Azure PowerShell を使用して、マネージド サービスのカスタマー マネージド キーを使用してワークスペースを作成または更新できます。
Azure portal を使用する
Azure portal ホームページにアクセスします。
ページの左上隅の [リソースの作成] をクリックします。
検索バーに「
Azure Databricks
」と入力し、[Azure Databricks] オプションをクリックします。Azure Databricks ウィジェットの [作成] をクリックします。
[基本] と [ネットワーク] タブの入力フィールドの値を入力します。
[暗号化] タブに移動したら、次のようにします。
- ワークスペースを作成するには、[マネージド サービス] セクションで [独自のキーを使用する] を有効にします。
- ワークスペースを更新するには、[マネージド サービス] を有効にします。
暗号化フィールドを設定します。
- [キー識別子] フィールドに、Managed HSM キーのキー識別子を貼り付けます。
- [サブスクリプション] ドロップダウンに、Azure Key Vault キーのサブスクリプション名を入力します。
残りのタブに入力し、[確認および作成] (新しいワークスペースの場合) または [保存] (ワークスペースを更新する場合) をクリックします。
Azure CLI を使用する
ワークスペースを作成または更新します。
作成と更新のいずれの場合も、次のフィールドをコマンドに追加します。
-
managed-services-key-name
: Managed HSM 名 -
managed-services-key-vault
: マネージド HSM URI -
managed-services-key-version
: Managed HSM のバージョン。latest
ではなく、特定のキー バージョンを使用します。
これらのフィールドを使用したワークスペース作成例:
az databricks workspace create --name <workspace-name> \
--resource-group <resource-group-name> \
--location <location> \
--sku premium \
--managed-services-key-name <hsm-name> \
--managed-services-key-vault <hsm-uri> \
--managed-services-key-version <hsm-version>
これらのフィールドを使用したワークスペース更新例:
az databricks workspace update --name <workspace-name> \
--resource-group <resource-group-name> \
--managed-services-key-name <hsm-name> \
--managed-services-key-vault <hsm-uri> \
--managed-services-key-version <hsm-version>
重要
キーをローテーションした場合、古いキーを 24 時間使用可能な状態にしておく必要があります。
PowerShell を使用する
ワークスペースを作成または更新するには、新しいキーのコマンドに次のパラメーターを追加します。
-
ManagedServicesKeyVaultPropertiesKeyName
: Managed HSM 名 -
ManagedServicesKeyVaultPropertiesKeyVaultUri
: 管理された HSM URI -
ManagedServicesKeyVaultPropertiesKeyVersion
: Managed HSM のバージョン。latest
ではなく、特定のキー バージョンを使用します。
これらのフィールドを使用したワークスペース作成例:
New-AzDatabricksWorkspace -Name <workspace-name> \
-ResourceGroupName <resource-group-name> \
-location $keyVault.Location \
-sku premium \
-ManagedServicesKeyVaultPropertiesKeyName $hsm.Name \
-ManagedServicesKeyVaultPropertiesKeyVaultUri $hsm.Uri \
-ManagedServicesKeyVaultPropertiesKeyVersion $hsm.Version
これらのフィールドを使用したワークスペース更新例:
Update-AzDatabricksWorkspace -Name <workspace-name> \
-ResourceGroupName <resource-group-name> \
-sku premium \
-ManagedServicesKeyVaultPropertiesKeyName $hsm.Name \
-ManagedServicesKeyVaultPropertiesKeyVaultUri $hsm.VaultUri \
-ManagedServicesKeyVaultPropertiesKeyVersion $hsm.Version
重要
キーをローテーションした場合、古いキーを 24 時間使用可能な状態にしておく必要があります。
手順 4 (省略可能): ノートブックを再インポートする
既存のワークスペースの管理サービス向けに最初にキーを追加した後は、キーが使用されるのは、今後の書き込み操作のみです。 既存のデータは再暗号化されません。
すべてのノートブックをエクスポートしてから再インポートして、データを暗号化するキーがキーによって保護および制御されるようにすることができます。 ワークスペース API のエクスポートとインポートに関する記事を使用できます。
後でキーをロテーションする
管理サービスに既にカスタマー マネージド キーを使用している場合は、新しいキー バージョンまたはまったく新しいキーを使用してワークスペースを更新できます。 これは、"キーのローテーション" と呼ばれます。
マネージド HSM で新しいキーを作成するか、既存のキーを回転します。
新しいキーに適切なアクセス許可があることを確認してください。
ポータル、CLI、または PowerShell を使用して、新しいキーでワークスペースを更新します。 「手順 3: ワークスペースにキーを追加する」を参照し、ワークスペースの更新の手順に従います。 新しいワークスペースを作成するのではなく、必ずリソース グループ名とワークスペース名に同じ値を使用して既存のワークスペースを更新するようにしてください。 キー関連パラメーターの変更以外にも、ワークスペースの作成に使用したものと同じパラメーターを使用してください。
重要
キーをローテーションした場合、古いキーを 24 時間使用可能な状態にしておく必要があります。
必要に応じて、既存のすべてのノートブックで新しいキーを使用するように、既存のノートブックをエクスポートして再インポートします。