管理サービス用に HSM カスタマー マネージド キーを有効にする
Note
この機能を使用するには、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
: Managed HSM URImanaged-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
: Managed HSM URIManagedServicesKeyVaultPropertiesKeyVersion
: 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 時間使用可能な状態にしておく必要があります。
必要に応じて、既存のすべてのノートブックで新しいキーを使用するように、既存のノートブックをエクスポートして再インポートします。