次の方法で共有


AD FS のトラブルシューティング: Microsoft Entra ID

クラウドの成長に伴い、多くの企業は、さまざまなアプリやサービスに Microsoft Entra ID を使用するように移行しました。 Microsoft Entra ID とのフェデレーションは、多くの組織との標準的なプラクティスになりました。 この記事では、このフェデレーションで発生する問題のトラブルシューティングの一部について説明します。 一般的なトラブルシューティング記事のいくつかのトピックは、Azure とのフェデレーションに関連しているため、この記事では、Microsoft Entra ID と Active Directory フェデレーション サービス (AD FS) の相互作用に関する詳細について説明します。

AD FS へのリダイレクト

リダイレクトは、Office 365 などのアプリケーションにサインインし、サインインするために組織の AD FS サーバーにリダイレクトされるときに発生します。

[リダイレクト] ウィンドウを示すスクリーンショット。

最初に確認すべきこと

リダイレクトが発生しない場合は、いくつかの点を確認する必要があります。

  1. Microsoft Entra テナントでフェデレーションが有効になっていることを確認します。 Azure portal にサインインし、 Microsoft Entra Connect の下を確認します。

    Microsoft Entra Connect の [ユーザー サインイン] ウィンドウを示すスクリーンショット。

  2. カスタム ドメインが検証されていることを確認します。 Azure portal の [ フェデレーション ] の横にあるドメインを選択します。

    ポータルの [フェデレーション] の横にあるドメインを示すスクリーンショット。

  3. ドメイン ネーム システム (DNS) を確認し、AD FS サーバーまたは Web アプリケーション プロキシ サーバーがインターネットから解決されていることを確認します。 それらが解決され、それにアクセスできることを確認します。

    PowerShell コマンドレット Get-MgDomain を使用して、この情報を取得することもできます。

    Get-MgDomain コマンドの結果を示す PowerShell ウィンドウを示すスクリーンショット。

"不明な認証方法" エラーが表示される

Azure からリダイレクトされるときに、AD FS またはセキュリティ トークン サービス (STS) レベルで AuthnContext がサポートされていないことを示す "不明な認証方法" エラーが発生する場合があります。

このシナリオは、Microsoft Entra ID が認証方法を適用するパラメーターを使用して AD FS または STS にリダイレクトする場合に最も一般的です。

認証方法を適用するには、次のいずれかの方法を使用します。

  • WS-Federation の場合は、WAUTH クエリ文字列を使用して、優先認証方法を強制します。

  • SAML 2.0 の場合は、次のコードを使用します。

    <saml:AuthnContext>
    <saml:AuthnContextClassRef>
    urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
    </saml:AuthnContextClassRef>
    </saml:AuthnContext>
    

    適用された認証方法が正しくない値で送信された場合、またはその認証方法が AD FS または STS でサポートされていない場合は、認証される前にエラー メッセージが表示されます。

必要な認証方法 WAUTH URI
ユーザー名とパスワード認証 urn:oasis:names:tc:SAML:1.0:am:password
Secure Sockets Layer (SSL) クライアント認証 urn:ietf:rfc:2246
Windows 統合認証 urn:federation:authentication:windows

次の表に、サポートされている SAML 認証コンテキスト クラスの一覧を示します。

認証方法 認証コンテキスト クラス URI
ユーザー名とパスワード urn:oasis:names:tc:SAML:2.0:ac:classes:Password
パスワードで保護されたトランスポート urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
トランスポート層セキュリティ (TLS) クライアント urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient
X.509 証明書 urn:oasis:names:tc:SAML:2.0:ac:classes:X509
統合 Windows 認証 urn:federation:authentication:windows
Kerberos urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos

認証方法が AD FS レベルでサポートされていることを確認するには、次のことを確認します。

AD FS 2.0 (英語)

/adfs/ls/web.configで、認証の種類のエントリが存在することを確認します。

<microsoft.identityServer.web>
<localAuthenticationTypes>
<add name="Forms" page="FormsSignIn.aspx" />
<add name="Integrated" page="auth/integrated/" />
<add name="TlsClient" page="auth/sslclient/" />
<add name="Basic" page="auth/basic/" />
</localAuthenticationTypes>

AD FS 2012 R2

  1. [AD FS 管理] で、AD FS スナップインで [認証ポリシー] を選択します。

  2. [ プライマリ認証 ] セクションの [ グローバル設定] の横にある [編集] を選択 します。 [ 認証ポリシー ] を右クリックし、[ グローバル プライマリ認証の編集] を選択することもできます。 または、[ 操作] ウィンドウで、[ グローバル プライマリ認証の編集] を選択します。

  3. [ グローバル認証ポリシーの編集 ] ウィンドウの [ プライマリ ] タブで、グローバル認証ポリシーの一部として設定を構成できます。 たとえば、プライマリ認証の場合は、[ エクストラネット ] と [イントラネット] で使用可能な認証方法を選択 します

    必要な認証方法のチェック ボックスがオンになっていることを確認します。

AD FS 2016 (英語)

  1. [AD FS 管理] で、AD FS スナップインで [サービス>認証方法] を選択します。

  2. [ プライマリ認証 ] セクションで、[ 編集] を選択します。

  3. [ 認証方法の編集 ] ウィンドウの [ プライマリ ] タブで、認証ポリシーの一部として設定を構成できます。

    [認証方法の編集] ウィンドウを示すスクリーンショット。

AD FS によって発行されたトークン

このセクションでは、AD FS によって発行されるトークンについて説明します。

トークンの発行後に Microsoft Entra ID がエラーをスローする

AD FS がトークンを発行すると、Microsoft Entra ID からエラーがスローされることがあります。 このような場合は、次の問題を確認します。

  • AD FS がトークンで発行する要求は、Microsoft Entra ID のユーザーのそれぞれの属性と一致する必要があります。

  • Microsoft Entra ID のトークンには、次の必須要求が含まれている必要があります。

    • WSFEDの:

      • UPN: この要求の値は、Microsoft Entra ID のユーザーのユーザー プリンシパル名 (UPN) と一致する必要があります。
      • ImmutableID: この要求の値は、Microsoft Entra ID のユーザーの sourceAnchor または ImmutableID 属性と一致する必要があります。

      Microsoft Entra ID で User 属性値を取得するには、次のコマンド ラインを実行します。 Get-AzureADUser –UserPrincipalName <UPN>

      Get-AzureADUser コマンドの結果を示す PowerShell ペインを示すスクリーンショット。

    • SAML 2.0:

      • IDPEmail: この要求の値は、Microsoft Entra ID のユーザーの UPN と一致する必要があります。
      • NAMEID: この要求の値は、Microsoft Entra ID のユーザーの sourceAnchor または ImmutableID 属性と一致する必要があります。

詳細については、「 SAML 2.0 ID プロバイダーを使用してシングル サインオンを実装する」を参照してください。

AD FS と Microsoft Entra ID の間のトークン署名証明書の不一致

AD FS は、トークン署名証明書を使用して、ユーザーまたはアプリケーションに送信されるトークンに署名します。 AD FS と Microsoft Entra ID の間の信頼は、このトークン署名証明書に基づくフェデレーション信頼です。

AD FS 側のトークン署名証明書が自動証明書ロールオーバーまたは何らかの介入によって変更された場合は、フェデレーション ドメインの Microsoft Entra ID 側で新しい証明書の詳細を更新する必要があります。 AD FS のプライマリ トークン署名証明書が Microsoft Entra ID と異なる場合、Microsoft Entra ID は AD FS によって発行されたトークンを信頼しません。 このため、フェデレーション ユーザーはサインインできません。

この問題を解決するには、「 Office 365 と Microsoft Entra ID のフェデレーション証明書を更新する」の手順に従います。

その他の一般的な確認事項

AD FS と Microsoft Entra の対話に問題がある場合は、次のことを確認してください。

  • Windows Credential Manager の古いまたはキャッシュされた資格情報。
  • Office 365 の証明書利用者信頼で構成されているセキュア ハッシュ アルゴリズム (SHA) が SHA1 に設定されていること。