次の方法で共有


外部ストアからのクレームを含むトークンを受信するように SAML アプリを構成する (プレビュー)

この記事では、カスタム クレーム プロバイダーからの外部クレームを含むトークンを受信するように SAML アプリケーションを構成する方法について説明します。

前提条件

外部クレームを含むトークンを受信するように SAML アプリケーションを構成する前に、まず次のセクションに従ってください。

エンリッチされたトークンを受け取る SAML アプリケーションを構成する

個々のアプリ管理者または所有者は、カスタム クレーム プロバイダーを使用して、既存のアプリケーションまたは新しいアプリケーションのトークンをエンリッチできます。 これらのアプリでは、JWT (OpenID Connect の場合) または SAML 形式のいずれかでトークンを使用できます。

次の手順では、エンリッチされたクレームを含むトークンを受け取ることができるかどうかをテストできるように、デモ XRayClaims アプリケーションを登録します。

新しい SAML アプリケーションを追加する

ヒント

この記事の手順は、開始するポータルに応じて若干異なる場合があります。

テナントにギャラリー以外の新しい SAML アプリケーションを追加します。

  1. 少なくとも クラウド アプリケーション管理者 として Microsoft Entra 管理センター にサインインします。

  2. ID>アプリケーション>エンタープライズ アプリケーション を参照します。

  3. [新しいアプリケーション][独自のアプリケーションの作成] の順に選択します。

  4. アプリの名前を追加します。 たとえば、AzureADClaimsXRay などです。 [ギャラリーに見つからないその他のアプリケーションを統合します (ギャラリー以外)] オプションを 選択し、[作成] を選びます。

SAML を使用してシングル サインオンを構成する

アプリのシングル サインオンをセットアップします。

  1. [概要] ページで、[シングル サインオンの設定][SAML] の順に選択します。 [Basic SAML Configuration] (基本的な SAML 構成)[編集] を選択します。

  2. [識別子の追加] を選択し、識別子として "urn:microsoft:adfs:claimsxray" を追加します。 この識別子が組織内の別のアプリケーションで既に使用されている場合は、urn:microsoft:adfs:claimsxray12 などを代わりに使用できます。

  3. [応答 URL] を選択し、応答 URL として https://adfshelp.microsoft.com/ClaimsXray/TokenResponse を追加します。

  4. [保存] を選択します。

要求の構成

カスタム クレーム プロバイダー API によって返される属性は、Microsoft Entra ID によって返されるトークンに自動的には含まれません。 カスタム クレーム プロバイダーによって返される属性を参照し、トークン内のクレームとして返すようにアプリケーションを構成する必要があります。

  1. その新しいアプリのエンタープライズ アプリケーション構成ページで、[シングル サインオン] ウィンドウに移動します。

  2. [属性とクレーム] セクションの [編集] を選択します。

  3. [詳細設定] セクションを展開します。

  4. [カスタム クレーム プロバイダー][構成] を選択します。

  5. [カスタム クレーム プロバイダー] ドロップダウンで、前に登録した カスタム拡張機能を選択します。 [保存] を選択します。

  6. [新しクレームの追加] を選択して、新しいクレームを追加します。

  7. 発行するクレームに名前を指定します (例: "DoB")。 必要に応じて、名前空間 URI を設定します。

  8. [ソース][属性] を選択し、[ソース属性] ドロップダウンからカスタム クレーム プロバイダーによって提供される属性を選択します。 表示される属性は、カスタム クレーム プロバイダーの構成でカスタム クレーム プロバイダーによって "使用可能にする" として定義されている属性です。 カスタム クレーム プロバイダーによって提供される属性には、customclaimsprovider というプレフィックスが付きます。 たとえば、customclaimsprovider.DateOfBirthcustomclaimsprovider.CustomRoles です。 これらのクレームは、API 応答に応じて単一または複数値の場合があります。

  9. [保存] を選択して、クレームを SAML トークン構成に追加します。

  10. [クレームの管理] ウィンドウと [属性とクレーム] ウィンドウを閉じます。

アプリケーションにユーザーまたはグループを割り当てる

ユーザー サインインをテストする前に、ユーザーまたはユーザーのグループをアプリに割り当てる必要があります。 そうしないと、サインイン時に AADSTS50105 - The signed in user is not assigned to a role for the application エラーが返されます。

  1. アプリケーションの [概要] ページで、[作業の開始][ユーザーとグループの割り当て] を選択します。

  2. [ユーザーとグループ] ページで [ユーザーまたはグループの追加] を選択します。

  3. アプリにサインインするユーザーを検索して選択します。 [割り当て] ボタンを選択します。

アプリケーションをテストする

アプリケーションにサインインするユーザーに対してトークンがエンリッチされていることをテストします。

  1. アプリの概要ページで、左側のナビゲーション バーの [シングル サインオン] を選択します。

  2. 下にスクロールし、[{アプリ名} でシングル サインオンをテストする] の下にある [テスト] を選択します。

  3. [Test sign in] (サインインのテスト) を選択してサインインします。 サインインの最後に、トークン応答の Claims X-ray ツールが表示されます。 トークンに表示するように構成したクレームは、カスタム要求プロバイダーをソースとして使用するものを含め、null 以外の値を持つ場合は、すべてリストされているはずです。

外部ソースからのクレームを示すスクリーンショット。

次の手順

カスタム クレーム プロバイダー API のトラブルシューティング

Azure Functions サンプル アプリの認証イベント トリガーを確認する