このシナリオでは、Microsoft Entra ID によってユーザーがサインインします。 ただし、アプリケーションではエラー メッセージが表示され、ユーザーはサインイン フローを完了できません。 問題は、アプリが Microsoft Entra ID によって発行された応答を受け入れられなかったということです。
アプリが Microsoft Entra ID からの応答を受け入れなかった理由はいくつかあります。 エラー メッセージまたはコードが表示されている場合は、次のリソースを使用してエラーを診断します。
エラー メッセージで応答に不足しているものが明確に識別されない場合は、次の手順を試してください。
- アプリが Microsoft Entra ギャラリーにある場合は、「 Microsoft Entra ID でアプリケーションに SAML ベースのシングル サインオンをデバッグする方法」の手順に従っていることを確認します。
- Fiddler などのツールを使用して、SAML 要求、応答、トークンをキャプチャします。
- SAML 応答をアプリ ベンダーに送信し、不足している内容を確認します。
SAML 応答に属性がありません
Microsoft Entra 応答で送信される属性を Microsoft Entra 構成に追加するには、次の手順に従います。
Microsoft Entra 管理センターに、少なくともクラウド アプリケーション管理者としてサインインします。
Entra ID>エンタープライズ アプリ>すべてのアプリケーションを参照します。
検索ボックスに既存のアプリケーションの名前を入力し、シングル サインオン用に構成するアプリケーションを選択します。
アプリが読み込まれたら、ナビゲーション ウィンドウで [ シングル サインオン ] を選択します。
[ ユーザー属性 ] セクションで、[表示] を選択 し、他のすべてのユーザー属性を編集します。 ここでは、ユーザーがサインインするときに SAML トークンでアプリに送信する属性を変更できます。
属性を追加するには:
[ 属性の追加] を選択します。 [名前] を入力し、ドロップダウン リストから [値] を選択します。
[保存] を選択します。 テーブルに新しい属性が表示されます。
構成を保存します。
ユーザーが次回アプリにサインインすると、Microsoft Entra ID は SAML 応答で新しい属性を送信します。
アプリでユーザーを識別できない
SAML 応答にロールなどの属性がないため、アプリへのサインインは失敗します。 または、アプリが NameID (ユーザー識別子) 属性の別の形式または値を想定しているために失敗します。
Microsoft Entra ID 自動ユーザー プロビジョニングを使用してアプリ内のユーザーを作成、維持、削除する場合は、ユーザーが SaaS アプリにプロビジョニングされていることを確認します。 詳細については、「 Microsoft Entra Gallery アプリケーションにユーザーがプロビジョニングされていない」を参照してください。
Microsoft Entra アプリ構成に属性を追加する
ユーザー識別子の値を変更するには、次の手順に従います。
- Microsoft Entra 管理センターに、少なくともクラウド アプリケーション管理者としてサインインします。
- Entra ID>エンタープライズ アプリ>すべてのアプリケーションを参照します。
- SSO 用に構成するアプリを選択します。
- アプリが読み込まれたら、ナビゲーション ウィンドウで [ シングル サインオン ] を選択します。
- [ ユーザー属性] で、[ユーザー識別子] ドロップダウン リストからユーザーの一意 の識別子を 選択します。
NameID 形式を変更する
アプリケーションで NameID (ユーザー識別子) 属性に別の形式が必要な場合は、「 nameID の編集」 セクションを参照して NameID 形式を変更してください。
Microsoft Entra ID は、選択した値または SAML AuthRequest でアプリによって要求された形式に基づいて 、NameID 属性 (ユーザー識別子) の形式を選択します。 詳細については、 シングル サインオン SAML プロトコルの「NameIDPolicy」セクションを参照してください。
アプリでは、SAML 応答に対して異なる署名方法が必要です
Microsoft Entra ID によってデジタル署名される SAML トークンのどの部分を変更するには、次の手順に従います。
Microsoft Entra 管理センターに、少なくともクラウド アプリケーション管理者としてサインインします。
Entra ID>エンタープライズ アプリ>すべてのアプリケーションを参照します。
シングル サインオン用に構成するアプリケーションを選択します。
アプリケーションが読み込まれたら、ナビゲーション ウィンドウで [ シングル サインオン ] を選択します。
[ SAML 署名証明書] で、[ 証明書の署名の詳細設定を表示する] を選択します。
次の オプション の中から、アプリで想定される署名オプションを選択します。
- SAML 応答に署名する
- SAML 応答とアサーションに署名します。
- SAML アサーションに署名します。
ユーザーが次回アプリにサインインすると、Microsoft Entra ID は選択した SAML 応答の一部に署名します。
アプリは SHA-1 署名アルゴリズムを想定しています
既定では、Microsoft Entra ID は、最も安全なアルゴリズムを使用して SAML トークンに署名します。 アプリで SHA-1 が必要な場合を除き、署名アルゴリズムを SHA-1 に変更しないことをお勧めします。
署名アルゴリズムを変更するには、次の手順に従います。
Microsoft Entra 管理センターに、少なくともクラウド アプリケーション管理者としてサインインします。
Entra ID>エンタープライズ アプリ>すべてのアプリケーションを参照します。
シングル サインオン用に構成するアプリを選択します。
アプリが読み込まれたら、アプリの左側にあるナビゲーション ウィンドウから [ シングル サインオン ] を選択します。
[ SAML 署名証明書] で、[ 証明書の署名の詳細設定を表示する] を選択します。
署名アルゴリズムとして SHA-1 を選択します。
ユーザーが次回アプリにサインインすると、Microsoft Entra ID は SHA-1 アルゴリズムを使用して SAML トークンに署名します。