ユーザーからマシンへのフローで Open ID Connect (OIDC) フェデレーションを使用して Delta Sharing 共有を受け取る (オープン共有)
プレビュー
この機能は パブリック プレビュー段階です。
このページでは、データ受信者が "ユーザーからマシン" (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 フェデレーションを有効にする方法については、「 Open ID Connect (OIDC) フェデレーションを使用して Delta Sharing 共有 (オープン共有) の認証を有効にする」を参照してください。 "マシン間" (M2M) OAuth クライアント資格情報フローの詳細については、「 Python クライアントを使用した Delta Sharing 共有の受信」および「マシン間フローでの 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 : データにアクセスする ID の種類がどのフィールドであるかを識別する JWT ペイロード内のフィールド (例:ユーザーまたはグループ)。
- Entra ID の 1 人のユーザーが共有データにアクセスする場合は、[
oid
(オブジェクト ID)] を選択します。 - ユーザーのグループと共有する場合は、[
groups
] を選択します。
- Entra ID の 1 人のユーザーが共有データにアクセスする場合は、[
-
件名 : 共有データにアクセスできる 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 フェデレーション ポリシーの詳細については、「 ユーザーからマシンへのフロー (オープン共有) で Open ID Connect (OIDC) フェデレーションを使用して Delta Sharing 共有を受信する」を参照してください。
Power BI を使用して共有データにアクセスする
プロバイダーがポリシーを作成すると、Databricks OIDC ポータルへのリンクが共有され、どこからでも開いて複数回アクセスできます。このリンクには機密情報は含まれていません。
必要条件
Power BI コネクタは、2025 年 3 月以降にリリースされたバージョンである必要があります。
共有にアクセスする
-
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 を貼り付けます。ベアラー トークンは事前に入力されています。
詳細については、LabsTableauDelta Sharing の コネクタの readmeDatabricks を参照してください。