OpenSharing Databricks-to-Databricks プロトコルとは何ですか?

このページでは、Databricks から Databricks OpenSharing を使用して、アカウントやクラウド ホストに関係なく、Databricks ユーザーと安全にデータを共有する方法の概要を説明します。そのユーザーが Unity カタログ用に有効になっているワークスペースにアクセスできる限りです。

Databricks-to-Databricks OpenSharing はどのようなユーザーが使用すべきですか?

OpenSharing を使用してデータを共有するには、3 つの方法があります。

  1. この記事で説明する Databricks 間共有プロトコル を使用すると、Unity Catalog 対応のワークスペースからのデータを、Unity Catalog 対応の Databricks ワークスペースへのアクセス権を同様に持っているユーザーと共有できます。

    このアプローチでは、Azure Databricksに組み込まれている OpenSharing サーバーを使用し、プロバイダーと受信者の両方に対してノートブック共有、Unity カタログ データ ガバナンス、監査、使用状況追跡をサポートします。 Unity Catalog との統合により、プロバイダーと受信者の両方のセットアップとガバナンスが簡素化され、パフォーマンスが向上します。

  2. Databricks からオープンへの共有プロトコル を使用すると、Unity カタログ対応 Databricks ワークスペースで管理するデータを、任意のコンピューティング プラットフォーム上のユーザーと共有できます。

    Databricks から Open への共有プロトコルとは何かを参照してください。

  3. オープンソースの OpenSharing サーバーのカスタマー マネージド実装 を使用すると、Databricks かどうかにかかわらず、任意のプラットフォームから任意のプラットフォームに共有できます。

    オープンソース プロジェクトを参照してください。

OpenSharing の概要と、これら 3 つの方法の詳細については、「 OpenSharing とは」を参照してください。

Databricks-to-Databricks OpenSharing ワークフロー

このセクションでは、Databricks 間共有ワークフローの大まかな概要を説明し、各手順の詳細なドキュメントへのリンクを示します。

Databricks-to-Databricks OpenSharing モデルでは:

  1. データ プロバイダーは、プロバイダーの Unity カタログ メタストアに 共有 を作成します。 この名前付きオブジェクトには、メタストアに登録されたテーブル、ビュー、ボリューム、ノートブックのコレクションが含まれています。

    詳細については、「 OpenSharing の共有を作成する」を参照してください。

  2. データプロバイダーは、共有に含まれるデータにアクセスするユーザーまたはユーザーグループを表す、プロバイダーのUnity Catalogメタストアに 受信 オブジェクトを作成します。 プロバイダーは 、受信 者をメールで招待するか、共有にアクセスするために使用するワークスペースに紐づいたUnity Catalogメタストアの 共有識別子 で識別することができます。

    詳細については、「Azure Databricks ユーザーのための受信オブジェクトを作成してください」をご覧ください。

  3. データ プロバイダーが、受信者に共有へのアクセス権を付与します。

    詳細については、「 OpenSharing データ共有へのアクセスの管理 (プロバイダー向け)」を参照してください。

  4. 共有は受信者の Databricks ワークスペースで使用できるようになり、受信者はカタログ エクスプローラー、Databricks CLI、または Azure Databricks ノートブックまたは Databricks SQL クエリ エディターの SQL コマンドを使用してアクセスできます。

    共有内のテーブルやビュー、ボリューム、ノートブックへアクセスするには、メタストア管理者または特権ユーザーが共有からカタログを作成する必要があります。 その後、そのユーザーまたは適切な特権を付与された別のユーザーは、カタログとカタログ内のオブジェクトへのアクセス権を他のユーザーに付与できます。 共有カタログとデータ資産に対するアクセス許可の付与は、Unity カタログに登録されている他の資産と同様に機能します。重要な違いは、OpenSharing 共有から作成されたカタログ内のオブジェクトに対する読み取りアクセス権のみをユーザーに付与できることです。

    共有ノートブックはカタログ レベルに存在しているため、カタログに対する USE CATALOG 特権を持つすべてのユーザーがアクセスできます。

    詳細については、「 Databricks-to-Databricks OpenSharing を使用して共有されるデータの読み取り (受信者向け)」を参照してください。

履歴共有を使用してテーブルの読み取りパフォーマンスを向上させる

Databricks から Databricks へのテーブル共有では、履歴共有を有効にすることでパフォーマンスを向上させることができます。 共有履歴は、クラウド ストレージの一時的なセキュリティ資格情報を利用してパフォーマンスを向上させ、プロバイダーの共有 Delta テーブルのルート ディレクトリにスコープを絞り込み、ソース テーブルへの直接アクセスに相当するパフォーマンスを実現します。

  • 新しいテーブル共有の場合は、テーブル共有を作成するときに WITH HISTORY を指定します。 「共有にテーブルを追加する」を参照してください。 Databricks Runtime 16.2 以降でコンピューティングを使用してテーブルを共有する場合、WITH HISTORY が既定です。
  • 既存のテーブル共有の場合は、共有テーブル履歴を共有するように共有を変更する必要があります。 「共有を更新する」を参照してください。 Databricks Runtime 16.2 以降でコンピューティングを使用してテーブルを共有する場合、WITH HISTORY が既定です。

スキーマ全体を共有すると、スキーマ内のすべてのテーブルが既定で履歴と共有されます。

Note

パーティション分割が有効になっているテーブルは、履歴共有のパフォーマンス上の利点を受け取りません。 「共有するテーブル パーティションを指定する」を参照してください。

クラウド トークンの適格性要件とデータ プライバシーに関する考慮事項については、 クラウド トークンの適格性に関するページを参照してください。

クラウド環境の Databricks 間の OpenSharing サポート マトリックス

Databricks-to-Databricks OpenSharing では、同じ環境の種類内での共有がサポートされています。 商用クラウドには、FedRAMP Moderate などのコンプライアンス制御が有効になっているワークスペースが含まれます。 Azure Government環境との共有はサポートされていません。

Important

規制ドメイン間での共有は 、パブリック プレビュー段階にあります。

このマトリックスでは、各行はプロバイダー環境 (メタストア共有データ) を表し、各列は受信者環境 (共有データを受信するメタストア) を表します。

プロバイダー 受信者: 商用クラウド 受信者: AWS GovCloud 受信者: AWS GovCloud DoD 受信者: Azure China
商用クラウド ✓ ✓ ✓ ✓
AWS GovCloud ✓ ✓ ✓
AWS GovCloud DoD ✓ ✓ ✓
Azure China ✓ ✓

Limitations

クロス規制ドメイン共有には、次の制限事項が適用されます。

  • クラウド トークンは、 共有が AWS GovCloud または AWS GovCloud DoD との間で交差しない限り使用されます。 次の場合、テーブルは、代わりに署名付き URL を使用して共有されます。
    • 商用クラウドは、AWS GovCloud または AWS GovCloud DoD との間で共有を共有または受信します。
    • AWS GovCloud と AWS GovCloud DoD は互いに共有します。