Delta Sharing を使用した共有データへのアクセス (受信者の場合)
この記事では、Delta Sharing を使用して共有されているデータにアクセスする方法について説明します。
Delta Sharing とデータ受信者
Delta Sharing は、セキュアなデータ共有のためのオープンスタンダードです。 "データプロバイダー" と呼ばれる Databricks ユーザーは、Delta Sharing を使用して、"データ受信者" と呼ばれる組織外の個人またはグループとデータを共有できます。
Databricks-to-Databricks 共有とオープン共有
データにアクセスする方法は、ご自分が Databricks ユーザーかどうか、およびデータ プロバイダーが "Databricks から Databricks への" 共有用、または "オープン共有" 用に、共有するデータを構成しているかどうかによって異なります。
Databricks-to-Databricks モデルでは、Unity Catalogで有効になっている Databricks ワークスペースのユーザーである必要があります。 ご自分のチームのメンバーが Unity Catalog メタストアの一意の識別子をデータ プロバイダーに提供し、データ プロバイダーはそれを使用して安全な共有接続を作成します。 共有データがワークスペースでアクセスできるようになります。 必要に応じて、チームのメンバーがそのデータに対してきめ細かいアクセス制御を構成します。
オープン共有モデルでは、任意のツール (Databricks を含む) を使用して共有データにアクセスできます。 データ プロバイダーから、セキュリティで保護されたチャネル経由でアクティブ化 URL が送信されます。 それに従って、自分と共有されているデータにアクセスできる資格情報ファイルをダウンロードします。
使用条件
共有データは、Databricks によって直接提供されるのではなく、Azure Databricks で実行しているデータ プロバイダーによって提供されます。
注意
データ プロバイダーの共有データにデータ受信者としてアクセスすることで、データ受信者は、データ プロバイダーが提供するデータ共有へのアクセスが許可されていることを示すとともに、(1) Databricks はそのような共有データまたはそのようなデータのデータ受信者による使用についての法的責任を負わないこと、ならびに (2) Databricks はデータ受信者による共有データの使用および共有データへのアクセスに関する情報 (そのような情報に関連する資格情報を使用してデータにアクセスする個人または会社の識別を含む) を収集することができ、それを該当するデータ プロバイダーと共有することを認めます。
自分と共有されているデータにアクセスする
データにアクセスする方法は、データ プロバイダーがデータの共有に使用しているのが、オープン共有プロトコルか、または Databricks-to-Databricks 共有プロトコルかによって異なります。 「Databricks-to-Databricks 共有とオープン共有」を参照してください。
Databricks-to-Databricks モデルでアクセスする
Databricks-to-Databricks モデルでは、次の手順を行います。
データ プロバイダーから、お使いの Databricks ワークスペースに関連付けられている Unity Catalog メタストアの一意の識別子を検索する手順が送信されるので、それを送信します。
共有識別子は、メタストアのクラウド、リージョン、UUID (メタストアの一意識別子) で構成される
<cloud>:<region>:<uuid>
形式の文字列です。 たとえば、「aws:eu-west-1:b0c978c8-3e68-4cdf-94af-d05c120ed1ef
」のように入力します。Catalog Explorer を使用して共有識別子を取得するには、次の手順を行います:
Azure Databricks ワークスペースで、 [カタログ] をクリックします。
[カタログ] ペインの上部にある 歯車アイコンをクリックし、[Delta Sharing] を選択します。
または、[クイック アクセス] ページで、[Delta Sharing >] ボタンをクリックします。
- [自分と共有] タブで、右上にある Databricks 共有組織名をクリックし、[共有識別子のコピー] を選択します。
ノートブックまたは Databricks SQL クエリを使用して共有識別子を取得するには、既定の SQL 関数
CURRENT_METASTORE
を使用します。 ノートブックを使用する場合は、共有データへのアクセスに使用するワークスペース内の共有またはシングル ユーザー クラスターで実行する必要があります。SELECT CURRENT_METASTORE();
データ プロバイダーにより次が作成されます。
- 自分と組織内のデータにアクセスするユーザーを表す Databricks アカウントの "受信者"。
- 共有するテーブル、ボリューム、ビューを表す "共有"。
ご自分と共有されているデータにアクセスします。 ご自分またはチームの誰かが、必要に応じて、そのデータに対する詳細なデータ アクセスをユーザーに構成できます。 「Databricks 間 Delta Sharing を使用して共有されたデータを読み取る (受信者の場合)」を参照してください。
オープン共有モデルでアクセスを取得する
オープン共有モデルでは、次の手順を実行します。
データ プロバイダーにより次が作成されます。
- 自分と組織内のデータにアクセスするユーザーを表す Databricks アカウントの "受信者"。 トークンと資格情報ファイルは、この構成の一部として生成されます。
- ご自分と共有されるテーブルとパーティションを表す "共有"。
データ プロバイダーから、セキュリティで保護されたチャネル経由でアクティブ化 URL が送信されます。 それに従って、自分と共有されているデータにアクセスできる資格情報ファイルをダウンロードします。
重要
アクティブ化リンクは誰とも共有しないでください。 資格情報ファイルをダウンロードできるのは、1 回だけです。 資格情報ファイルをダウンロードした後に、再度アクティベーション リンクをクリックすると、[資格情報ファイルのダウンロード] ボタンが無効になります。
お使いになる前にアクティブ化リンクを紛失した場合は、データ プロバイダーにお問い合わせください。
安全な場所に資格情報ファイルを保存してください。
共有データにアクセスできるユーザーのグループ以外の人と資格情報ファイルを共有しないでください。 資格情報ファイルを組織内のユーザーと共有する必要がある場合は、Databricks はパスワードマネージャーの使用を推奨します。
共有データの読み取り
Delta Sharing を使用して安全に共有されているデータを読み取る方法は、資格情報ファイル (オープン共有モデル) を受け取ったか、Databricks ワークスペースを使用していて、共有識別子 (Databricks-to-Databricks モデル) をデータ プロバイダーに提供したかによって異なります。
資格情報ファイルを使用して共有データを読み取る (共有を開く)
Delta Sharing オープン共有プロトコルを使用してデータが共有されている場合は、ダウンロードした資格情報ファイルを使用してデータ プロバイダーの Databricks アカウントに対する認証を行い、共有データを読み取ります。 基になるトークンが有効であり、プロバイダーがデータを共有し続ける限り、アクセス権は保持されます。 プロバイダーはトークンの有効期限とローテーションを管理します。 データの更新は、ほぼリアルタイムで利用できます。 共有データの読み取りとコピーはできますが、ソースデータを変更することはできません。
Azure Databricks、Apache Spark、pandas、Power BI の資格情報ファイルを使用して共有データにアクセスして読み取る方法については、「Delta Sharing オープン共有を使用した共有データを読み取る (受信者の場合)」を参照してください。
Databricks-to-Databricks 共有を使用した共有データを読み取る
Databricks-to-Databricks モデルを使用してデータが共有されている場合、共有データにアクセスするための資格情報ファイルは必要ありません。 Databricks はセキュリティで保護された接続を処理し、共有データは Databricks ワークスペースで自動的に検出が可能です。
Databricks ワークスペースでその共有データの検索、読み取り、管理を行う方法については、「Databricks 間 Delta Sharing を使用して共有されたデータを読み取る (受信者の場合)」を参照してください。
共有データの使用状況を監査する
Azure Databricks ワークスペースにアクセスできる場合は、Delta Sharing を使用して組織内の誰がどのデータにアクセスしているのかを把握するために、Azure Databricks 監査ログを使用できます。 「データ共有の監査と監視」を参照してください。