OpenSharing とは何ですか?
このページでは、Databricks の OpenSharing を紹介します。これは、ユーザーが Databricks を使用しているかどうかにかかわらず、Databricks 内のデータと AI アセットを組織外のユーザーと共有できる安全なデータ共有プラットフォームです。OpenSharingは、データ製品を交換するためのオープンフォーラムであるDatabricks Marketplaceの基盤でもあります。
OpenSharingは、他のプラットフォームからDeltaテーブルを共有するために使用できる、オープンソースプロジェクトとしても利用できます。
OpenSharing の仕組みはどうなっていますか?
OpenSharingは、他の組織との安全なデータ共有を行うために、Databricksによって開発されたオープンプロトコルです。それは、それらの組織が使用するコンピューティングプラットフォームに関係なく機能します。
OpenSharingを使用してデータを共有する方法はいくつかあります:
-
Databricks-to-Databricks 共有プロトコル を使用すると、Unity Catalog 対応ワークスペースのデータやAIアセットを、Unity Catalog 対応の Databricks ワークスペースにもアクセスできるユーザーと共有できます。
この手法では、Databricksに組み込まれているOpenSharingサーバーを使用します。OpenSharingは、ノートブック共有、Unity Catalogボリューム共有、Unity Catalog AIモデル共有、Unity Catalogデータガバナンス、監査、プロバイダーと受信者の両方に対する使用状況追跡など、他のプロトコルではサポートされていない一部の機能をサポートしています。Unity Catalogとの統合により、プロバイダーと受信者の両方にとって設定と管理が簡素化され、パフォーマンスが向上します。
「OpenSharing Databricks-to-Databricks プロトコルとは」を参照してください。
-
Databricks-to-Open共有プロトコル を使用すると、Unity Catalog対応のDatabricksワークスペースで管理している表形式のデータを、任意のコンピューティングプラットフォーム上のユーザーと共有できます。
このアプローチでは、Databricks に組み込まれている OpenSharing サーバーを使用します。Unity Catalog を使用してデータを管理していて、Databricks を使用していないユーザーや Unity Catalog 対応の Databricks ワークスペースにアクセスできないユーザーとデータを共有したい場合に便利です。プロバイダー側でのUnity Catalogとの統合により、プロバイダーのセットアップとガバナンスが簡素化されます。
「OpenSharing Databricks-to-Open 共有プロトコルとは」を参照してください。
-
Databricksの有無に関わらず、あらゆるプラットフォームからあらゆるプラットフォームへの共有を可能にする、**オープンソースのOpenSharingサーバーの顧客管理実装です**。
Databricksドキュメントには独自のOpenSharingサーバーをセットアップする手順は記載されていません。オープンソースプロジェクトをご覧ください。
-
SAP Business Data クラウド (BDC) コネクタ for Databricks を使用すると、Unity Catalog 対応ワークスペースと SAP BDC アカウントの間でデータを共有できます。
このアプローチは、OpenSharingを活用し、SAP BDCデータ製品へのライブ、ゼロコピーアクセスを実現するSAP BDCコネクタを使用します。
「 SAP BDC Connector for Databricks とは」を参照してください。
共有、プロバイダー、および受信者
DatabricksのOpenSharingの基礎となる主な概念は、 共有 、 プロバイダー 、および 受信者 です。
共有とは?
OpenSharing では、 共有 は、プロバイダーが1人以上の受信者と共有する、テーブルとテーブルパーティションの読み取り専用のコレクションです。受信者がUnity Catalogが有効なDatabricks ワークスペースを使用している場合は、ノートブックファイル、ビュー(行と列のレベルでアクセスを制限する動的ビューを含む)、Unity Catalog ボリューム、およびUnity Catalog モデルを共有に含めることもできます。
テーブル、ストリーミングテーブル、管理された Iceberg テーブル、ビュー、マテリアライズドビュー、ボリューム、モデル、ノートブックファイルをいつでも共有に追加したり削除したり、データ受信者のアクセスを共有に割り当てたり取り消したりすることができます。
Unity Catalogが有効なDatabricks ワークスペースでは、共有はUnity Catalogに登録されているセキュリティ保護可能なオブジェクトです。Unity Catalog Metasotreから共有を削除すると、その共有のすべての受信者がその共有オブジェクトにアクセスできなくなります。
「OpenSharing 共有の作成」を参照してください。
プロバイダーとは?
プロバイダー は、受信者とデータを共有する事業体です。プロバイダーであり、組み込みの Databricks OpenSharing サーバーを利用し、Unity Catalog を使用して共有と受信者を管理したい場合は、Unity Catalog が有効になっている Databricks ワークスペースが少なくとも 1 つ必要です。すべての既存ワークスペースをUnity Catalogに移行する必要はありません。OpenSharingのニーズに合わせて、新しいUnity Catalog対応ワークスペースを作成するだけです。
受信者がUnity Catalog対応のDatabricksワークスペース上にいる場合、プロバイダーも、プロバイダー組織を表し、その組織を共有セットに関連付けるUnity Catalogのセキュリティ保護可能なオブジェクトになります。
受信者とは?
受信者 とは、プロバイダーから共有を受け取る事業体のことです。Unity Catalogでは、共有とは組織を表すセキュリティ保護可能なオブジェクトであり、その組織が1つ以上の共有にアクセスできるようにする資格情報または安全な共有識別子に関連付けられます。
データプロバイダー(共有者)は、特定のUnity Catalogメタストアに対して複数の受信者を定義できますが、複数のメタストアのデータを特定のユーザーまたはユーザーグループと共有する場合は、メタストアごとに受信者を個別に定義する必要があります。受信者は複数の共有にアクセスできます。
プロバイダーがUnity Catalogメタストアから受信者を削除すると、その受信者は以前にアクセスできたすべての共有にアクセスできなくなります。
「OpenSharing (Databricks-to-Databricks共有) のデータ受信者を作成する」を参照してください。
Databricks-to-Open sharing と Databricks-to-Databricks sharing
このセクションでは、Unity Catalogが有効になっているDatabricksワークスペースから共有するための2つのプロトコルについて説明します。
このセクションでは、プロバイダーがUnity Catalog対応のDatabricksワークスペース上にあることを前提としています。Databricks 以外のプラットフォームまたはUnity Catalog以外のカタログワークスペースから共有するようにオープンソースのOpenSharingサーバーを設定する方法については、「オープンソースプロジェクト」を参照してください。
プロバイダーがDatabricksでOpenSharingを使用する方法は、データを共有している相手によって異なります:
- オープン共有 を使用すると、Databricksにアクセスできるかどうかに関係なく、任意のユーザーとデータを共有できます。
- Databricks-to-Databricks 共有を使用すると、自分とは異なるUnity Catalogメタストアにアタッチされたワークスペースを持つDatabricksユーザーとデータを共有できます。Databricks-to-Databricksは、オープン共有では利用できないノートブック、ボリューム、モデルの共有もサポートしています。
オープンな OpenSharing とは何ですか?
Databricksを使用しているかどうかに関係なく、Databricksワークスペースの外部のユーザーとデータを共有する場合は、オープンOpenSharingを使用してデータを安全に共有できます。データプロバイダーとして、共有受信者との認証を管理するには、以下のいずれかの方法を使用します。
- 長寿命のベアラートークンを生成し、それを受信者と安全に共有します。彼らはトークンを使用して認証を行い、あなたがアクセス権を付与した共有に含めたテーブルへの読み取りアクセス権を取得します。
- Open ID Connect (OIDC) フェデレーションを使用し、有効期限の短いDatabricks OAuthを 受信者に付与し、その見返りとして JWT を受け取ります 受信者の ID プロバイダー (IdP) がDatabricksに渡します。
受信者は、以下のような多くのコンピューティングツールやプラットフォームを使用して共有データにアクセスすることができます。
- Databricks
- Apache Spark
- Pandas
- Power BI
OpenSharingコネクタの全一覧と使用方法に関する情報は、OpenSharingドキュメントを参照してください。
「OpenSharing Databricks-to-Open 共有プロトコルとは何ですか?」も参照してください。
Databricks-to-Databricks OpenSharingとは何ですか?
Unity Catalogが有効になっているDatabricksワークスペースを持つユーザーとデータを共有する場合は、Databricks-to-Databricks OpenSharingを使用できます。Databricks-to-Databricks共有を使用すると、AWS、Azure、GCPのいずれを使用しているかに関係なく、他のDatabricksアカウントのユーザーとデータを共有できます。また、独自のDatabricksアカウント内のさまざまなUnity Catalogメタストア間でデータを安全に共有するための優れた方法でもあります。このシナリオでは、Unity Catalog自体を使用してワークスペース間のデータへのアクセスを管理できるため、同じUnity Catalogメタストアに接続されているワークスペース間でデータを共有するためにOpenSharingを使用する必要はありません。
Databricks-to-Databricks共有の利点の1つは、共有受信者が共有にアクセスするためにトークンを必要とせず、プロバイダーが受信者トークンを管理する必要がないことです。共有接続のセキュリティ(すべてのID検証、認証、および監査を含む)は、OpenSharingとDatabricksプラットフォームを通じて完全に管理されます。もう一つの利点は、Databricks ノートブックファイル、Unity Catalog ボリューム、および Unity Catalog モデルを共有できることです。
「OpenSharing Databricks-to-Databricks プロトコルとは」も参照してください。
プロバイダー管理者がOpenSharingを設定する方法
このセクションでは、プロバイダーがUnity Catalog対応のDatabricksワークスペースからOpenSharingを有効にして共有を開始する方法の概要について説明します。オープンソースのオープンシェアリングについては、オープンソースプロジェクトをご覧ください。
同一アカウント内のUnityカタログメタストア間でのDatabricks間のデータ共有は、常に有効になっています。プロバイダーがOpenSharingを有効にして、他のアカウントのDatabricksワークスペースまたはDatabricks以外のクライアントとデータを共有したい場合は、Databricksアカウント管理者またはメタストア管理者が以下の設定ステップを実行します(概要)。
- 共有したいデータを管理する Unity Catalog メタストアの OpenSharing を有効にします。
OpenSharingを使用して、アカウント内の他のUnity Catalogメタストアのユーザーとのみデータを共有する場合は、メタストアでOpenSharingを有効にする必要はありません。1つのDatabricksアカウント内でのメタストア間の共有は、デフォルトで有効になっています。
「メタストアでOpenSharingを有効にする」を参照してください。 2. Unity Catalog メタストアに登録されているデータ資産を含む共有を作成します。
Databricks以外の受信者と共有する場合(Databricks-to-Open共有と呼ばれる)、Delta形式のテーブルを含めることができます。Databricks-to-Databricks 共有を使用する場合は、ビュー、Unity Catalogボリューム、Unity Catalogモデル、ノートブックファイルも共有に追加できます。
「OpenSharing 共有の作成」を参照してください。 3. 受信者を作成します。
「OpenSharing (Databricks-to-Databricks共有) のデータ受信者を作成する」を参照してください。
受信者がDatabricksユーザーでない場合、またはUnity Catalogが有効になっているDatabricksワークスペースにアクセスできない場合は、Databricks-to-Open共有を使用する必要があります。その受信者に対して、ベアラートークンベースの資格情報を生成するか、OIDCフェデレーションを使用できます。
受信者が が有効になっているDatabricks ワークスペースにアクセスできる場合は、Unity Catalog Databricks-to-Databricks共有 を使用でき、トークンベースの資格情報は必要ありません。受信者に 共有識別子 を要求し、それを使用して安全な接続を確立します。
自分自身をテスト受信者として使用し、セットアッププロセスを試してください。
-
受信者に1つ以上の共有へのアクセス権を付与します。
詳細については、OpenSharing データ共有へのアクセスを管理する (プロバイダー向け)を参照してください。
このステップは、 USE SHARE 、 USE RECIPIENT 、およびSET SHARE PERMISSION権限を持つ管理者以外のユーザーでも実行できます。 Unity Catalog権限に関するリファレンスを参照してください。
-
受信者に、共有に接続するために必要な情報(Databricks-to-Open Sharingのみ)を送信します。
ベアラー トークンを使用したDatabricksからのオープン共有では、安全なチャンネルを使用して受信者にアクティベーションリンクを送信し、トークンベースの資格情報をダウンロードできるようにします。「受信者に接続情報を送信する」を参照してください。
OIDCトークンフェデレーションを使用したDatabricksからのオープン共有には、生成されたポータルのURLを送信してください。「オープン共有の受信者に対して Open ID Connect (OIDC) フェデレーションを有効にする」を参照してください。
Databricks-to-Databricks共有の場合、共有へのアクセス権を付与するとすぐに、共有に含まれるデータは受信者のDatabricksワークスペースで利用できるようになります。
受信者は共有データにアクセスできるようになりました。
受信者は共有データにどのようにアクセスしますか?
受信者は、共有データアセットに読み取り専用形式でアクセスします。 共有ノートブック ファイルは読み取り専用ですが、他のノートブックと同様に、クローンを作成して変更し、受信者ワークスペースで実行できます。
以下のように、安全なアクセスは共有モデルによって異なります。
-
Databricks-to-Open 共有(受信者がUnity Catalogが有効になっているDatabricksワークスペースにアクセスできない場合)には2つのオプションがあります。
- ベアラートークンフローでは、受信者は、Apache Spark、Pandas、Power BI、Databricks など、選択したツールでデータにアクセスするたびに資格情報を提供します。「ベアラー トークンを使用して OpenSharing Databricks からのオープン共有 で共有されたデータの読み取り」を参照してください。
- OIDC のフェデレーションフローでは、受信者または受信者のクライアントアプリが、独自のIDプロバイダー(IdP)を使用してデータにアクセスします。 U2M フローで Open ID Connect (OIDC) フェデレーションを使用して共有されたデータを読み取る、およびM2M フローで Open ID Connect (OIDC) フェデレーションを使用して共有されたデータを読み取るを参照してください。
-
Databricks-to-Databricks(受信者のワークスペースでUnity Catalogが有効になっている):受信者はDatabricksを使用してデータにアクセスします。Unity Catalogを使用して、Databricksアカウントの他のユーザーへのアクセスを許可および拒否できます。「Databricks-to-Databricks OpenSharing を使用して共有されたデータを読み取る (受信者向け)」を参照してください。
データプロバイダーが独自のDatabricksアカウントでデータテーブルまたはボリュームを更新するたびに、受信者のシステムに更新がほぼリアルタイムで表示されます。OpenSharing を使用して共有されているデータにアクセスする方法については、「OpenSharing を使用して共有されたデータにアクセスする(受信者向け)」を参照してください。
誰が共有データを共有し、アクセスしているかをどのように追跡しますか?
Unity Catalog が有効な Databricks ワークスペースのデータプロバイダーは、Databricks 監査ログとシステムテーブルを使用して、共有と受信者の作成と変更を監視し、共有に対する受信者のアクティビティを監視できます。 データ共有の監査と監視を参照してください。
Databricksワークスペースで共有データを使用するデータ受信者は、監査ログDatabricksシステムとテーブルを使用して、誰がどのデータにアクセスしているかを把握できます。データ共有の監査と監視を参照してください。
ボリュームの共有
Databricks-to-Databricks 共有フローを使用してボリュームを共有できます。 「共有にボリュームを追加する (プロバイダー向け)」および「Databricks-to-Databricks OpenSharing を使用して共有されたデータを読み取る (受信者向け)」を参照してください。
モデルの共有
Databricks-to-Databricks 共有フローを使用してモデルを共有できます。共有にモデルを追加する(プロバイダーの場合)およびDatabricks-to-Databricks OpenSharing を使用して共有されたデータを読み取る(受信者の場合)(受信者の場合)を参照してください。
ノートブックの共有
OpenSharing を使用して、Databricks-to-Databricks 共有フローを使用してノートブックファイルを共有できます。「共有へのノートブックファイルの追加」(プロバイダー向け)および「共有ノートブックの読み取り」(受信者向け)を参照してください。
ビューを共有する際の行レベルと列レベルでのアクセスの制限
受信者のプロパティに基づいて特定のテーブル データへのアクセスを制限する動的ビューを共有できます。「共有に動的ビューを追加して行と列をフィルターする」を参照してください。
オープン共有とストリーミング
OpenSharing は Apache Spark 構造化ストリーミングをサポートしています。プロバイダーは、受信者が構造化ストリーミングソースとして使用できるように、履歴を含むテーブルまたはストリーミングテーブルを共有して、共有データを低遅延で段階的に処理できます。受信者は、履歴と共有されているテーブルに対してDelta Lakeタイムトラベルクエリーを実行することもできます。
履歴を使用してテーブルを共有する方法については、「共有にテーブルを追加する」を参照してください。共有テーブルをストリーミングソースとして使用する方法については、「Apache Spark構造化ストリーミングを使用してテーブルをクエリーする」(Databricks-to-Databricks共有の受信者向け)または「Spark構造化ストリーミングを使用して共有テーブルにアクセスする」(Databricks-to-Open共有データの受信者向け)を参照してください。
ストリーミングテーブルを共有する方法については、「 共有にストリーミングテーブルを追加する」を参照してください。
構造化ストリーミングの概念も参照してください。
Delta Lake 機能のサポート マトリックス
OpenSharing は、テーブルを共有する際に、ほとんどの Delta Lake 機能をサポートしています。このサポート・マトリックスには、次の項目が記載されています。
- 特定のバージョンの Databricks Runtime、オープンソースの OpenSharing Spark コネクタ、またはオープンソースの OpenSharing Python コネクタを必要とする Delta 機能。
- 一部サポートされている機能。
機能 | PROVIDER | Databricks の受信者 | オープンソースの受信者 |
|---|---|---|---|
削除ベクトル |
|
|
|
列マッピング |
|
|
|
ユニフォームフォーマット |
|
|
|
V2 チェックポイント | |||
タイムスタンプNTZ | サポートされています | Databricks Runtime 14.1+ | OpenSharing Spark コネクタ 3.3以降 |
リキッドクラスタリング |
OpenSharingに関するよくある質問
以下は、OpenSharingに関するよくある質問です。
OpenSharingを使用するにはUnity Catalogが必要ですか?
いいえ、(プロバイダーとして) 共有データを共有したり (受信者として) 共有したりするために Unity Catalog は必要ありません。 ただし、Unity Catalog には、非表形式や AI アセット共有のサポート、すぐに使用できるガバナンス、シンプルさ、クエリ パフォーマンスなどの利点があります。
プロバイダーは2つの方法でデータを共有することができます:
-
共有するアセットをUnity Catalogの管理下に置き、組み込みのDatabricks OpenSharingサーバーを使用して共有します。
すべてのアセットをUnity Catalogに移行する必要はありません。共有したいアセットを管理するには、Unity Catalogが有効になっているDatabricksワークスペースが1つだけ必要です。一部のアカウントでは、新しいワークスペースが Unity Catalog に対して自動的に有効になります。Unity Catalog の概要を参照してください。
-
Databricksアカウントを使用することなく、Databricks-to-Open 共有サーバーを実装してデータを共有します。
受信者は、次の2つの方法でデータを消費できます:
-
Databricksワークスペースなし。Power BI、pandas、オープンソースApache Sparkなど、多くのデータプラットフォームで使用できるオープンソース OpenSharing コネクタを使用します。「OpenSharing Databricks-to-Open sharing を使用して共有されたデータの読み取りとベアラー トークンとのオープン共有」および「OpenSharing オープンソース プロジェクト」を参照してください。
-
Databricks ワークスペース内。受信者のワークスペースを Unity Catalog で有効にする必要はありませんが、有効にすれば、ガバナンス、シンプルさ、パフォーマンスという利点があります。
これらの利点を求める受信者組織は、すべてのアセットをUnity Catalogに移行する必要はありません。共有されているアセットを管理するには、Unity Catalogが有効になっているDatabricksワークスペースが1つだけ必要です。一部のアカウントでは、新しいワークスペースが Unity Catalog に対して自動的に有効になります。Unity Catalog の概要を参照してください。
「OpenSharing Databricks-to-Open sharing (ベアラートークンを使用) を使用して共有されたデータを読み取る」および「Databricks-to-Databricks OpenSharing (受信者用) を使用して共有されたデータを読み取る」を参照してください。
OpenSharing を使用するために Databricks の顧客である必要がありますか?
いいえ、OpenSharing はオープンなプロトコルです。Databricks以外のデータは、任意のデータプラットフォーム上の受信者と共有できます。プロバイダーは、任意のコンピューティングプラットフォームから共有するようにオープンOpenSharingサーバーを構成できます。受信者は、Power BI、pandas、オープンソースSparkなど、多くのデータ製品のオープンソースOpenSharingコネクタを使用して共有データを使用できます。
しかし、Databricks上でOpenSharingを使用すること、特にUnityカタログが有効になっているワークスペースから共有することには、多くの利点があります。
詳細については、このFAQの最初の質問を参照してください。
OpenSharing コストを発生させて、確認するにはどうすればよいですか?
OpenSharingのコストは、ビュー、マテリアライズドビュー、ストリーミングテーブルを共有およびアクセスする際に発生します。以下は、共有による潜在的なコストです。
- コンピュートの費用は、 Databricksによって請求されます。
- ストレージおよびネットワーク転送 (エグレス) のコスト (ストレージ ベンダーによって請求されます)。
- 外部コンピュート ソース コスト、外部スキーマとテーブルを共有する場合。
コンピュートの実行方法と誰がそれを支払うかは、いくつかの要因によって異なります。
- 受信者の種類コンピュート
- 共有が同じ Databricks アカウント内で行われるか、アカウント間で行われるか
次の表では、OpenSharing を使用したビューの共有とアクセスに関する課金方法について説明します。
受信者のコンピュート | アカウントリレーション | 誰が支払うのか | 請求に使用される SKU | アクセス方法 |
|---|---|---|---|---|
Databricks のサーバーレス | すべて | 受信者* | Recipient's サーバレス | 受信者は、基になるデータに直接アクセスできます |
Databricks クラシック | 同じアカウント | 受信者* | 受信者のクラシック | 受信者は、基になるデータに直接アクセスできます |
Databricks クラシック | 別のアカウント | 受信者 | Provider's interactive サーバレス | プロバイダーはフィルタリングを実行します |
Databricks間オープン共有コネクタ | すべて | PROVIDER | Provider's interactive サーバレス | プロバイダーはフィルタリングを実行します |
別の**アカウント**で**サーバレスコンピュート**を使用している受信者とOpenSharingを使用する場合、または同じ**アカウント**の受信者と使用する場合、追加料金は発生しません。これにより、データアセットのマテリアライズに追加費用は発生しません。
フォーリンテーブル (Beta)を共有する場合、実体化は常にプロバイダ側で行われ、保存されます。 外部のIcebergテーブルの場合、Icebergクライアントを使用していないオープンな受信者と共有する際には、プロバイダ側でマテリアライゼーションが実行されます。プロバイダーは、データ具体化に使用されるデフォルトのストレージに起因する追加料金を請求される可能性があります。ベータ版の間、フォーリンテーブルにはコンピュートコストはかかりません。
課金アトリビューションは、課金利用システムテーブルリファレンスおよびOpenSharing マテリアライゼーション履歴システムテーブルリファレンスを使用して照会することもできます。受信者がアトリビューションの料金を支払う場合、受信者のみがシステムテーブル内の関連するレコードを閲覧できます。クエリの例については、「サンプルクエリ」を参照してください。
OpenSharing は egress のコストがかかりますか?
リージョン内のOpenSharingに、エグレスコストはかかりません。他のデータ共有プラットフォームとは異なり、OpenSharingではデータのレプリケーションは必要ありません。このモデルには多くの利点がありますが、クラウドまたはリージョン間でデータを共有する場合、クラウドベンダーがデータエグレス料金を請求する可能性があることを意味します。Databricks は、egress料金が発生しない Cloudflare R2 からの共有をサポートしており、egress料金を監視して回避するためのその他のツールと推奨事項を提供しています。OpenSharing エグレスコストを監視および管理する (プロバイダー向け)を参照してください。
受信者は、共有ビュー、マテリアライズドビュー、ストリーミングテーブルの基になるデータに直接アクセスできますか?
共有ビュー、マテリアライズドビュー、およびストリーミングテーブルの場合、データ受信者は、次のいずれかが真である場合に直接アクセスできます。
- 受信者は、同じDatabricksアカウントでサーバレス コンピュートまたは非専用のクラシック コンピュートを使用します。
- 受信者は、別のDatabricksアカウントでサーバレス コンピュートを使用します。
それ以外の場合、データはプロバイダー側で具体化され、フィルター処理されます。
データの具体化は、共有データ資産の親ストレージの場所に格納されます。
マテリアライズドアセットを共有する場合、コンピュートは必要なフィルターを適用し、プロバイダーのストレージにキャッシュされた一時的なマテリアライゼーションを作成することでリクエストを処理します。 このフィルタリングされたデータは、事前に署名された有効期間の短いURLを使用して受信者に配信されるため、プロバイダー間のアクセス制御を維持しながら安全なアクセスが保証されます。
プロバイダーは受信者のアクセスを取り消すことができますか?
はい、受信者のアクセスは、オンデマンドで、指定した粒度レベルで取り消すことができます。特定の共有および特定のIPアドレスへの受信者アクセスの拒否、受信者の表形式のデータのフィルター処理、受信者トークンの取り消し、受信者の完全な削除を行うことができます。「共有への受信者のアクセス権を取り消す」および「OpenSharing のデータ受信者を作成する (Databricks-to-Databricks 共有)」を参照してください。
事前に署名されたURLを使用するのは安全ではありませんか?
OpenSharingでは、署名済みのURLを使用して、オブジェクトストレージ内のファイルへの一時的なアクセスを提供します。それらは、既に共有データへのアクセス権を持つ受信者のみに提供されます。それらは有効期限が短く、受信者が既に許可されているアクセスレベルを超えてアクセス権限を拡大しないため、安全である。
OpenSharing Databricks間Open Sharingプロトコルで使用されているトークンのセキュリティは保護されていますか?
OpenSharingでは、他のデータ共有プラットフォームとは異なり、クロスプラットフォームでの共有が可能なため、共有プロトコルにはオープントークンが必要です。プロバイダーは、トークンの有効期間を設定し、ネットワーク制御を設定し、オンデマンドでアクセスを取り消すことで、トークンのセキュリティを確保できます。さらに、このトークンは、受信者にすでに付与されているアクセスレベルを超えてアクセスレベルを拡大しません。「トークンのセキュリティに関する考慮事項」を参照してください。
トークンを使用して受信者共有へのアクセスを管理したくない場合は、 Databricks-to-Databricks 共有 を使用するか、 Databricks アカウント チームに代替手段について問い合わせてください。
LakeFlow ConnectとOpenSharingの違いは何ですか?
OpenSharing を使用すると、プラットフォーム、クラウド、リージョン間でライブ データを安全に共有できます。Databricksでは、大量のデータ、低レイテンシのクエリ、およびサードパーティのAPI制限に対応するようにスケーリングできるため、マネージドコネクタを使用したデータ取り込みをお勧めします。ただし、データを移動せずにクエリを実行することもできます。
マネージド コネクタと OpenSharing のいずれかを選択できる場合、以下のシナリオでは OpenSharing を選択してください:
- データの重複を制限する。
- 可能な限り最新のデータをクエリします。
制限
表形式と機能のサポート
フォーマット要件:
- 表形式のデータは、 Deltaまたは管理された Icebergテーブル形式である必要があります。Parquet テーブルを Delta に簡単に変換でき、またその逆も可能です。「CONVERT TO DELTA」を参照してください。
- OpenSharing は、UniForm テーブルを Delta テーブルとしてのみ読み取ることができます。
サポートされていないテーブル:
- プロバイダーは、パーティション フィルターでリキッドクラスタリングを使用するテーブルを共有できません。
- プロバイダーは、R2 テーブルを V2 チェックポイントと共有できません。
- プロバイダーは照合が有効になっているテーブルを共有できません。
- プロバイダーは、行フィルターまたは列マスクを含むテーブルを共有できません。
- プロバイダーは
SHALLOW CLONEテーブルを共有できません。Databricks は、絶対パスを参照する Delta ログの事前署名 URL をサポートしていません。 - プロバイダーは、管理対象のIcebergテーブルを外部のIcebergクライアントと共有することはできません。「管理対象の Iceberg テーブルを共有に追加する」および「外部 Iceberg クライアントとの共有を有効にする」を参照してください。
- 外部キー制約は共有テーブルでは使用できません。
Databricks-to-Databricks共有のみ
次の資産は、 Databricks-to-Databricks共有フローを使用してのみ共有できます。
- ノートブックの共有「共有へのノートブックファイルの追加」および「Databricks-to-Databricks OpenSharing を使用して共有されたデータを読み取る(受信者向け)」を参照してください。
- ボリューム共有。「共有にボリュームを追加する(プロバイダーの場合)」および「Databricks-to-Databricksオープン共有を使用して共有されたデータを読み取る (受信者の場合)」を参照してください。
- モデル共有「共有にモデルを追加する(プロバイダーの場合)」および「Databricks-to-Databricks OpenSharing を使用して共有されたデータを読み取る(受信者の場合)」を参照してください。
ビュー
- 共有可能なビューは、Delta テーブルまたはその他の共有可能なビューで定義する必要があります。 「共有へのビューの追加 (プロバイダー向け)」および「共有ビューの読み取り (受信者向け)」を参照してください。
ストリーミング
- OpenSharing は、ストリーミング ソースの実行中またはストリーミングの再起動中に
responseFormatの変更をサポートしていません。
受信者メタデータ
- 共有カタログの
information_schemaのテーブルはUnity Catalogに保存されているメタデータを反映しています。 このメタデータは、共有テーブルを直接クエリするか、 DESCRIBEやREFRESH FOREIGNなどのコマンドを実行した場合にのみ、プロバイダから更新されます。それまでは、information_schemaプロバイダーのデータと比較して古く見えるかもしれません。
リソースと技術の限界
- 共有テーブルで許可されるメタデータ内のファイル数には制限があります。 詳細については、「 リソース制限超過エラー」を参照してください。
information_schemaという名前のスキーマはUnity Catalogで予約されているため、Unity Catalogメタストアにインポートできません。
Delta Lake 機能のサポート マトリックスも参照してください。
カスケード削除は共有保護をバイパスします
カタログやスキーマなどの親オブジェクトを削除すると、アクティブな共有に含まれている子オブジェクトであっても、その子オブジェクトの連鎖的な削除がトリガーされます。カスケード削除によってアセットが削除された後は、同じ名前のアセットを共有フォルダに再度追加することはできません。
この問題を回避するには、親オブジェクトを削除する前に、すべての共有フォルダからアセットを削除してください。
リソースクォータ
Databricks は、すべての OpenSharing セキュリティ保護可能なオブジェクトにリソース クォータを適用します。これらのクォータは、リソース制限に記載されています。これらのリソース制限を超えることが予想される場合は、Databricksアカウントチームにお問い合わせください。
クォータの使用状況は、 Unity Catalog リソース クォータ APIを使用して監視できます。 「Unity Catalog のリソース クォータの使用状況を監視する」を参照してください。