この記事では、Microsoft Entra 管理センターを使用して、証明書利用者セキュリティ トークン サービス (STS) に依存するエンタープライズ アプリケーションに対してシングル サインオン (SSO) を有効にします。 証明書利用者 STS は、セキュリティ アサーション マークアップ言語 (SAML) をサポートしており、エンタープライズ アプリケーションとして Microsoft Entra と統合できます。 SSO を構成した後、ユーザーは Microsoft Entra 資格情報を使用してアプリケーションにサインインできます。
アプリケーションがシングル サインオンのために Microsoft Entra と直接統合され、証明書利用者セキュリティ トークン サービス (STS) を必要としない場合は、「 エンタープライズ アプリケーションのシングル サインオンを有効にする」の記事を参照してください。
運用テナントでアプリケーションを構成する前に、非運用環境を使用してこの記事の手順をテストすることをお勧めします。
[前提条件]
SSO を構成するには、次のものが必要です。
- HTTPS エンドポイントを持つ Active Directory フェデレーション サービス (AD FS) や PingFederate などの証明書利用者サービス STS
- 証明書利用者 STS のエンティティ識別子 (エンティティ ID) が必要です。 これは、Microsoft Entra テナントで構成されているすべての証明書利用者 STS およびアプリケーションで一意である必要があります。 同じエンティティ識別子を持つ 1 つの Microsoft Entra テナントに 2 つのアプリケーションを含めることはできません。 たとえば、Active Directory フェデレーション サービス (AD FS) が証明書利用者 STS である場合、識別子は
http://{hostname.___domain}/adfs/services/trust
形式の URL である可能性があります。 - 証明書利用者 STS のアサーション コンシューマー サービス URL (応答 URL) も必要です。 この URL は、アプリケーションへのシングル サインオンの一環として、Microsoft Entra から証明書利用者 STS に SAML トークンを安全に転送するための
HTTPS
URL である必要があります。 たとえば、AD FS が証明書利用者 STS の場合、URL はhttps://{hostname.___domain}/adfs/ls/
形式である可能性があります。
- 証明書利用者 STS のエンティティ識別子 (エンティティ ID) が必要です。 これは、Microsoft Entra テナントで構成されているすべての証明書利用者 STS およびアプリケーションで一意である必要があります。 同じエンティティ識別子を持つ 1 つの Microsoft Entra テナントに 2 つのアプリケーションを含めることはできません。 たとえば、Active Directory フェデレーション サービス (AD FS) が証明書利用者 STS である場合、識別子は
- 既にその依存先用の STS と統合されているアプリケーション
- Microsoft Entra の次のいずれかのロール: クラウド アプリケーション管理者、アプリケーション管理者
- アプリケーションにサインインできる Microsoft Entra のテスト ユーザー
注
このチュートリアルでは、1 つの Microsoft Entra テナント、1 つの証明書利用者 STS、および証明書利用者 STS に接続された 1 つのアプリケーションがあることを前提としています。 このチュートリアルでは、証明書利用者 STS によって提供されるエンティティ識別子を使用して適切なエンタープライズ アプリケーションを決定し、応答で SAML トークンを送信するように Microsoft Entra を構成する方法について説明します。 1 つの証明書利用者 STS に複数のアプリケーションが接続されている場合、Microsoft Entra は SAML トークンを発行するときにこれら 2 つのアプリケーションを区別できません。 異なるエンティティ識別子の構成は、このチュートリアルの範囲外です。
Microsoft Entra でアプリケーションを作成する
まず、Microsoft Entra でエンタープライズ アプリケーションを作成します。これにより、Microsoft Entra は証明書利用者 STS がアプリケーションに提供する SAML トークンを生成できます。
- クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
- Entra ID>エンタープライズアプリ>すべてのアプリケーションに移動します。
- 証明書利用者 STS を表すアプリケーションを既に構成している場合は、検索ボックスに既存のアプリケーションの名前を入力し、検索結果からアプリケーションを選択して、次のセクションに進みます。
- [新しいアプリケーション] を選択します。
- [独自のアプリケーション 作成] を選択します。
- 入力名ボックスに新しいアプリケーションの名前を入力し、[ ギャラリーに見つからない他のアプリケーションを統合する (ギャラリー以外)]、[ 作成] の順に選択します。
アプリケーションでシングル サインオンを構成する
左側のメニューの [ 管理 ] セクションで、[ シングル サインオン ] を選択して、編集用の [シングル サインオン ] ウィンドウを開きます。
SAML を選択して SSO 構成ページを開きます。
[ 基本的な SAML 構成 ] ボックスで、[編集] を選択 します。 さらに SAML 構成を変更する前に、識別子と応答 URL を設定する必要があります。
[基本的な SAML 構成] ページの [ 識別子 (エンティティ ID)] で、識別子が一覧に表示されていない場合は、[ 識別子の追加] を選択します。 証明書利用者 STS によって提供されるアプリケーションの識別子を入力します。 たとえば、識別子は、フォーム
http://{hostname.___domain}/adfs/services/trust
の URL である場合があります。[基本的な SAML 構成] ページの [ 応答 URL (Assertion Consumer Service URL)] で、[ 応答 URL の追加] を選択します。 証明書利用者 STS アサーション コンシューマー サービスの HTTPS URL を入力します。 たとえば、URL は
https://{hostname.___domain}/adfs/ls/
形式の場合があります。必要であれば、信頼される STS での サインオン、リレー状態、または ログアウト の URL を構成してください。
保存 を選択します。
Microsoft Entra からメタデータと証明書をダウンロードする
証明書利用者 STS では、構成を完了するために、ID プロバイダーとして Microsoft Entra からのフェデレーション メタデータが必要になる場合があります。 フェデレーション メタデータと関連する証明書は、[基本的な SAML 構成] ページの [SAML 証明書] セクションで提供されます。 詳細については、 フェデレーション メタデータを参照してください。
- 証明書利用者 STS がインターネット エンドポイントからフェデレーション メタデータをダウンロードできる場合は、 アプリのフェデレーション メタデータ URL の横にある値をコピーします。
- 証明書利用者 STS にフェデレーション メタデータを含むローカル XML ファイルが必要な場合は、[フェデレーション メタデータ XML] の横にある [ダウンロード] を選択します。
- 証明書利用者 STS に ID プロバイダーの証明書が必要な場合は、証明書 (Base64) または証明書 (未加工) の横にある [ダウンロード] を選択します。
- 証明書利用者 STS がフェデレーション メタデータをサポートしていない場合は、 ログイン URL と MIcrosoft Entra 識別子 をコピーして証明書利用者 STS を構成します。
Microsoft Entra によって発行された要求を設定する
既定では、Microsoft Entra ユーザーからのいくつかの属性のみが、Microsoft Entra が証明書利用者 STS に送信する SAML トークンに含まれます。 アプリケーションに必要な要求を追加し、SAML 名識別子で指定された属性を変更できます。 標準要求の詳細については、「 SAML トークン要求リファレンス」を参照してください。
- [ 属性と要求 ] ボックスで、[編集] を選択 します。
- 名前識別子の値として送信される Entra ID 属性を変更するには、[ 一意のユーザー識別子 (名前 ID)] 行を選択します。 ソース属性を別の Microsoft Entra 組み込み属性または拡張属性に変更できます。 次に、 [保存] を選択します。
- 既に構成されている要求の値として送信される Entra ID 属性を変更するには、[ 追加の要求 ] セクションで行を選択します。
- 新しい要求を追加するには、[ 新しい要求の追加] を選択します。
- 完了したら、[ SAML ベースのサインオン ] を選択してこの画面を閉じます。
アプリケーションにサインインできるユーザーを構成する
構成をテストするときは、指定されたテスト ユーザーを Microsoft Entra のアプリケーションに割り当てて、ユーザーが Microsoft Entra と証明書利用者 STS を介してアプリケーションにサインオンできることを検証する必要があります。
- 左側のメニューの [ 管理 ] セクションで、[ プロパティ] を選択します。
- ユーザーがサインインできるように [有効] の値が [はい] に設定されていることを確認します。
- [ 必要な割り当て] の値が [ はい] に設定されていることを確認します。
- 変更した場合、[保存] を選択します。
- 左側のメニューの [ 管理 ] セクションで、[ ユーザーとグループ] を選択します。
- [Add user/group](ユーザーまたはグループの追加) を選択します。
- なしを選択します
- 検索ボックスにテスト ユーザーの名前を入力し、ユーザーを選択して [選択] を 選択します。
- [ 割り当て] を選択して、アプリケーションの既定のユーザー ロールに ユーザー を割り当てます。
- 左側のメニューの [ セキュリティ ] セクションで、[ 条件付きアクセス] を選択します。
- [What If] を選択します。
- [ ユーザーまたはサービス プリンシパルが選択されていません] を選択し、[ ユーザーが選択されていません] を選択し、以前にアプリケーションに割り当てられたユーザーを選択します。
- 任意のクラウド アプリを選択し、エンタープライズ アプリケーションを選択します。
- [What If] を選択します。 適用されるすべてのポリシーで、ユーザーがアプリケーションにサインインすることを許可していることを検証します。
証明書利用者 STS で ID プロバイダーとして Microsoft Entra を構成する
次に、フェデレーション メタデータを証明書利用者 STS にインポートします。 AD FS を使用して次の手順を示しますが、代わりに別の証明書利用者 STS を使用できます。
- 証明書利用者 STS のクレーム プロバイダー信頼の一覧で、[クレームプロバイダー信頼の追加] を選択し、[開始] を選択します。
- Microsoft Entra からフェデレーション メタデータをダウンロードしたかどうかに応じて、[ オンラインまたはローカル ネットワークで発行されたクレーム プロバイダーに関するデータをインポートする] を選択するか、 または要求プロバイダーに関するデータをファイルからインポートします。
- 証明書利用者 STS に Microsoft Entra の証明書を提供する必要がある場合もあります。
- ID プロバイダーとしての Microsoft Entra の構成が完了したら、次の点を確認します。
- クレーム プロバイダー識別子は、フォーム
https://sts.windows.net/{tenantid}
の URI です。 - Microsoft Entra ID グローバル サービスを使用している場合、SAML シングル サインオンのエンドポイントは、
https://login.microsoftonline.com/{tenantid}/saml2
形式の URI です。 各国のクラウドについては、 Microsoft Entra 認証と各国のクラウドに関する説明を参照してください。 - 証明書利用者 STS によって Microsoft Entra の証明書が認識されます。
- 暗号化は構成されていません。
- Microsoft Entra で構成された要求は、証明書利用者 STS の要求規則マッピングで使用可能として一覧表示されます。 後で要求を追加した場合は、証明書利用者 STS の ID プロバイダーの構成に要求を追加する必要がある場合もあります。
- クレーム プロバイダー識別子は、フォーム
信頼する当事者 STS でクレーム規則を構成する
Microsoft Entra が ID プロバイダーとして送信する要求が証明書利用者 STS に認識されたら、それらの要求をアプリケーションで必要な要求にマップまたは変換する必要があります。 AD FS を使用して次の手順を示しますが、代わりに別の証明書利用者 STS を使用できます。
- 証明書利用者 STS のクレーム プロバイダー信頼リストで、Microsoft Entra のクレーム プロバイダー信頼を選択し、[ 要求規則の編集] を選択します。
- Microsoft Entra によって提供され、アプリケーションに必要な要求ごとに、[ 規則の追加] を選択します。 各規則で、アプリケーションの要件に基づいて、[ パススルー] または [受信要求のフィルター処理] または [受信要求の変換] を選択します。
アプリケーションへのシングル サインオンをテストする
アプリケーションが Microsoft Entra と証明書利用者 STS で構成された後、ユーザーは Microsoft Entra に認証し、Microsoft Entra によって提供されたトークンを証明書利用者 STS によってアプリケーションに必要なフォームと要求に変換することでサインインできます。
このチュートリアルでは、証明書利用者が開始するシングル サインオン パターンを実装する Web ベースのアプリケーションを使用してサインイン フローをテストする方法について説明します。 詳細については、「 シングル サインオン SAML プロトコル」を参照してください。
- Web ブラウザーのプライベート ブラウズ セッションで、アプリケーションに接続し、ログイン プロセスを開始します。 アプリケーションによって Web ブラウザーが証明書利用者 STS にリダイレクトされ、証明書利用者 STS によって、適切な要求を提供できる ID プロバイダーが決定されます。
- 証明書利用者 STS で、メッセージが表示されたら、Microsoft Entra ID プロバイダーを選択します。 証明書利用者 STS は、Microsoft Entra ID グローバル サービスを使用している場合に
https://login.microsoftonline.com
、Web ブラウザーを Microsoft Entra ログイン エンドポイントにリダイレクトします。 - テスト ユーザーの ID を使用して Microsoft Entra にサインインします。この手順では、 アプリケーションにサインインできるユーザーを構成します。 その後、Microsoft Entra はエンティティ識別子に基づいてエンタープライズ アプリケーションを検索し、Web ブラウザーを証明書利用者 STS 応答 URL エンドポイントにリダイレクトし、Web ブラウザーで SAML トークンを転送します。
- 証明書利用者 STS は、Microsoft Entra によって発行された SAML トークンを検証し、SAML トークンから要求を抽出して変換し、Web ブラウザーをアプリケーションにリダイレクトします。 このプロセスを介して、アプリケーションが Microsoft Entra から必要な要求を受け取っていることを確認します。
完全な構成
- 初期サインオン構成をテストした後、新しい証明書が Microsoft Entra に追加されると、証明書利用者 STS が最新の状態に保たれるようにする必要があります。 証明書利用者 STS によっては、ID プロバイダーのフェデレーション メタデータを監視するための組み込みプロセスがある場合があります。
- このチュートリアルでは、シングル サインインの構成について説明しました。 証明書利用者 STS が SAML シングル サインアウトをサポートしている場合もあります。この機能の詳細については、「 単一 Sign-Out SAML プロトコル」を参照してください。
- アプリケーションへのテスト ユーザーの割り当てを削除できます。 動的グループやエンタイトルメント管理などの他の機能を使用して、アプリケーションにユーザーを割り当てることができます。 詳細については、「 クイック スタート: ユーザー アカウントを作成して割り当てる」を参照してください。