Delta Sharing を使用して共有されたデータにアクセスする (受信者用)
このページでは、Delta Sharing を使用して共有されたデータにアクセスする方法について説明します。Delta Sharing 、 Unity Catalogを使用するDatabricksワークスペース ユーザー向けのDatabricks-to-Databricks共有と、任意のツールを使用するすべての受信者向けのオープン共有の 2 つのモデルをサポートしています。
Delta Sharing とデータ受信者
Delta Sharing は、安全なデータ共有のためのオープン標準です。 Databricks ユーザー (このコンテキストでは データ プロバイダー と呼ばれます) は、Databricks の Delta Sharing を使用して、 データ受信者 と呼ばれる組織外の個人またはグループとデータを共有できます。
Databricks-to-Databricks 共有とオープン共有
データへのアクセス方法は、お客様自身が Databricks ユーザーであるかどうか、およびデータプロバイダーが共有されるデータを Databricks-to-Databricks 共有または オープン共有 用に構成したかどうかによって異なります。
Databricks-to-Databricksモデルでは 、Databricks が有効になっている ワークスペースのユーザーである必要があります。Unity Catalogチームのメンバーがデータ プロバイダーに Unity Catalog メタストアの一意の識別子を提供し、データ プロバイダーはそれを使用して安全な共有接続を作成します。 共有データは、ワークスペースでアクセスできるようになります。 必要に応じて、チームのメンバーがそのデータに対するきめ細かなアクセス制御を設定します。
オープン共有モデルでは 、任意のツール (Databricks を含む) を使用して共有データにアクセスできます。データプロバイダは、安全なチャンネルを介してアクティベーションURLまたはポータルリンクを送信します。 それに従って、共有されたデータにアクセスするための資格情報ファイルまたは URL をダウンロードします。
共有データは、Databricks によって直接提供されるのではなく、Databricks 上で実行されているデータ プロバイダーによって提供されます。
Databricksは、データ受領者による共有データの使用およびアクセスに関する情報(当該情報に関連する認証情報ファイルを使用してデータにアクセスする個人または企業を特定することを含む)を収集し、該当するデータプロバイダーと共有する場合があります。
あなたと共有されているデータにアクセスしてください
データへのアクセス方法は、データプロバイダーがオープン共有プロトコルを使用してデータを共有したか、 Databricks-to-Databricks 共有プロトコルを使用してデータを共有したかによって異なります。 「Databricks-to-Databricks共有」および「オープン共有」を参照してください。
Databricks-to-Databricksモデルでアクセスする
コストを削減し、セキュリティを強化するために、可能な限り、リージョン内ストレージ アクセスに NAT ゲートウェイではなく、VPC ゲートウェイ エンドポイントまたはS3 のインターフェース エンドポイントを使用します。
Databricks間共有モデルの場合:
-
データ プロバイダーから、Databricks ワークスペースに関連付けられている Unity Catalog メタストアの一意の識別子を検索する手順が送信され、それをデータ プロバイダーに送信します。
共有識別子は、メタストアのクラウド、リージョン、UUID (メタストアの一意の識別子) で構成される文字列で、
<cloud>:<region>:<uuid>.たとえば、aws:eu-west-1:b0c978c8-3e68-4cdf-94af-d05c120ed1ef.カタログエクスプローラーを使用して共有識別子を取得するには:
-
Databricks ワークスペースで、[
カタログ] をクリックします。
-
[カタログ ] ウィンドウの上部にある [
] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。
または、右上隅の 「共有」> Delta Sharing をクリックします。
-
[共有アイテム] タブで、右上にある Databricks 共有組織名を選択し、 [共有 ID のコピー] を選択します。
ノートブックまたは Databricks SQL クエリを使用して共有識別子を取得するには、 デフォルト SQL 関数
CURRENT_METASTOREを使用します。 ノートブックを使用する場合は、共有データへのアクセスに使用するワークスペースの 標準アクセスモードまたは専用アクセスモードで 実行する必要があります。SQLSELECT CURRENT_METASTORE(); -
-
データ プロバイダーは、次のものを作成します。
- データにアクセスする組織内のユーザーとあなたを表す Databricks アカウントの 受信者 。
- 共有 (共有されるテーブル、ボリューム、およびビューの表現)
-
共有されたデータにアクセスします。 あなたやチームの誰かが、必要に応じて、ユーザーのそのデータに対する詳細なデータアクセスを設定できます。 「Databricks-to-Databricks Delta Sharingを使用して共有されたデータの読み取り (受信者向け)」を参照してください。
オープン共有モデルでアクセスを取得する
オープン共有モデルでは、次のようになります。
-
データ プロバイダーは、次のものを作成します。
- データにアクセスする組織内のユーザーとあなたを表す Databricks アカウントの 受信者 。
- 共有 は、共有するテーブルとパーティションを表します。
-
データ プロバイダから、アクティベーション URL (安全なチャンネル経由) またはポータル URL が送信されます。 それに従って、共有されているデータにアクセスするための資格情報ファイルまたは URL をダウンロードします。
ベアラートークンとOAuthクライアント資格情報の両方がサポートされています。
アクティベーションリンクは誰とも共有しないでください。資格情報ファイルは一度だけダウンロードできます。資格情報ファイルがダウンロードされた後でアクティベーションリンクに再度アクセスすると、「 資格情報ファイルのダウンロード 」ボタンは無効になります。
アクティベーションリンクを使用する前に紛失した場合は、データプロバイダにお問い合わせください。 3. 資格情報ファイルを安全な場所に格納します。
共有データにアクセスできるはずのユーザー グループ以外のユーザーと資格情報ファイルを共有しないでください。組織内の誰かと共有する必要がある場合、Databricks ではパスワード マネージャーを使用することをお勧めします。
共有データを読んでください
Delta Sharing を使用して安全に共有されたデータを読み取る方法は、資格情報ファイルを受け取ったか (オープン共有モデル)、Databricks ワークスペースを使用していて、データ プロバイダーに共有識別子を提供したか (Databricks間共有モデル) によって異なります。
共有を読み取ろうとしたときにデータ資産が存在しないというエラーが表示される場合は、 「データ資産が存在しません」というエラーを参照してください。
資格情報ファイルを使用した共有データの読み取り (オープン共有)
ベアラー トークンを使用した Delta Sharing オープン共有プロトコルを使用してデータが共有されている場合は、ダウンロードした資格情報ファイルを使用してデータ プロバイダーのアカウントを認証し、共有データを読み取ります。基礎となるトークンが有効であり、プロバイダーがデータを共有し続けている限り、アクセスは継続されます。プロバイダーはトークンの有効期限とローテーションを管理します。トークンは作成後最大 1 年間有効です。データの更新はほぼリアルタイムで利用できます。共有データの読み取りとコピーは可能ですが、ソースデータを変更することはできません。
Databricks 、 Apache Spark 、 Pandas 、 Power BIで認証情報ファイルを使用して共有データにアクセスして読み取る方法については、 Delta Sharingを使用して共有されたデータを読み取る (ベアラーによるオープン共有)」を参照してください。 。
OIDC フェデレーションを使用した共有データの読み取り (オープン共有)
Delta Sharing オープン共有プロトコルと OIDC フェデレーションを使用してデータが共有されている場合は、送信された URL を使用してデータ プロバイダーのアカウントに対する認証を行い、共有データを読み取らせます。プロバイダーがデータを共有し続ける限り、アクセスは保持されます。データの更新は、ほぼリアルタイムで利用できます。共有データの読み取りとコピーの作成はできますが、ソース データを変更することはできません。
Tableau および Power BI で OIDC トークンフェデレーション フローを使用して共有データにアクセスして読み取る方法については、 「U2M フローで Open ID Connect (OIDC) フェデレーションを使用して共有されたデータを読み取る」を参照してください。Python クライアント アプリで OIDC トークン フェデレーション フローを使用して共有データにアクセスして読み取る方法については、 「M2M フローで Open ID Connect (OIDC) フェデレーションを使用して共有されたデータを読み取る」を参照してください。
Databricks-to-Databricks共有を使用した共有データの読み取り
Databricks-to-Databricksモデルを使用してデータが共有されている場合、共有データにアクセスするために資格情報ファイルは必要ありません。Databricks は安全な接続を管理し、共有データは Databricks ワークスペースで自動的に検出可能になります。
Databricksワークスペースでその共有データを検索、読み取り、管理する方法については、「Databricks-to-Databricks Delta Sharingを使用して共有されたデータを読み取る (受信者向け)」を参照してください。
共有データの使用状況を監査する
Databricks ワークスペースにアクセスできる場合は、Databricks 監査ログを使用して、組織内の誰が Delta Sharing を使用してどのデータにアクセスしているかを把握できます。 データ共有の監査と監視を参照してください。