このページでは、OpenSharing を使用して共有されているデータにアクセスする方法について説明します。 OpenSharing では、複数の共有モデルがサポートされています。
- Unity Catalog を利用する Azure Databricks ワークスペースユーザー向けの、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からDatabricksへのモデルでは、プロバイダーがどのようにデータを共有するかによってデータへのアクセス方法が異なります。
データへのアクセスを得た後は、あなたやチームの誰かがそのデータに対して細かいデータアクセスをユーザー向けに設定できます。 Databricks-to-Databricks OpenSharing (受信者向け) を使用して共有されるデータの読み取りを参照してください。
メールによるアクセス
Important
この機能は ベータ版です。
もしプロバイダーがメールでデータを共有した場合、Databricksは「<Organization> があなたと共有したデータ」という件名のメールを送ります。 メールには安全なアクティベーションリンクが含まれています。 もしプロバイダーがAzure Databricksとオープンシェアリングの両方を許可しているなら、データへのアクセス方法を選択できます。
これらの株式を受け入れるには:
- メールを開き、「 既存のDatabricksアカウントを使える 」または「 無料のDatabricksアカウントを作成する」をクリックしてください。
- OpenSharingメールを受け取ったのと同じメールアドレスを使って、Azure Databricksアカウントにログインまたは作成してください。
- Azure DatabricksのメタストアレベルでCREATE PROVIDER権限を持っている必要があります。 必要なら許可を申請し、メタストア管理者が権限を付与するのを待ちましょう。
- シェアがどこにあるべきメタストアかを指定してください。
共有識別子を用いたアクセス
プロバイダーが 共有識別子を使ってデータ共有を求めた場合、選択したワークスペースに紐づくUnity Catalogメタストアの識別子を見つけなければなりません。 それをプロバイダーに送って、あなたを表す受信対象を作成してもらいましょう。 共有が作成されてアクセス権を付与されると、自動的にデータへの読み取り専用アクセス権が得られます。
共有識別子は、メタストアのクラウド、リージョン、UUID (メタストアの一意識別子) で構成される文字列であり、 <cloud>:<region>:<uuid>形式です。
例えば、以下のスクリーンショットでは、完全な共有識別子が aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016されています。
共有識別子は、カタログエクスプローラー、Databricks Unity Catalog CLI、またはDataBricksノートブックやDatabricks SQLクエリの CURRENT_METASTORE SQL関数を使って見つけられます。
カタログ エクスプローラー
Azure Databricks ワークスペースで、
Catalog をクリックします。
[カタログ] ウィンドウの上部にある
をクリックします。歯車アイコンをクリックし、[OpenSharing] を選択します。
または、右上隅の [ 共有] > [OpenSharing] をクリックします。
[自分と共有] タブで、右上にある Databricks 共有組織名をクリックし、[共有識別子のコピー] を選択します。
SQL
ノートブックやクエリは、共有データにアクセスするために使用するワークスペースで 標準または専用のアクセスモード で計算しなければなりません。
ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。
SELECT CURRENT_METASTORE();
CLI
Databricks CLI を使用して次のコマンドを実行します。 共有識別子は、global_metastore_id として返されます。
databricks metastores summary
Databricks から Open への共有モデルでアクセスできるようにする
Databricks から Open への共有モデルでは、次の手順を実行します。
データ提供者は安全なチャネルを通じてアクティベーションURLやポータルURLを送ってくるか、Databricksがメールを送ってきます。 メール招待は転送できません。 認証情報ファイルをダウンロードするか、共有されたデータにアクセスするにはリンクをたどってください。
ベアラー トークンと 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 を使用してどのデータにアクセスするかを把握できます。 データ共有の監査と監視を参照してください。