クラシック コンピューティングからのストレージ アクセス用に Azure 仮想ネットワーク サービス エンドポイント ポリシーを構成する

このページでは、Azure 仮想ネットワーク サービス エンドポイント ポリシーを使用してクラシック コンピューティング プレーンからの送信トラフィックをフィルター処理し、特定の Azure Storage アカウントにのみ接続されるようにする方法について説明します。

サービス エンドポイントとサービス エンドポイント ポリシーとは

サービス エンドポイントとポリシーが連携して、相互に承認されたプライベート接続を作成します。

  • Azure 仮想ネットワーク サービス エンドポイント: Azure Storage へのトラフィックをセキュリティで保護するには、仮想ネットワークのサブネットでサービス エンドポイントを有効にします。 これにより、Azure バックボーン ネットワーク経由で Azure Storage サービスへの安全で直接接続が作成され、トラフィックがパブリック インターネットから離れます。
  • Azure 仮想ネットワーク サービス エンドポイント ポリシー: サービス エンドポイント と同じサブネットにサービス エンドポイント ポリシーを適用します。 このポリシーはエンドポイント上のフィルターとして機能し、定義した特定の Azure Storage アカウントのみに接続を制限できます。 この組み合わせにより、未承認のストレージ アカウントへのデータ流出が防止されます。

どのように動作しますか?

次の図は、サービス エンドポイントとサービス エンドポイント ポリシーを構成する方法の概要を示しています。

サービス エンドポイントの概要図。

  1. Azure 仮想ネットワーク サービス ポリシーを作成します。 サービス エンドポイント ポリシーの作成を参照してください。
  2. ポリシーにアクセスするために必要なストレージ アカウントを追加します。 たとえば、既定のワークスペースと Unity カタログのストレージ アカウントなどです。 プライベート エンドポイントを使用するストレージ アカウントをポリシーに追加する必要はありません。
  3. ワークスペース サブネットにサービス ポリシーをアタッチします。 「ポリシーをワークスペース サブネットにアタッチする」を参照してください。
  4. Microsoft.Storage Azure 仮想ネットワーク サービス エンドポイントをワークスペース サブネットに接続します。 サブネットのサービス エンドポイント ポリシーがサービス エンドポイントに適用されます。
  5. 承認されていないストレージはポリシーで許可されていないため、アクセスできません。

サービス エンドポイントは、Azure Databricks ワークスペースからすべてのネットワーク トラフィックをルーティングし、ポリシーで定義されているストレージ アカウントへの接続を許可し、すべての未承認の試行をブロックします。

サービス エンドポイントの利点

  • ルートの優先順位とセキュリティ: サービス エンドポイントは、Azure バックボーン経由で Azure サービスへの優先順位の高いダイレクト ルーティング パスを作成します。 この最適化されたルートは、ほとんどのユーザー定義ルート (UDR) をオーバーライドします。これにより、ネットワーク仮想アプライアンス (NVA) またはインターネット経由でトラフィックが意図せずに強制されるのを防ぐことができます。 この動作により、セキュリティ体制が強化され、データ流出を防ぐことができます。
  • コストの最適化: Azure サービスへのトラフィックは Azure バックボーンに留まるため、NAT ゲートウェイまたはネットワーク仮想アプライアンス経由のエグレスに関連する料金は回避できます。

詳細については、Azure Storage の Azure 仮想ネットワーク サービス エンドポイント仮想ネットワーク サービス エンドポイント ポリシー に関するページを参照してください。

サービス エンドポイント ポリシーの利点

  • グローバルリーチ: サービス エンドポイント ポリシーはリージョン リソースですが、その中のルールは、任意のリージョン、サブスクリプション、またはテナント内の Azure Storage アカウントを対象にすることができます。 これにより、リージョン ポリシーでグローバル ストレージ アクセスを管理できます。
  • 追加ポリシー: 複数のポリシーを 1 つのサブネットに関連付けることができます。 ポリシー割り当ては追加的です。つまり、サブネットは、すべてのアタッチされたポリシーから、許可されているすべてのストレージ アカウントの組み合わせセットにアクセスできます。 これは、さまざまなアクセス要件をモデル化する場合に役立ちます。

ベスト プラクティス

Azure Databricks ワークスペースごとに、ルート DBFS ストレージ アカウントとそれに関連付けられている Unity カタログの外部の場所を対象とするサービス エンドポイント ポリシーを構成します。 また、このポリシーに /services/Azure/Databricks サービス エイリアスを追加して、Azure Databricks の重要なストレージへのアクセスを許可する必要があります。 異なるルール セットを適用するには、開発や運用などの特定の環境に対して追加のポリシーを作成できます。

Important

ユーザー定義ルート (UDR) の構成を確認して、サブネットに構成されているサービス エンドポイントと連携することを確認することをお勧めします。 UDR は、ストレージ サービス タグなどのルーティングに影響を与える可能性があり、正しく構成されていない場合はサービス エンドポイントをバイパスする可能性があります。 サービス エンドポイント ポリシーは、許可されるストレージ アカウントを制御します。UDR はポリシーと直接やり取りしません。

Requirements

2025 年 7 月 14 日以降に作成されたワークスペースでは、既定でサービス エンドポイント ポリシーの作成がサポートされます。 この日付より前に作成されたワークスペースについては、Databricks アカウント チームに連絡してアクセス権を要求してください。

Azure Databricks ワークスペースは、次の要件を満たしている必要があります。

サービス エンドポイント ポリシーを構成する

サービス エンドポイント ポリシーをワークスペースのパブリック サブネットにアタッチする前に、クラシック コンピューティング リソースがサービス エンドポイントを使用してアクセスするすべてのストレージ アカウントのポリシー 規則を作成します。 対応するポリシー規則のないストレージ アカウントはすべてブロックされます。

サービス エンドポイント ポリシーを作成する

  1. Azure portal でサービス エンドポイント ポリシー を検索し、[ サービス エンドポイント ポリシーの作成] を選択します。

  2. [基本] タブで、次の 操作 を行います。

    • ワークスペースの VNet に一致する サブスクリプションリージョン を選択します。
    • など、ポリシーのわかりやすいdatabricks-workspace-prod-westusを入力します。
    • [ 次へ: ポリシー定義] をクリックします。
  3. [ ポリシー定義 ] タブで、Azure Databricks マネージド ストレージを追加します。

    • [ + エイリアスの追加] をクリックします
    • [/services/Azure/Databricks] を選択します。
    • 追加をクリックします。

    /services/Azure/Databricks エイリアスでは、Databricks が管理する必要なストレージ アカウントへのアクセスのみが許可されます。 リージョン内のすべてのストレージ アカウントへのアクセス権は付与されません。

  4. 独自のストレージ アカウントを追加します。

    • リソースを 追加 をクリックします。
    • [スコープ] で、[単一アカウント] を選択します。
    • ワークスペースの既定の DBFS ストレージ アカウント、Unity カタログ ストレージ アカウント、およびその他の必要なストレージ アカウントを 1 つずつ追加します。
    • ポリシーのストレージ アカウントはいつでも追加または削除できます。
  5. [確認と作成][作成] の順にクリックします。

ワークスペース サブネットにポリシーをアタッチする

サービス エンドポイント ポリシーは、ワークスペースのパブリック サブネットとプライベート サブネットの両方にアタッチできますが、ストレージと通信するのはパブリック サブネットのみです。

  1. Azure portal で、ワークスペースの VNet に移動します。
  2. サイドバーの [設定] で、[ サブネット] をクリックします。
  3. パブリック サブネットを選択します。
  4. サブネットの設定で、[ サービス エンドポイント] セクションまでスクロールします。
  5. [ サービス ] ドロップダウン メニューから[ Microsoft.Storageを選択します。
  6. [ サービス エンドポイント ポリシー ] セクションまでスクロールします。
  7. [ ポリシー ] ドロップダウン メニューから、前に作成したポリシーを選択します。
  8. [保存] をクリックします。

サブネットでサポートされるストレージ サービス エンドポイントの種類は 1 つだけです。 Microsoft.Storage エンドポイントは、サブネットの独自のリージョン内のストレージ アカウントにのみ到達します。 ワークスペース リージョンに別のリージョンにセカンダリアーティファクト BLOB ストレージがある場合は、代わりにリージョン間 Microsoft.Storage.Global エンドポイントを選択します。エンドポイントは、任意のリージョンのストレージ アカウントに到達します。 リージョンが別のリージョンでセカンダリ 成果物ストレージを使用しているかどうかを確認するには、 Metastore、アーティファクト BLOB ストレージ、システム テーブル ストレージ、ログ BLOB ストレージ、および Event Hubs エンドポイント IP アドレスに関する説明を参照してください。

Validation

構成を検証するには:

  • ワークスペースで Azure Databricks クラスターを起動します。
  • ポリシーに含まれるストレージ アカウントの読み取りまたは書き込みを行うワークロードを実行します。 操作は成功します。
  • ポリシーに含まれていないストレージ アカウントへのアクセスを試みます。 ポリシーで定義されていないストレージ アカウントへの要求は、承認エラーで失敗します。