次の方法で共有


ユーザーからマシンへのフロー(オープン共有)で Open ID Connect (OIDC) フェデレーションを使用してデルタシェアリングの共有を受信する。

このページでは、データ受信者が "ユーザー対マシン" (U2M) アプリケーション (Power BI など) を使用して、Open ID Connect (OIDC) フェデレーションを使用して Azure Databricks で作成された Delta Sharing 共有へのアクセスを確立する方法について説明します。 "ユーザーからマシンへの" (U2M) 認証フローでは OIDC フェデレーションが使用されるため、受信者の IdP によって発行された JSON Web トークン (JWT) を、Azure Databricks によって認証される有効期間の短い OAuth トークンとして使用できます。 この Databricks から開く共有 認証方法は、Unity カタログ対応 Databricks ワークスペースにアクセスできない受信者向けに設計されています。

OIDC フェデレーションでは、受信者の IdP が JWT トークンを発行し、Multi-Factor Authentication (MFA) などのセキュリティ ポリシーを適用する役割を担います。 同様に、JWT トークンの有効期間は受信者の IdP によって管理されます。 Databricks は、これらのトークンを生成または管理しません。 認証は受信者の IdP にのみフェデレーションされ、受信者の構成済みのフェデレーション ポリシーに対して JWT が検証されます。 データ プロバイダーは、組織内の他のユーザーまたは部門と内部的にデータを共有するときに、独自の IdP に認証をフェデレーションすることもできます。

OIDC フェデレーションは、有効期間の長い Azure Databricks によって発行されたベアラー トークンを使用して、Databricks 以外の受信者をプロバイダーに接続する代わりに使用します。 これにより、きめ細かなアクセス制御が可能になり、MFA がサポートされ、受信者が共有資格情報を管理してセキュリティで保護する必要がなくなるため、セキュリティリスクが軽減されます。 代わりにベアラー トークンを使用して共有への認証を管理する方法については、ベアラー トークンを使用して Databricks 以外のユーザーのための受信者オブジェクトを作成(オープン シェアリング)を参照してください。

このページは、"ユーザーからマシンへの" (U2M) アプリケーション (Power BI や Tableau など) を使用する受信者を対象としています。 プロバイダーが Azure Databricks の受信者に対して OIDC フェデレーションを有効にする方法については、「Open ID Connect (OIDC) フェデレーションを使用してDelta Sharing の共有 (オープンシェア) に対する認証を有効にする」を参照してください。 "machine-to-machine" (M2M) OAuth クライアント資格情報フローの詳細については、「コンピューター間フロー (オープン共有) での Python クライアントと Open ID Connect (OIDC) フェデレーションを使用して差分共有共有を受信する」を参照してください。

このページでは、データ受信者が独自の ID プロバイダー (IdP) を使用して、Databricks で作成された Delta Sharing 共有にアクセスする方法について説明します。

OIDC トークン フェデレーションを使用したユーザー間 (U2M) 認証フローの概要

Databricks プロバイダーによって共有されるデータへのアクセスに OIDC トークン フェデレーションを使用するには、次の操作を行います。

  1. Azure Databricks プロバイダーに、要求した IdP とユーザー情報を提供します。
  2. プロバイダーから送信された OIDC プロファイル生成ポータル URL を使用して、プロファイル ファイル (Tableau) または OAuth サインイン ページ (Power BI) にアクセスします。

Entra ID から OIDC ポリシー フィールドの値を取得する

受信者として Id プロバイダーとして Microsoft Entra ID を使用する場合は、次の手順に従ってプロバイダーから要求された情報を取得できます。 その他の IdP については、ドキュメントを参照してください。

  • 発行者 URL: OIDC JWT トークンの iss 要求で指定されたトークン発行者です。 Entra ID の場合は https://login.microsoftonline.com/{tenantId}/v2.0{tenantId} を Entra テナント ID に置き換えます。 テナント ID を検索する方法については、Microsoft Entra ID のドキュメントを参照してください。

  • サブジェクト要求: データにアクセスするエンティティ (ユーザーやグループなど) を識別する JWT ペイロード内のフィールドを参照します。 使用される特定のフィールドは、ID プロバイダー (IdP) とユース ケースによって異なります。 たとえば、Microsoft Entra ID では、U2M シナリオに次の値を使用できます。

    • oid (オブジェクト ID): 1 人のユーザーがアクセスを必要とする場合に選択します。
    • groups: ユーザーのグループにアクセスが必要な場合に選択します。

    その他の IdP については、ドキュメントを参照して、特定の要件に対する適切なサブジェクト要求を決定してください。

  • サブジェクト: 共有データにアクセスできる ID の一意識別子。

    • 1 人のユーザーと共有し、サブジェクト要求の oid を選択する場合は、 Microsoft Entra ID ドキュメント に従ってユーザーのオブジェクト ID を見つけ、それをサブジェクトとして使用する必要があります。
    • サブジェクト要求としてグループを選択する場合は、グループ オブジェクト ID グループ オブジェクト ID を見つける必要があります。Entra ID コンソールでグループを選択し、グループを検索します。 オブジェクト ID は、一覧のグループ行に表示されます。 グループ要求の場合は、Entra コンソールでグループを選択し、グループのオブジェクト ID を見つけます。
  • 対象ユーザー: U2M 認証の場合、受信者はこの値を必要としません。 Databricks プロバイダーでは、常に次の ID が使用されます。

    64978f70-f6a6-4204-a29e-87d74bfea138

    これは、受信者が Power BI と Tableau を使用して Databricks 共有にアクセスするために使用する、#D0 OAuth 登録済みクライアント アプリの ID です。

Entra ID の値の例

Entra ID テナント 11111111-2222-3333-4444-555555555555でオブジェクト ID aaaaaaaa-bbbb-4ccc-dddd-eeeeeeeeeeeeを持つ特定のユーザーと共有するための構成例を次に示します。

  • 発行者: https://login.microsoftonline.com/aaaaaaaa-bbbb-4ccc-dddd-eeeeeeeeeeee/v2.0
  • サブジェクト要求: oid (ユーザーのオブジェクト ID)
  • 件名: 11111111-2222-3333-4444-555555555555Microsoft Entra ID のドキュメント
  • 対象ユーザー: 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 Desktop は、バージョン 2.141.1253.0 (2025 年 3 月 31 日にリリース) 以降である必要があります。

共有にアクセスする

  1. Databricks プロバイダーが共有した OIDC プロファイル ポータルの URL に移動します。

    まだ受信していない場合は、URL を要求します。

  2. ポータル ページで [U2M ] タイルを選択し、[ Power BI で使用するには] でサービス エンドポイントをコピーします。

  3. Power BI で、[データの 取得 ] に移動し、[ 差分共有] を検索し、[ 差分共有] を選択して、[ 接続] をクリックします。

  4. Delta Sharing ダイアログで、サービス エンドポイント URL を Delta Sharing Server URL フィールドに貼り付け、[OK] をクリックします。

  5. Delta Sharing 認証ダイアログで、サイドバーで OAuth が選択されていることを確認し、[サインイン] をクリックします。

    IdP ログイン ページが表示されます。 通常どおりログインします。

  6. Delta Sharing 認証ダイアログに戻り、[接続] をクリックします。

  7. ナビゲーターでは、共有データが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 を使用して共有にアクセスするには:

  1. Databricks プロバイダーが共有した OIDC プロファイル ポータルの URL に移動します。

    まだ受信していない場合は、URL を要求します。

  2. ポータルページで、U2Mタイルを選択し、Tableauで使用するプロファイルファイルをダウンロードします。

  3. デルタ共有エンドポイントを見つけてコピーします。

  4. Tableau Delta Sharing OAuth コネクタを開いて IdP で自動的に認証し、コネクタ ページを起動します。

  5. コネクタ ページで、デルタ共有エンドポイント URL を貼り付けます。 ベアラー トークンが事前に設定されています。

詳細については、Databricks Labs の Tableau Delta Sharing コネクタの readme を参照してください。