U2MフローでOpenID Connect(OIDC)フェデレーションを使用して共有されたデータを読み取る
このページでは、データ受信者が "ユーザーからマシン" (U2M) アプリケーション (Power BI など) を使用して、Open ID Connect (OIDC) フェデレーションを使用して Databricks で作成された Delta Sharing 共有へのアクセスを確立する方法について説明します。「ユーザーツーマシン」(U2M)認証フローはOIDCフェデレーションを使用し、受信者のIdPによって発行されたJSON Webトークン(JWT)を、 によって認証される短命のOAuth トークンとして使用できます。Databricksこの Databricks から Open への共有 認証方法は、Unity Catalog 対応の Databricks ワークスペースにアクセスできない受信者向けに設計されています。
OIDC フェデレーションでは、受信者の IdP が JWT トークンの発行と、多要素認証 (MFA) などのセキュリティポリシーの適用を担当します。同様に、JWT トークンの有効期間は、受信者の IdP によって管理されます。Databricks では、これらのトークンは生成または管理されません。認証を受信者のIdPにフェデレートし、受信者が設定したフェデレーションポリシーに対してJWTを検証するだけです。データプロバイダーは、組織内の他のユーザーや部門と内部的にデータを共有するときに、認証を独自のIdPにフェデレーションすることもできます。
OIDC フェデレーションは、Databricks が発行した長期間有効なベアラー トークンを使用して、Databricks 以外の受信者をプロバイダーに接続する代替手段です。きめ細かなアクセス制御を可能にし、MFAをサポートし、受信者が共有資格情報を管理して保護する必要性を排除することでセキュリティリスクを軽減します。ベアラー トークンを使用して共有への認証を管理する方法については、ベアラー トークンを使用して非Databricks ユーザーの受信者オブジェクトを作成する (オープン共有)を参照してください。
このページは、「ユーザー対マシン」(U2M)アプリケーション(例:Power BI、Tableau)を使用しているユーザー向けです。プロバイダーがDatabricksの受信者に対して OIDC フェデレーションを有効にする方法については、 「 Delta Sharing受信者に対して Open ID Connect (OIDC) フェデレーションを有効にする」を参照してください。 「マシン間」(M2M)OAuthクライアント認証情報フローの詳細については、 「M2MフローでOpen ID Connect(OIDC)フェデレーションを使用して共有されたデータを読み取る」を参照してください。
このページでは、データ受信者が自分の ID プロバイダー (IdP) を使用して、Databricks で作成された Delta Sharing 共有にアクセスする方法について説明します。
OIDC トークン フェデレーションを使用したユーザーマシン間 (U2M) 認証フローの概要
OIDC トークン フェデレーションを使用して、 Databricks プロバイダーによって共有されるデータにアクセスするには、次の操作を行います。
- Databricks プロバイダーに、要求した IdP とユーザー情報を提供します。
- プロバイダーから送信された OIDC プロファイル生成ポータルの URL を使用して、プロファイル ファイル (Tableau) または OAuth サインイン ページ (Power BI) にアクセスします。
Entra ID から OIDC ポリシー フィールド値を取得する
受信者として Microsoft Entra ID を ID プロバイダーとして使用する場合は、次の手順に従ってプロバイダーから要求された情報を取得できます。その他の IdP については、その IdP のドキュメントを参照してください。
-
発行者 URL : これは、OIDC JWT トークンの
iss要求で指定されるトークン発行者です。Entra ID の場合はhttps://login.microsoftonline.com/{tenantId}/v2.0で、{tenantId}を Entra テナント ID に置き換えます。テナント ID を見つける方法については、 Microsoft Entra ID のドキュメントを参照してください。 -
Subject Claim : データにアクセスするエンティティ (ユーザーやグループなど) を識別する JWT ペイロード内のフィールドを参照します。使用される特定のフィールドは、ID プロバイダー (IdP) とユースケースによって異なります。たとえば、Microsoft Entra ID では、U2M シナリオに次の値を使用できます。
oid(オブジェクト ID): 1 人のユーザーがアクセスを必要とする場合に選択します。groups: ユーザーのグループがアクセスを必要とする場合に選択します。
その他の IdP については、そのドキュメントを参照して、特定の要件に適したサブジェクト クレームを決定してください。
-
件名 : 共有データにアクセスできる ID の一意の識別子。
- 1 人のユーザーと共有し、サブジェクト要求に
oidを選択した場合は、 Microsoft Entra ID のドキュメントに従ってユーザーのオブジェクト ID を見つける必要があります そして、それを主語として使用します。 - subject-claim として グループ を選択した場合は、グループ オブジェクト ID を見つける必要があります グループ オブジェクト ID: Entra ID コンソールで、[グループ] を選択し、グループを検索します。 オブジェクト ID は、リストのグループ行に表示されます。グループ要求の場合は、Entra コンソールで [グループ] を選択し、グループのオブジェクト ID を見つけます。
- 1 人のユーザーと共有し、サブジェクト要求に
-
対象ユーザー : U2M 認証の場合、受信者はこの値を必要としません。Databricks プロバイダーは、常に次の ID を使用します。
64978f70-f6a6-4204-a29e-87d74bfea138これは、受信者が Power BI と Tableau を使用して Databricks 共有にアクセスするために使用する、
Databricks published multi-tenant App(DeltaSharing)OAuth に登録されたクライアント アプリの ID です。
Entra ID の値の例
これらは、Entra ID テナント aaaaaaaa-bbbb-4ccc-dddd-eeeeeeeeeeeeでオブジェクト ID 11111111-2222-3333-4444-555555555555 を持つ特定のユーザーと共有するための設定例です。
- 発行者:
https://login.microsoftonline.com/aaaaaaaa-bbbb-4ccc-dddd-eeeeeeeeeeee/v2.0 - サブジェクト要求:
oid(ユーザーのオブジェクト ID) - 件名: Microsoft Entra ID のドキュメント
11111111-2222-3333-4444-555555555555 - 対象ユーザー:
64978f70-f6a6-4204-a29e-87d74bfea138(これは、Databricks によって Entra ID に登録されたマルチテナント アプリのクライアント ID です)
これらは、Entra ID テナントのオブジェクト ID 66666666-2222-3333-4444-555555555555 を持つ特定のグループと共有するための構成例です aaaaaaaa-bbbb-4ccc-dddd-eeeeeeeeeeee
- 発行者:
https://login.microsoftonline.com/aaaaaaaa-bbbb-4ccc-dddd-eeeeeeeeeeee/v2.0 - サブジェクトクレーム:
groups - 件名:
66666666-2222-3333-4444-555555555555(これはグループのオブジェクト ID で、Entra ID コンソールで確認できます。グループを選択して、グループのオブジェクト ID を見つけることができます) - 対象ユーザー:
64978f70-f6a6-4204-a29e-87d74bfea138(これは、Databricks によって Entra ID に登録されたマルチテナント アプリのクライアント ID です)
Power BI や Tableau などの U2M アプリケーションの場合、対象ユーザーは Databricks によって Entra ID に登録されたマルチテナント アプリ ID ( 64978f70-f6a6-4204-a29e-87d74bfea138) である必要があります。
U2M アプリケーションとその OIDC フェデレーション ポリシーの詳細については、「U2M フローでの Open ID Connect (OIDC) フェデレーションを使用して共有されたデータの読み取り」を参照してください。
Power BI を使用して共有データにアクセスする
プロバイダーがポリシーを作成すると、Databricks OIDC ポータルへのリンクが共有され、どこからでも開いて複数回アクセスできます。このリンクには機密情報は含まれていません。
必要条件
Power BI Desktop のバージョンは 2.141.1253.0 である必要があります(2025年3月31日発売)以降
共有にアクセスする
-
Databricks プロバイダーから共有された OIDC プロファイル ポータルの URL に移動します。
URL をまだ受け取っていない場合は、リクエストします。
-
ポータル ページで U2M タイルを選択し、 Power BI で使用するには で、配信エンドポイントをコピーします。
-
Power BI で、 データの取得 に移動して、 Delta Sharing を検索し、 Delta Sharing を選択して 接続 をクリックします。
-
Delta Sharing ダイアログで、配信エンドポイント URL を Delta Sharing Server URL フィールドに貼り付け、 OK をクリックします。
-
Delta Sharing 認証ダイアログで、サイドバーで OAuth が選択されていることを確認し、 [ サインイン ] をクリックします。
IdP のログイン ページに移動します。通常どおりログインします。
-
Delta Sharing 認証ダイアログに戻り、 接続 をクリックします。
-
ナビゲーターでは、共有データは Delta Sharing URL の下に一覧表示されます。
マルチテナントアプリの承認
Databricks が公開したマルチテナント アプリ (DeltaSharing) を使用できるようにするには、Entra ID テナント管理者がブラウザーでこの URL を開き、
管理者 ID でサインインして使用を承認します: https://login.microsoftonline.com/{organization}/adminconsent?client_id=64978f70-f6a6-4204-a29e-87d74bfea138。{organization}をAzureテナントIDに置き換えてください。これは 1 回限りのアクションで、詳細については https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/grant-admin-consent?pivots=portal を参照してください。
Tableau を使用した共有データへのアクセス
Tableau を使用して共有にアクセスするには、次の手順に従います。
-
Databricks プロバイダーから共有された OIDC プロファイル ポータルの URL に移動します。
URL をまだ受け取っていない場合は、リクエストします。
-
ポータル ページで U2M タイルを選択し、 Tableau で使用するには でプロファイル ファイルをダウンロードします。
-
Delta Sharing エンドポイントを見つけてコピーします。
-
Tableau Delta Sharing OAuth コネクタを開いて IdP で自動的に認証し、コネクタ ページを起動します。
-
コネクタ ページに、Delta Sharing エンドポイント URL を貼り付けます。ベアラー トークンは事前に入力されています。
詳細については、Databricks LabsのTableau Delta Sharingコネクタの readmeを参照してください。