SecureConnect を使用してファイアウォールの内側でデータを共有する

SecureConnectはデータ共有のためのネットワークを簡素化し、データプロバイダーがストレージネットワーキングルールで各受信者を許可リストに記載せずに異なる受信者に共有できるようにします。 さらに、SecureConnectはプロバイダーがプライベートエンドポイントの背後にあるクラウドストレージから共有できるようにします。

SecureConnect のしくみ

SecureConnectを使用する際、プロバイダーは一度だけ設定を行い、Azure Databricksの受信者がファイアウォールやプライベートエンドポイントの背後にあるプロバイダーのストレージにアクセスできるようにします。 Azure Databricks、マネージド プロキシ経由で受信者の要求をルーティングするため、プロバイダーは新しい受信者を追加するときにストレージ ファイアウォールを更新する必要はありません。

受信者は、既存の OpenSharing セットアップを使用して共有データにアクセスします。

  • Azure Databricks の受信者は、プロバイダーごとのファイアウォール変更なしで、サーバーレス コンピューティング上の共有にアクセスできます。
  • クラシック コンピュート上の Azure Databricks の受信者とオープン受信者は、プロバイダーのリージョンに対応する Azure Databricks コントロール プレーン IP アドレスの単一セットを許可リストに追加します。

パフォーマンスを最適化するために、サーバーレス上の受信者は、マネージドプロキシを経由するのではなく、プロバイダーのストレージが直接読み取るのと同じ領域で計算します。 クロスリージョンやクロスクラウドの受信者、そしてクラシックコンピュート上の受信者はマネージドプロキシを読み込みます。 この違いはネットワーク利用の請求方法に影響を与えます。 請求を参照してください

SecureConnect を使用しない場合、プロバイダーは各受信者のネットワーク識別子をストレージ ファイアウォールに追加する必要があります。これは、新しい受信者ごとに受信者とクラウド プラットフォーム管理者と調整されます。

SecureConnectは、受信者リクエストをDatabricks管理のプロキシ経由でプロバイダーストレージにルーティングするため、プロバイダーは各受信者ではなく一度だけDatabricksを許容リストにします。

プロバイダーとして SecureConnect を設定する

SecureConnect のセットアップには、アクセスを許可するようにストレージ ファイアウォールを構成し、メタストアと受信者に対して SecureConnect を有効にする必要があります。

手順 1: ストレージ ファイアウォールを構成する

次の手順では、共有資産とプロバイダー メタストアが同じリージョンにあることを前提としています。 ネットワーク コストが最も低い場合は、共有資産のリージョンをプロバイダーのメタストア リージョンと同じに保ちます。

SecureConnectは、パブリックインターネットではなく、クラウドプロバイダーのネットワーク上のサーバーレスデータプレーンからストレージにアクセスします。 ストレージがプライベート接続を必要としているかどうかに応じて、以下のセットアップオプションのいずれかを選択してください。

オプション1: Allowlist the Azure Databricks serverless network

ストレージファイアウォールにAzure Databricksのサーバーレスネットワーク識別子を追加してアクセスを許可してください。 ストレージがプライベート エンドポイントの背後にある場合は、次のセクションを参照してください。

Azure Databricksがリソースにアクセスできるようにするには、Azure リソースを移行モードのネットワーク セキュリティ境界に関連付け、AzureDatabricksServerless.{region} サービス タグを許可リストに追加します。{region}はプロバイダーのコントロール プレーンリージョンです。 Azure リソースについては、「Azure ネットワーク セキュリティ境界 (NSP) の構成」を参照してください。

オプション2:プライベート接続の設定

共有ストレージがプライベートエンドポイントの背後にある場合は、このオプションを使ってください。

アカウント管理者は、ネットワーク接続構成 (NCC) を構成し、共有データをホストするメタストアに接続する必要があります。 NCC の詳細については、「 ネットワーク接続構成 (NCC) とは」を参照してください。

ワークスペースにアタッチされた NCC をメタストアにアタッチすることはできません。 OpenSharing のメタストアに適用される NCC は、メタストアにアタッチされているすべての共有に適用されます。

ストレージ アカウントの NCC とプライベート エンドポイントルールを作成しますが、ワークスペースに NCC をアタッチ しないでください 。 SecureConnect には、 blobdfs の両方のプライベート エンドポイント規則も必要であるため、サブリソースの種類ごとにプライベート エンドポイントルールを作成します。

NCC とプライベート エンドポイントのセットアップについては、Azure リソースへのプライベート接続の構成に関する説明を参照してください。

OpenSharing メタストアに NCC をアタッチします。

  1. Azure Databricks アカウント管理者として、アカウント コンソールに移動します。
  2. サイドバーで、[データ] アイコンをクリック します。カタログ
  3. OpenSharing メタストアの名前をクリックして、その詳細を開きます。
  4. [ OpenSharing Network Connectivity Configuration (NCC)] で[ 編集] をクリックします。
  5. OpenSharing 用に作成した NCC を検索して選択します。
  6. 保存 をクリックします。

手順 2: メタストアで SecureConnect を有効にする

メタストア管理者は、新しい受信者が自動的に SecureConnect を使用するようにメタストアを構成できます。 既定では、新規および既存の受信者は SecureConnect に登録されません。 既存の受信者を個別に構成する必要があります。 「手順 3: 個々の受信者に対して SecureConnect を有効にする」を参照してください

メタストアで SecureConnect を有効にするには:

  1. Azure Databricks ワークスペースで、Data icon.Catalog をクリックしてカタログ エクスプローラーを開きます。

  2. [カタログ] ウィンドウの上部にある歯車アイコンをクリックします。歯車アイコンをクリックし、[OpenSharing] を選択します。

    または、右上隅の [ 共有] > [OpenSharing] をクリックします。

  3. 右上隅にある [設定] をクリックします。

  4. [新しい受信者に対して SecureConnect を有効にする] の設定をオンにします。

  5. 保存 をクリックします。

手順 3: 個々の受信者に対して SecureConnect を有効にする

受信者の所有者と USE_RECIPIENT 権限を持つユーザーは、受信者ごとに SecureConnect のオンとオフを切り替えます。 受信者の作成時にメタストアがすべての新しい受信者に対して有効に設定されていない限り、SecureConnect は既定で受信者で無効になります。

受信者に SecureConnect を構成するには:

  1. Azure Databricks ワークスペースで、Data icon.Catalog をクリックします。

  2. [カタログ] ウィンドウの上部にある歯車アイコンをクリックします。歯車アイコンをクリックし、[OpenSharing] を選択します。

    または、右上隅の [ 共有] > [OpenSharing] をクリックします。

  3. [自分が共有した] タブで、[受信者] タブをクリックします。

  4. 目的の受信者ごとに SecureConnect を有効にします。

(省略可能)手順 4: IP ACL を使用して開いている受信者のアクセスを制限する

開いている受信者の場合、IP アクセス リストを使用して SecureConnect へのアクセスを許可するクライアント IP アドレスを制限できます。 IP ACL は、開いている受信者にのみ適用されます。

SecureConnect では、IP ACL は OpenSharing エンドポイント アクセスとストレージ アクセスの両方に適用されます。 SecureConnect を使用しない場合、IP ACL は OpenSharing エンドポイント アクセスのみを制限します。ストレージ URL は、任意のクライアント IP から到達可能なままになります。

セットアップ手順については、「 IP アクセス リストを使用して OpenSharing 受信者のアクセスを制限する (Databricks から Open への共有)」を参照してください。

SecureConnect 対応のオープン受信者の IP ACL の変更が有効になるまでに最大 10 分かかることがあります。

サポートされている共有シナリオ

Important

サポートされていない機能は、受信者のコンピューティングからストレージへの直接アクセスにフォールバックします。 プロバイダーは、ストレージ ファイアウォール内の受信者 IP へのアクセス権を手動で付与する必要があります。 「OpenSharing Databricks-to-Databricks プロトコルとは」または「Databricks-to-Open 共有プロトコルとは」を参照してください。

SecureConnectは、DatabricksからDatabricksへの共有およびDatabricksからオープンへの共有の両方で、クラウド上で動作する受信者への共有をサポートします。

GCP上のプロバイダーサポートは プライベートプレビューにあります。 SecureConnectをGCPでプロバイダーとして使いたい場合は、Azure Databricksのアカウントチームにお問い合わせください。

mTLSからSecureConnectへの対応は、サーバーレスコンピュートで共有データにアクセスするAzure Databricks受信者のみがサポートしています。

機能のサポート

特徴 D2O (トークン) D2O(OIDC)* D2O(アイスバーグ) D2D (サーバーレス) D2D (クラシック)
履歴があるテーブルとパーティションがないテーブル ✓** ✓**
履歴のないテーブルまたはパーティションを含むテーブル
Views ✓***
外部テーブル
マテリアライズド・ビュー ✓***
ストリーミング テーブル ✓***
ボリューム
Notebooks
AI モデル

* 現在、受信者も Azure Databricks を使用している場合、OIDC 共有は機能しません。

** SecureConnect ではクラウド トークンの最適化を使用できません。

これらの資産は、プロバイダー側で具体化され、フィルター処理されます。 「 受信者が共有ビュー、具体化されたビュー、およびストリーミング テーブルの基になるデータに直接アクセスできるか」を参照してください。

制限事項

  • アセットのバックエンドとして Cloudflare R2 ストレージを使用することはできません。

mTLS のサポートや Databricks からオープンへの共有の制限など、受信者側の制限については、「 制限事項」を参照してください。

サポートされていないリージョン

SecureConnect は、Azure中国、Azure Government、または次のAzureリージョンでは使用できません。

  • australiacentral
  • australiacentral2
  • japanwest
  • qatarcentral
  • southindia
  • switzerlandwest
  • ukwest
  • westindia

請求書

受信者がSecureConnectを通じて共有データにアクセスする場合、プロバイダーはデータ転送(退出)に対して請求されます。 料金についてはデータ転送および接続料金をご参照いただくか、Azure Databricksのアカウントチームにお問い合わせください。

Azure Databricksは、SecureConnectのネットワーク請求を、より多くの料金タイプやアクセスシナリオ、さらには受信者への料金に拡大しています。 請求方法を理解するには、「 OpenSharing SecureConnectの拡張ネットワーク請求」をご覧ください。

受信者ごとの使用量は課金システム テーブルの recipient_id フィールドによって属性付けされるため、プロバイダーは受信者別に課金対象の SecureConnect の使用状況を分解できます。 「課金対象使用状況システム参照表」を参照してください。

次のクエリでは、過去 7 日間の各受信者の SecureConnect データエグレス (GB 単位) が返されます。

SELECT
  usage_records.usage_metadata.recipient_id,
  SUM(usage_records.usage_quantity) AS total_usage_gb
FROM system.billing.usage usage_records
WHERE
  usage_records.billing_origin_product = 'NETWORKING'
  AND usage_records.usage_metadata.associated_product = 'DATA_SHARING'
  AND usage_records.usage_metadata.networking_client = 'EXTERNAL_CLIENT'
  AND usage_records.usage_date >= CURRENT_DATE() - INTERVAL 7 DAYS
GROUP BY
  usage_records.usage_metadata.recipient_id
ORDER BY
  total_usage_gb DESC

使用量をコストに変換するには、価格システム テーブルに対して結合します。 「価格設定システム テーブル参照」を参照してください。

その他のリソース