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を送信します。 それに従って、共有されたデータにアクセスするための資格情報ファイルをダウンロードします。
共有データは、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を送信します。 それに従って、共有されたデータにアクセスするための資格情報ファイルをダウンロードします。
ベアラートークンとOAuthクライアント資格情報の両方がサポートされています。
アクティベーションリンクは誰とも共有しないでください。 資格情報ファイルは一度だけダウンロードできます。 資格情報ファイルがダウンロードされた後でアクティベーションリンクに再度アクセスすると、「 資格情報ファイルのダウンロード 」ボタンは無効になります。
アクティベーションリンクを使用する前に紛失した場合は、データプロバイダにお問い合わせください。 3. 資格情報ファイルを安全な場所に格納します。
共有データにアクセスできるはずのユーザー グループ以外のユーザーと資格情報ファイルを共有しないでください。 組織内の誰かと共有する必要がある場合、Databricks ではパスワード マネージャーを使用することをお勧めします。
共有データを読んでください
Delta Sharing を使用して安全に共有されたデータを読み取る方法は、資格情報ファイルを受け取ったか (オープン共有モデル)、Databricks ワークスペースを使用していて、データ プロバイダーに共有識別子を提供したか (Databricks間共有モデル) によって異なります。
資格情報ファイルを使用した共有データの読み取り (オープン共有)
Delta Sharing オープン共有プロトコルを使用してデータが共有されている場合は、ダウンロードした資格情報ファイルを使用して、データ プロバイダーのアカウントに対する認証を行い、共有データを読み取ります。 基になるトークンが有効であり、プロバイダーがデータを引き続き共有している限り、アクセスは保持されます。 プロバイダーは、トークンの有効期限とローテーションを管理します。 データの更新は、ほぼリアルタイムで利用できます。 共有データの読み取りとコピーの作成はできますが、ソース データを変更することはできません。
Databricks、 Apache Spark、 Pandas、 Power BIの資格情報ファイルを使用して共有データにアクセスし、読み取る方法については、「 Delta Sharing オープン共有を使用して共有データを読み取る (受信者向け)」を参照してください。
Databricks-to-Databricks共有を使用した共有データの読み取り
Databricks-to-Databricksモデルを使用してデータが共有されている場合、共有データにアクセスするために資格情報ファイルは必要ありません。Databricks は安全な接続を管理し、共有データは Databricks ワークスペースで自動的に検出可能になります。
Databricksワークスペースでその共有データを検索、読み取り、管理する方法については、「Databricks-to-Databricks Delta Sharingを使用して共有されたデータを読み取る (受信者向け)」を参照してください。
共有データの使用状況を監査する
Databricks ワークスペースにアクセスできる場合は、Databricks 監査ログを使用して、組織内の誰が Delta Sharing を使用してどのデータにアクセスしているかを把握できます。 データ共有の監査と監視を参照してください。