このページでは、OpenSharing を使用して共有されているデータにアクセスする方法について説明します。 OpenSharing では、複数の共有モデルがサポートされています。
- Databricks から Databricks への共有(Unity カタログを使用Azure Databricksワークスペース ユーザー向け)
- どのツールを使用する受信者にも対応する、Databricks から Open への共有
- Open-to-Databricks 共有(オープンソースの OpenSharing プロトコルを使用するプロバイダー向け、Azure Databricks を使用する受信者との共有)
OpenSharing とデータ受信者
OpenSharing は、セキュリティで保護されたデータ共有のためのオープン標準です。 このコンテキストではデータ プロバイダーと呼ばれる Databricks ユーザーは、Azure Databricksで OpenSharing を使用して、データ受信者と呼ばれる組織外のユーザーまたはグループとデータを共有できます。
プロトコルの共有
データへのアクセス方法は、お客様自身が Databricks ユーザーであるかどうか、およびデータ プロバイダーがお客様に共有するデータを Databricks-to-Databricks 共有、Databricks-to-Open 共有、または Open-to-Databricks 共有用に構成しているかどうかによって異なります。
Databricks-to-Databricks モデルでは、Unity Catalogで有効になっている Databricks ワークスペースのユーザーである必要があります。 ご自分のチームのメンバーが Unity Catalog メタストアの一意の識別子をデータ プロバイダーに提供し、データ プロバイダーはそれを使用して安全な共有接続を作成します。 共有データがワークスペースでアクセスできるようになります。 必要に応じて、チームのメンバーがそのデータに対してきめ細かいアクセス制御を構成します。
Databricks からオープンへの共有モデルでは、任意のツール (Databricks を含む) を使用して共有データにアクセスできます。 データ プロバイダーから、セキュリティで保護されたチャネル経由でアクティブ化 URL またはポータル リンクが送信されます。 それに従って、共有されたデータにアクセスできる資格情報ファイルまたは URL をダウンロードします。
共有データは、Databricks によって直接提供されるのではなく、Azure Databricks で実行しているデータ プロバイダーによって提供されます。
Open-to-Databricks モデルでは、Azure Databricksを使用して、オープンソースの OpenSharing プロトコルを使用してデータ プロバイダーが共有するデータにアクセスできます。 データ プロバイダーは、Azure 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 はパスワードマネージャーの使用を推奨します。
Open-to-Databricks モデルでアクセスを取得する
Open-to-Databricks モデルでは、次の手順を実行します。
データ プロバイダーは 、オープン ソースの OpenSharing プロトコルを 使用して共有を作成し、共有に資産を追加します。
データ プロバイダーから、アクティブ化 URL (セキュリティで保護されたチャネル経由) またはポータル URL が送信されます。 それに従って、自分と共有されているデータにアクセスできる資格情報ファイルまたは URL をダウンロードします。
ベアラー トークンと OAuth クライアント資格情報の両方がサポートされています。
Important
アクティブ化リンクを他のユーザーと共有しないでください。 資格情報ファイルをダウンロードできるのは、1 回だけです。 資格情報ファイルをダウンロードした後に、再度アクティベーション リンクをクリックすると、[資格情報ファイルのダウンロード] ボタンが無効になります。
お使いになる前にアクティブ化リンクを紛失した場合は、データ プロバイダーにお問い合わせください。
資格情報ファイルを Azure Databricks ワークスペースに格納します。
共有データにアクセスできるユーザー のグループ外のユーザーと資格情報ファイルを共有しないでください。
共有データの読み取り
OpenSharing を使用して安全に共有されたデータを読み取る方法は、資格情報ファイルを受信したか、Databricks ワークスペースを使用しているかによって異なります。また、共有識別子 (Databricks から Databricks へのモデル) をデータ プロバイダーに提供したかによって異なります。
注
共有を読み取ろうとしたときにデータ資産が存在しないことを示すエラーが発生した場合は、「 データ資産が存在しない」エラーを参照してください。
認証情報ファイルを使用して共有データを読み込む(Databricks-to-Open 共有または Open-to-Databricks 共有)
ベアラー トークンを使用してデータが共有されている場合は、ダウンロードした資格情報ファイルを使用してデータ プロバイダーのアカウントに対する認証を行い、共有データを読み取ります。 基になるトークンが有効であり、プロバイダーがデータを共有し続ける限り、アクセス権は保持されます。 プロバイダーはトークンの有効期限とローテーションを管理します。 トークンは、作成後最大 1 年間有効です。 データの更新は、ほぼリアルタイムで利用できます。 共有データのコピーを読み取って作成することはできますが、ソース データを変更することはできません。
Azure Databricksを使用して共有データにアクセスして読み取る方法については、「プロバイダーのインポートとAzure Databricksの共有データの読み取り」を参照してください。
Apache Spark、pandas、およびPower BIを使用して共有データにアクセスして読み取る方法については、「ベアラー トークンで共有されるデータの読み取り」を参照してください。
OIDC フェデレーションを使用して共有データを読み取る (Databricks から Open への共有)
OIDC フェデレーションで 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 を使用してどのデータにアクセスするかを把握できます。 データ共有の監査と監視を参照してください。