Share via


Azure マネージド ディスク用の HSM カスタマー マネージド キーの構成

コンピューティング プレーン内の Azure Databricks コンピューティング ワークロードは、Azure マネージド ディスクに一時データを保存します。 既定では、マネージド ディスクの格納データは、Microsoft のマネージド キーでサーバー側暗号化を使用して保存時に暗号化されます。 この記事では、マネージド ディスクの暗号化に使用する Azure Databricks ワークスペース用の Azure Key Vault HSM からカスタマー マネージド キーを構成する方法について説明します。 Azure Key Vault コンテナーからのキーの使用手順については、「Azure マネージド ディスクのカスタマー マネージド キーを構成する」を参照してください。

重要

  • マネージド ディスク ストレージのカスタマー マネージド キーはデータ ディスクに適用されますが、オペレーティング システム (OS) ディスクには適用 "されません"。
  • マネージド ディスク ストレージのカスタマー マネージド キーは、サーバーレス SQL ウェアハウスモデルの提供などのサーバーレス コンピューティング リソースには適用 "されません"。 サーバーレス コンピューティング リソースに使用されるディスクは有効期間が短く、サーバーレス ワークロードのライフサイクルに関連付けられています。 コンピューティング リソースが停止またはスケールダウンされると、VM とそのストレージは破棄されます。

必要条件

手順 1: Azure Key Vault Managed HSM と HSM キーを作成する

既存の Azure Key Vault Managed HSM を使用することも、Managed HSM ドキュメントのクイックスタートに従って新しい Azure を作成してアクティブ化することもできます。 「クイック スタート: Azure CLI を使用して Managed HSM をプロビジョニングしてアクティブにする」を参照してください。 Azure Key Vault Managed HSM では、消去保護が有効になっている必要があります。

HSM キーを作成するには、「HSM キーを作成する」に従ってください。

手順 2: すべてのコンピューティング リソースを停止する (ワークスペースを更新して最初にキーを追加する場合)

最初に既存のワークスペースにマネージド ディスク用のカスタマー マネージド キーを追加する場合は、更新前にすべてのコンピューティング リソース (クラスター、プール、クラシックまたはプロ SQL ウェアハウス) を停止します。

更新が完了したら、停止したコンピューティング リソースを開始できます。 マネージド ディスク用のカスタマー マネージド キーがワークスペースに既にある場合は、コンピューティング リソースを終了せずにキーを "ローテーション" できます。

手順 3: ワークスペースを作成または更新する

Azure portal、Azure CLI、または Azure PowerShell を使用して、マネージド ディスクのカスタマー マネージド キーを使用してワークスペースを作成または更新できます。

Azure portal を使用する

このセクションでは、Azure portal を使用して、マネージド ディスク用のカスタマー マネージド キーでワークスペースを作成または更新する方法について説明します。

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

    キーを使用して新しいワークスペースを作成します。

    1. Azure Portal のホームページに移動し、ページの左上隅にある [リソースの作成] をクリックします。
    2. 検索バーに「Azure Databricks」と入力し、[Azure Databricks] をクリックします。
    3. Azure Databricks ウィジェット内から [作成] を選択します。
    4. [基本] タブと [ネットワーク] タブのフォーム フィールドに値を入力します。
    5. [暗号化] タブの [マネージド ディスク] セクションで [独自のキーを使用する] チェック ボックスをオンにします。

    最初に、既存のワークスペースにキーを追加します。

    1. Azure Databricks の Azure portal のホーム ページに移動します。
    2. 既存の Azure Databricks ワークスペースに移動します。
    3. 左側のパネルから [暗号化] タブを開きます。
    4. [カスタマー マネージド キー] セクションで [マネージド ディスク] を有効にします。
  2. 暗号化フィールドを設定します。

    Azure Databricks ブレードの [マネージド ディスク] セクションのフィールドを表示

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

  4. ワークスペースが展開されたら、新しい Azure Databricks ワークスペースに移動します。

  5. Azure Databricks ワークスペースの [概要] タブで、[管理対象リソース グループ] をクリックします。

  6. 管理対象リソース グループの [概要] タブで、このリソース グループに作成された [ディスク暗号化セット] という種類のオブジェクトを探します。 そのディスク暗号化セットの名前をコピーします。

Azure CLI を使用する

新規および更新されたワークスペースのどちらの場合も、以下のパラメーターをコマンドに追加します。

  • disk-key-name: Managed HSM 名
  • disk-key-vault: Managed HSM URI
  • disk-key-version: Managed HSM のバージョン
  • disk-key-auto-rotation: キーの自動ローテーションの有効化 (true または false)。 このフィールドはオプションです。 既定値は、false です。
  1. ワークスペースを作成または更新します。

    • これらのマネージド ディスク パラメーターを使用してワークスペースを作成する例:

      az databricks workspace create --name <workspace-name> \
      --resource-group <resource-group-name> \
      --location <location> \
      --sku premium --disk-key-name <hsm-name> \
      --disk-key-vault <hsm-uri> \
      --disk-key-version <hsm-version> \
      --disk-key-auto-rotation <true-or-false>
      
    • これらのマネージド ディスク パラメーターを使用してワークスペースを更新する例:

      az databricks workspace update \
      --name <workspace-name> \
      --resource-group <resource-group-name> \
      --disk-key-name <hsm-name> \
      --disk-key-vault <hsm-uri> \
      --disk-key-version <hsm-version> \
      --disk-key-auto-rotation <true-or-false>
      

    これらのどちらのコマンドの出力にも、managedDiskIdentity オブジェクトがあります。 このオブジェクト内の principalId プロパティの値を保存します。 これは、後の手順でプリンシパル ID として使用されます。

PowerShell を使用する

新規および更新されたワークスペースのどちらの場合も、以下のパラメーターをコマンドに追加します。

  • location: ワークスペースの場所
  • ManagedDiskKeyVaultPropertiesKeyName: Managed HSM 名
  • ManagedDiskKeyVaultPropertiesKeyVaultUri: Managed HSM URI
  • ManagedDiskKeyVaultPropertiesKeyVersion: Managed HSM のバージョン
  • ManagedDiskRotationToLatestKeyVersionEnabled: キーの自動ローテーションの有効化 (true または false)。 このフィールドはオプションです。 既定値は false です。
  1. ワークスペースを作成または更新します。
    • マネージド ディスク パラメーターを使用してワークスペースを作成する例:

      $workspace = New-AzDatabricksWorkspace -Name <workspace-name> \
      -ResourceGroupName <resource-group-name> \
      -location <location> \
      -Sku premium \
      -ManagedDiskKeyVaultPropertiesKeyName <key-name> \
      -ManagedDiskKeyVaultPropertiesKeyVaultUri <hsm-uri> \
      -ManagedDiskKeyVaultPropertiesKeyVersion <key-version> -ManagedDiskRotationToLatestKeyVersionEnabled
      
    • マネージド ディスク パラメーターを使用してワークスペースを更新する例:

      $workspace = Update-AzDatabricksworkspace -Name <workspace-name> \
      -ResourceGroupName <resource-group-name> \
      -ManagedDiskKeyVaultPropertiesKeyName <key-name> \
      -ManagedDiskKeyVaultPropertiesKeyVaultUri <hsm-uri> \
      -ManagedDiskKeyVaultPropertiesKeyVersion <key-version> -ManagedDiskRotationToLatestKeyVersionEnabled
      

手順 4: Managed HSM ロールの割り当てを構成する

Azure Databricks ワークスペースからアクセスできるように、Key Vault Managed HSM 向けのロールの割り当てを構成します。 ロールの割り当ては、Azure portal、Azure CLI、または PowerShell を使用して構成できます。

Azure portal を使用する

  1. Azure portal で、Managed HSM リソースに移動します。
  2. 左側のメニューの [設定] で、[ローカル RBAC] を選びます。
  3. 追加をクリックします。
  4. [ロール] フィールドで、[Managed HSM 暗号化サービスの暗号化ユーザー] を選択します。
  5. [スコープ] フィールドで、All keys (/) を選択します。
  6. [セキュリティ プリンシパル] フィールドの検索バーに、Azure Databricks ワークスペースの管理対象リソース グループ内にあるディスク暗号化セット名を入力します。 結果を選択します。
  7. Create をクリックしてください。

Azure CLI の使用

Managed HSM ロールの割り当てを構成します。 <hsm-name> を Managed HSM 名に置き換え、<principal-id> を前の手順から managedDiskIdentity の principalId ID に置き換えます。

az keyvault role assignment create --role "Managed HSM Crypto Service Encryption User"
    --scope "/" --hsm-name <hsm-name>
    --assignee-object-id <principal-id>

Azure PowerShell の使用

<hsm-name> を Managed HSM 名に置き換えます。

New-AzKeyVaultRoleAssignment -HsmName <hsm-name> \
-RoleDefinitionName "Managed HSM Crypto Service Encryption User" \
-ObjectId $workspace.ManagedDiskIdentityPrincipalId

手順 5: 以前に終了したコンピューティング リソースを開始する

この手順は、キーを初めて追加するためにワークスペースを更新した場合にのみ必要です。その場合は、前の手順でユーザーによって稼働中のコンピューティング リソースが終了されます。 新しいワークスペースを作成した場合、またはキーをローテーションするだけの場合、コンピューティング リソースは前の手順で終了されていません。この場合は、この手順をスキップできます。

  1. ワークスペースの更新が完了していることを確認してください。 テンプレートに対する変更がキーのみである場合、通常、これは 5 分以内に完了します。それ以外の場合は、さらに時間がかかる可能性があります。
  2. 以前に終了したコンピューティング リソースをすべて手動で開始します。

通常、コンピューティング リソースの開始に失敗する原因は、Key Vault にアクセスするためのアクセス許可をディスク暗号化セットに付与する必要があるためです。

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

既にキーが含まれている既存のワークスペースには、次の 2 種類のキーローテーションがあります。

  • 自動ローテーション: ワークスペースの rotationToLatestKeyVersionEnabledtrue の場合、ディスク暗号化セットはキー バージョンの変更を検出し、最新のキー バージョンを指します。
  • 手動ローテーション: 既存のマネージド ディスクのカスタマー マネージド キー ワークスペースを新しいキーで更新できます。 最初に既存のワークスペースにキーを追加した場合と同様に、上記の手順に従います。重要な違いは、実行中のコンピューティング リソースを終了する必要がないという点です。

どちらのローテーションの種類でも、Azure Virtual Machine ストレージ サービスによって、新しいキーが自動的に取得され、それを使用してデータ暗号化キーが暗号化されます。 Azure Databricks コンピューティング リソースは影響を受けません。 詳細については、Azure ドキュメントのカスタマー マネージド キーに関するページを参照してください。

キーをローテーションする前に、コンピューティング リソースを終了する必要はありません。