Delta Sharing を使用した共有データへのアクセス (受信者の場合)

このページでは、Delta Sharingを使用してあなたと共有されたデータにアクセスする方法について説明します。 デルタ共有では、Databricks から Databricks への共有、Unity カタログを使用した Azure Databricks ワークスペース ユーザー、および任意のツールを使用する受信者向けのオープン共有の 2 つのモデルがサポートされています。

Delta Sharing とデータ受信者

Delta Sharing は、セキュアなデータ共有のためのオープンスタンダードです。 このコンテキストでは、 data プロバイダーと呼ばれる Databricks ユーザーは Azure Databricks の差分共有を使用して、 data 受信者と呼ばれる組織外のユーザーまたはグループとデータを共有できます。

Databricks-to-Databricks 共有とオープン共有

データにアクセスする方法は、ご自分が Databricks ユーザーかどうか、およびデータ プロバイダーが "Databricks から Databricks への" 共有用、または "オープン共有" 用に、共有するデータを構成しているかどうかによって異なります。

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

オープン共有モデルでは、任意のツール (Databricks を含む) を使用して共有データにアクセスできます。 データ プロバイダーから、セキュリティで保護されたチャネル経由でアクティブ化 URL またはポータル リンクが送信されます。 それに従って、共有されたデータにアクセスできる資格情報ファイルまたは URL をダウンロードします。

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

注

Databricks は、データ受信者による共有データの使用とアクセスに関する情報を収集し (そのような情報に関連して資格情報ファイルを使用してデータにアクセスする個人または会社を特定することを含む)、該当するデータ プロバイダーと共有することができます。

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

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

Databricks-to-Databricks モデルでアクセスを取得する

Databricks-to-Databricks モデルでは、次の手順を行います。

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

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

    Catalog Explorer を使用して共有識別子を取得するには、次の手順を行います:

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

    2. [カタログ] ウィンドウの上部にある歯車アイコンをクリックします。歯車アイコンをクリックし、[差分共有] を選択します。

      または、右上隅の > をクリックします。

    3. [ 自分と共有 ] タブで、右上にある Databricks 共有組織名を選択し、[ 共有識別子のコピー] を選択します。

    ノートブックまたは Databricks SQL クエリを使用して共有識別子を取得するには、既定の SQL 関数 CURRENT_METASTORE を使用します。 ノートブックを使用する場合は、共有データへのアクセスに使用するワークスペース内の 標準または専用のアクセス モードで実行する必要があります。

    SELECT CURRENT_METASTORE();
    
  2. データプロバイダーによって作成されるのは以下の通りです。

    • 自分と組織内のデータにアクセスするユーザーを表す Databricks アカウントの "受信者"。
    • テーブル、ボリューム、ビューを共有するための「共有」を表します。
  3. ご自分と共有されているデータにアクセスします。 ご自分またはチームの誰かが、必要に応じて、そのデータに対する詳細なデータ アクセスをユーザーに構成できます。 「Databricks 間 Delta Sharing を使用して共有されたデータを読み取る (受信者の場合)」を参照してください。

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

オープン共有モデルでは、次の手順を実行します。

  1. データプロバイダーによって作成されるのは以下の通りです。

    • 自分と組織内のデータにアクセスするユーザーを表す Databricks アカウントの "受信者"。
    • ご自分と共有されるテーブルとパーティションを表す "共有"。
  2. データ プロバイダーから、アクティブ化 URL (セキュリティで保護されたチャネル経由) またはポータル URL が送信されます。 それに従って、自分と共有されているデータにアクセスできる資格情報ファイルまたは URL をダウンロードします。

    ベアラー トークンと OAuth クライアント資格情報の両方がサポートされています。

    重要

    アクティブ化リンクを他のユーザーと共有しないでください。 資格情報ファイルをダウンロードできるのは、1 回だけです。 資格情報ファイルをダウンロードした後に、再度アクティベーション リンクをクリックすると、[資格情報ファイルのダウンロード] ボタンが無効になります。

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

  3. 安全な場所に資格情報ファイルを保存してください。

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

共有データの読み取り

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

注

共有を読み取ろうとしたときにデータ資産が存在しないことを示すエラーが発生した場合は、「 データ資産が存在しない」エラーを参照してください。

資格情報ファイルを使用して共有データを読み取る (共有を開く)

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

Azure Databricks、Apache Spark、pandas、および Power BI において、資格情報ファイルを使用して共有データをアクセス・読み取りする方法については、「ベアラートークンによるDelta Sharingを用いたデータの読み込み」をご覧ください。

OIDC フェデレーションを使用して共有データを読み取る (共有を開く)

データが OIDC フェデレーションを使用して Delta Sharing オープン共有プロトコルで共有されている場合は、送信された 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 間 Delta Sharing を使用して共有されたデータを読み取る (受信者の場合)」を参照してください。

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

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

次のステップ