Delta Sharing を使用して共有されたデータにアクセスする (受信者用)
この記事では、Delta Sharing を使用して共有されたデータにアクセスする方法について説明します。
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モデルでアクセスする
Databricks間共有モデルの場合:
-
データ プロバイダーから、Databricks ワークスペースに関連付けられている Unity Catalog メタストアの一意の識別子を検索する手順が送信され、それをデータ プロバイダーに送信します。
共有識別子は、メタストアのクラウド、リージョン、UUID (メタストアの一意の識別子) で構成される文字列で、
<cloud>:<region>:<uuid>
. たとえば、aws:eu-west-1:b0c978c8-3e68-4cdf-94af-d05c120ed1ef
.カタログエクスプローラーを使用して共有識別子を取得するには:
-
Databricks ワークスペースで、[
カタログ] をクリックします。
-
[カタログ ] ウィンドウの上部にある [
] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。
または、[ クイック アクセス ] ページで [Delta Sharing > ] ボタンをクリックします。
-
[ 共有先] タブで、右上にある Databricks 共有組織名をクリックし、[ 共有識別子のコピー ] を選択します。
ノートブックまたは 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 オープン共有プロトコルとベアラー トークンを使用してデータが共有されている場合は、ダウンロードした資格情報ファイルを使用してデータ プロバイダーのアカウントに認証し、共有データを読み取ります。基になるトークンが有効であり、プロバイダーがデータを引き続き共有している限り、アクセスは保持されます。プロバイダーは、トークンの有効期限とローテーションを管理します。データの更新は、ほぼリアルタイムで利用できます。共有データの読み取りとコピーの作成はできますが、ソース データを変更することはできません。
Databricks、Apache Spark、Pandas、Power BIの資格情報ファイルを使用して共有データにアクセスし、読み取る方法については、「ベアラー トークンを使用したDelta Sharingオープン共有を使用して共有データを読み取る (受信者向け)」を参照してください。
OIDC フェデレーションを使用した共有データの読み取り (オープン共有)
Delta Sharing オープン共有プロトコルと OIDC フェデレーションを使用してデータが共有されている場合は、送信された URL を使用してデータ プロバイダーのアカウントに対する認証を行い、共有データを読み取らせます。プロバイダーがデータを共有し続ける限り、アクセスは保持されます。データの更新は、ほぼリアルタイムで利用できます。共有データの読み取りとコピーの作成はできますが、ソース データを変更することはできません。
Tableau と Power BI で OIDC トークン フェデレーション フローを使用して共有データにアクセスし、読み取る方法については、 ユーザーからマシンへのフローで Open ID Connect (OIDC) フェデレーションを使用して Delta Sharing 共有を受け取る (オープン共有)を参照してください。Python クライアント アプリで OIDC トークン フェデレーション フローを使用して共有データにアクセスして読み取る方法については、「 Python クライアントを使用して Delta Sharing 共有を受信する」および「マシン間フローで Open ID Connect (OIDC) フェデレーション (オープン共有)」を参照してください。
Databricks-to-Databricks共有を使用した共有データの読み取り
Databricks-to-Databricksモデルを使用してデータが共有されている場合、共有データにアクセスするために資格情報ファイルは必要ありません。Databricks は安全な接続を管理し、共有データは Databricks ワークスペースで自動的に検出可能になります。
Databricksワークスペースでその共有データを検索、読み取り、管理する方法については、「Databricks-to-Databricks Delta Sharingを使用して共有されたデータを読み取る (受信者向け)」を参照してください。
共有データの使用状況を監査する
Databricks ワークスペースにアクセスできる場合は、Databricks 監査ログを使用して、組織内の誰が Delta Sharing を使用してどのデータにアクセスしているかを把握できます。 データ共有の監査と監視を参照してください。