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