次の方法で共有


管理サービス用に HSM カスタマー マネージド キーを有効にする

Note

この機能を使用するには、Premium プランが必要です。

この記事では、Azure Key Vault マネージド HSM から独自のキーを構成する方法について説明します。 Azure Key Vault コンテナーからのキーの使用手順については、「管理サービス用にカスタマー マネージド キーを有効にする」を参照してください。

要件

手順 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 を使用する

  1. Azure portal で、Managed HSM リソースに移動します。
  2. 左側のメニューの [設定] で、[ローカル RBAC] を選びます。
  3. 追加をクリックします。
  4. [ロール] フィールドで、[Managed HSM 暗号化サービスの暗号化ユーザー] を選択します。
  5. [スコープ] フィールドで、All keys (/) を選択します。
  6. [セキュリティ プリンシパル] フィールドで、AzureDatabricks と入力し、アプリケーション IDが 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d のエンタープライズ アプリケーションの結果までスクロールして、それを選択します。
  7. Create をクリックしてください。
  8. 左側のメニューの [設定] で、[キー] を選択し、キーを選択します。
  9. [キー識別子] フィールドで、テキストをコピーします。

Azure CLI の使用

  1. Azure CLI を使用して、AzureDatabricks アプリケーションのオブジェクト ID を取得します。

    az ad sp show --id "2ff814a6-3304-4ab8-85cb-cd0e6f879c1d" \
                    --query "id" \
                    --output tsv
    
  2. 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> を Managed 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 を使用する

  1. Azure portal ホームページにアクセスします。

  2. ページの左上隅の [リソースの作成] をクリックします。

  3. 検索バーに「Azure Databricks」と入力し、[Azure Databricks] オプションをクリックします。

  4. Azure Databricks ウィジェットの [作成] をクリックします。

  5. [基本][ネットワーク] タブの入力フィールドの値を入力します。

  6. [暗号化] タブに移動したら、次のようにします。

    • ワークスペースを作成するには、[マネージド サービス] セクションで [独自のキーを使用する] を有効にします。
    • ワークスペースを更新するには、[マネージド サービス] を有効にします。
  7. 暗号化フィールドを設定します。

    Show fields in the Managed Disks section of the Azure Databricks blade

    • [キー識別子] フィールドに、Managed HSM キーのキー識別子を貼り付けます。
    • [サブスクリプション] ドロップダウンに、Azure Key Vault キーのサブスクリプション名を入力します。
  8. 残りのタブに入力し、[確認および作成] (新しいワークスペースの場合) または [保存] (ワークスペースを更新する場合) をクリックします。

Azure CLI を使用する

ワークスペースを作成または更新します。

作成と更新のいずれの場合も、次のフィールドをコマンドに追加します。

  • managed-services-key-name: Managed HSM 名
  • managed-services-key-vault: Managed HSM URI
  • managed-services-key-version: Managed HSM のバージョン

これらのフィールドを使用したワークスペース作成例:

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 URI
  • ManagedServicesKeyVaultPropertiesKeyVersion: Managed HSM のバージョン

これらのフィールドを使用したワークスペース作成例:

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 のエクスポートとインポートに関する記事を使用できます。

後でキーをロテーションする

管理サービスに既にカスタマー マネージド キーを使用している場合は、新しいキー バージョンまたはまったく新しいキーを使用してワークスペースを更新できます。 これは、"キーのローテーション" と呼ばれます。

  1. マネージド HSM で新しいキーを作成するか、既存のキーを回転します。

    新しいキーに適切なアクセス許可があることを確認してください。

  2. ポータル、CLI、または PowerShell を使用して、新しいキーでワークスペースを更新します。 「手順 3: ワークスペースにキーを追加する」を参照し、ワークスペースの更新の手順に従います。 新しいワークスペースを作成するのではなく、必ずリソース グループ名とワークスペース名に同じ値を使用して既存のワークスペースを更新するようにしてください。 キー関連パラメーターの変更以外にも、ワークスペースの作成に使用したものと同じパラメーターを使用してください。

    重要

    キーをローテーションした場合、古いキーを 24 時間使用可能な状態にしておく必要があります。

  3. 必要に応じて、既存のすべてのノートブックで新しいキーを使用するように、既存のノートブックをエクスポートして再インポートします。