メインコンテンツまでスキップ

U2M フローで Open ID Connect (OIDC) フェデレーションを使用して共有されたデータを読み取る

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

OIDCフェデレーションでは、受信側のIdPがJWTトークンを発行し、多要素認証(MFA)などのセキュリティポリシーを適用する責任があります。同様に、JWT トークンの有効期間は、受信者の IdP によって管理されます。Databricksはこれらのトークンを生成または管理しません。認証を受信者のIdPにのみフェデレートし、JWTを受信者が構成したフェデレーションポリシーに対して検証します。データプロバイダーは、組織内の他のユーザーや部署と内部的にデータを共有する際に、自身のIdPに認証をフェデレートすることも選択できます。

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

このページは、「ユーザーマシン間」(U2M)アプリケーション(Power BIやTableauなど)を使用している受信者向けです。プロバイダーが Databricks で受信者に対して OIDC フェデレーションを有効にする方法については、Open ID Connect (OIDC) フェデレーションを OpenSharing 受信者に対して有効にするを参照してください。"マシン間" (M2M) OAuth クライアント資格情報フローの詳細については、「M2MフローでのOpen ID Connect(OIDC)フェデレーションを使用した共有データの読み取り」を参照してください。

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

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

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

  1. Databricksプロバイダーが要求するIdPおよびユーザー情報をDatabricksプロバイダーに提供します。
  2. プロバイダーから提供される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ドキュメントを参照してください。

  • サブジェクトクレーム : データにアクセスするエンティティ (例: ユーザーまたはグループ) を識別する JWT ペイロード内のフィールドを指します。使用される特定のフィールドは、IDプロバイダー (IdP) とユースケースによって異なります。例えば、Microsoft Entra ID では、U2M シナリオで以下の値を使用する可能性があります。

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

    他のIdPの場合、特定の要件に適したサブジェクトクレームを決定するには、それらのドキュメントを参照してください。

  • 件名 :共有データにアクセスできるIDの一意の識別子。

    • 単一ユーザーと共有し、件名要求に oid を選択する場合は、Microsoft Entra ID ドキュメントに従ってユーザーのオブジェクト ID を見つけ、それを件名として使用する必要があります。
    • サブジェクトクレームとしてグループを選択する場合、グループオブジェクトIDを見つける必要があります。 グループオブジェクトID:Entra IDコンソールでグループを選択し、グループを検索します。オブジェクトIDは、リストのグループ行に表示されます。グループクレームの場合は、Entra コンソールでグループを選択し、該当グループのオブジェクトIDを見つけてください。
  • 対象 : 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)
  • 件名:11111111-2222-3333-4444-555555555555 Microsoft 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フェデレーションポリシーの詳細については、「U2MフローでOpen ID Connect (OIDC) フェデレーションを使用して共有されたデータを読み取る」を参照してください。

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 で、 データの取得 に移動して、 Delta Sharing を検索し、 Delta Sharing を選択して、 接続 をクリックします。

  4. OpenSharing ダイアログで、配信エンドポイント URL を OpenSharing Server URL フィールドに貼り付け、 OK をクリックします。

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

    IdP ログインページに移動します。通常どおりログインしてください。

  6. **オープン共有** 認証ダイアログに戻り、**接続**をクリックします。

  7. ナビゲーターには、オープン共有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 OpenSharing OAuth コネクタを開いて、IdP で自動的に認証し、コネクタページを起動します。

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

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