Delta Sharing を使用して共有されたデータにアクセスする (受信者向け)

この記事では、Delta Sharing を使用して共有されたデータにアクセスする方法について説明します。

Delta Sharingとデータ受信者

Delta Sharing は、安全なデータ共有のためのオープン標準です。 データ プロバイダーと呼ばれる Databricks ユーザーは、 Delta Sharing を使用して、 データ受信者と呼ばれる組織外のユーザーまたはグループとデータを共有できます。

Databricks間共有とオープン共有

データにアクセスする方法は、ユーザー自身がDatabricksユーザーであるかどうか、およびデータ プロバイダーが共有するデータをDatabricks-to-Databricks間共有またはオープン共有用に構成したかどうかによって異なります。

Databricks間共有モデルではUnity Catalogが有効になっている Databricks ワークスペースのユーザーである必要があります。 チームのメンバーがデータ プロバイダーにUnity Catalogメタストアの一意の識別子を提供すると、データ プロバイダーはそれを使用して安全な共有接続を作成します。 共有データはワークスペースでアクセスできるようになります。 必要に応じて、チームのメンバーがそのデータに対してきめ細かなアクセス制御を構成します。

オープン共有モデルでは、任意のツール (Databricks を含む) を使用して共有データにアクセスできます。 データプロバイダーは、安全なチャンネル経由でアクティベーション URL を送信します。 それに従って、共有されたデータにアクセスするための資格情報ファイルをダウンロードします。

ご利用条件

共有データは Databricks から直接提供されるのではなく、Databricks 上で実行されるデータ プロバイダーによって提供されます。

注:

データ受信者がデータ プロバイダーの共有データにデータ受信者としてアクセスすることにより、データ受信者は、データ プロバイダーによって提供されたデータ共有にアクセスすることを承認されていることを表明し、(1) Databricks はそのようなデータまたはデータ受信者によるそのような共有データの使用について責任を負わないこと、(2) Databricks はデータ受信者による共有データの使用およびアクセスに関する情報 (そのような情報に関連して資格情報ファイルを使用してデータにアクセスする個人または企業を特定することを含む) を収集し、該当するデータ プロバイダーと共有する可能性があることを認めます。

共有されているデータにアクセスする

データへのアクセス方法は、データ プロバイダーがオープン共有プロトコルと Databricks 間共有プロトコルのどちらを使用してデータを共有したかによって異なります。 Databricks間共有およびオープン共有を参照してください。

Databricks間共有モデルでアクセスする

Databricks間共有モデルの場合:

  1. データ プロバイダーから、Databricks ワークスペースに関連付けられたUnity Catalogメタストアの一意の識別子を見つけるための手順が送信され、それをデータ プロバイダーに送信します。

    共有識別子は、メタストアのクラウド、リージョン、UUID (メタストアの一意の識別子) で構成される文字列で、形式は<cloud>:<region>:<uuid>です。 たとえば、 aws:eu-west-1:b0c978c8-3e68-4cdf-94af-d05c120ed1ef.

    Catalog Explorer を使用して共有識別子を取得するには:

    1. Databricks ワークスペースで、カタログアイコンカタログをクリックします。

    2. カタログパネルの上部にある歯車アイコン歯車アイコンをクリックし、 Delta Sharingを選択します。

      または、クイック アクセスページでDelta Sharing >]ボタンをクリックします。

      1. [共有アイテム]タブで、右上にある Databricks 共有組織名をクリックし、 [共有識別子のコピー]を選択します。

    ノートブックまたはDatabricks SQLクエリを使用して共有識別子を取得するには、当然SQL関数 CURRENT_METASTORE を使用します。 ノートブックを使用する場合は、共有データにアクセスするために使用するワークスペース内の共有クラスターまたはシングルユーザー クラスターで実行する必要があります。

    SELECT CURRENT_METASTORE();
    
  2. データ プロバイダーは、次のものを作成します。

    • あなたと、データにアクセスする組織内のユーザーを代表する、Databricks アカウントの受信者

    • 共有 (共有されるテーブル、ボリューム、およびビューの表現)

  3. 共有されたデータにアクセスします。 あなたやチームの誰かが、必要に応じて、ユーザーのそのデータに対する詳細なデータアクセスを設定できます。 Databricks-to-Databricks Delta Sharingを使用して共有されたデータを読み取る (受信者向け)」を参照してください。

オープン共有モデルでアクセスする

オープン共有モデルでは、次のようになります。

  1. データ プロバイダーは、次のものを作成します。

    • あなたと、データにアクセスする組織内のユーザーを代表する、Databricks アカウントの受信者。 この構成の一部として、トークンと資格情報ファイルが生成されます。

    • 共有は、共有するテーブルとパーティションを表します。

  2. データプロバイダーは、安全なチャンネル経由でアクティベーション URL を送信します。 それに従って、共有されたデータにアクセスするための資格情報ファイルをダウンロードします。

    重要

    アクティベーションリンクは誰とも共有しないでください。 資格情報ファイルは一度だけダウンロードできます。 資格情報ファイルがダウンロードされた後でアクティベーションリンクに再度アクセスすると、「 資格情報ファイルのダウンロード 」ボタンは無効になります。

    アクティベーションリンクを使用する前に紛失した場合は、データプロバイダにお問い合わせください。

  3. 資格情報ファイルを安全な場所に格納します。

    共有データにアクセスできるユーザー グループ以外のユーザーとは資格情報ファイルを共有しないでください。 組織内の誰かと共有する必要がある場合、Databricks ではパスワード マネージャーの使用を推奨しています。

共有データの読み取り

Delta Sharing を使用して安全に共有されたデータを読み取る方法は、資格情報ファイルを受け取ったか (オープン共有モデル)、Databricks ワークスペースを使用していて、データ プロバイダーに共有識別子を提供したか (Databricks間共有モデル) によって異なります。

資格情報ファイルを使用した共有データの読み取り (オープン共有)

Delta Sharing オープン共有プロトコルを使用してデータが共有されている場合は、ダウンロードした資格情報ファイルを使用してデータ プロバイダーの Databricks アカウントに認証し、共有データを読み取ります。 基礎となるトークンが有効であり、プロバイダーがデータを共有し続けている限り、アクセスは継続されます。 プロバイダーはトークンの有効期限とローテーションを管理します。 データの更新はほぼリアルタイムで利用できます。 共有データの読み取りとコピーは可能ですが、ソースデータを変更することはできません。

Databricks 、 Apache Spark 、 Pandas 、 Power BIで資格情報ファイルを使用して共有データにアクセスし、読み取る方法については、「 Delta Sharingオープン共有を使用して共有されたデータを読み取る (受信者向け)」を参照してください。

Databricks間共有を使用した共有データの読み取り

Databricks-to-Databricksモデルを使用してデータが共有されている場合、共有データにアクセスするために資格情報ファイルは必要ありません。 Databricks は安全な接続を確保し、共有データは Databricks ワークスペースで自動的に検出されます。

Databricksワークスペースで共有データを検索、読み取り、管理する方法については、 Databricks-to-Databricks Delta Sharingを使用して共有されたデータを読み取る (受信者向け)」を参照してください。

共有データの使用状況を監査する

Databricks ワークスペースにアクセスできる場合は、Databricks 監査ログを使用して、組織内の誰が Delta Sharing を使用してどのデータにアクセスしているかを把握できます。 「データ共有の監査と監視」を参照してください。