SP 証明書の更新時に ADFS を IDP として使用すると SSO ログインに失敗する
SP 証明書の更新時に ADFS を IDP として使用すると SSO ログインに失敗します。
IdP (ADFS) で新しい SP 証明書を更新すると SSO に失敗します。
エラー: 応答に無効なステータス コードがあります。
調査する手順:
- SAML トレースをキャプチャして SAML 応答を検索します。
- SAML Message Decoder プラグインをブラウザに追加します。
Chrome の場合:https://chrome.google.com/webstore/detail/saml-message-decoder/mpabchoaimgbdbbjjieoaeiibojelbhm?hl=en
Firefox の場合: https://addons.mozilla.org/en-US/firefox/addon/saml-message-decoder-extension/ - プラグインを開き、[このメッセージをコピー] をクリックします。
- Notepad++ を開いて、インストールします ここをクリックしてください。
- メッセージを貼り付けて、XML 言語の SAML 応答を直接検索します。
- 属性が IdP からの SAML 応答に存在しているかどうかを確認します。
- 属性が表示されない場合、Webex が IdP から属性を受け取っていないことになります。そのため、IdP 側から問題を調査する必要があります。
- パーティ構成に依存している ADFS Webex を確認するには、ここをクリックしてください。
- 設定が正常に表示されたら、イベント ビューアのログを確認してください。
- Windows ログの ADFS エラーを確認:
- Windows ログで ADFS イベント ログのエラー コード 364 を確認します。イベントの詳細によって無効な証明書を識別します。この場合、ADFS ホストはポート 80 のファイアウォールを通じて証明書を有効化することを許可されていません。
- ファイアウォールを介してインターネットにポート 80 への IdP アクセスを許可して、CRL チェックを実行できるようにします。
- ポートが開いている場合は、Microsoft とそのファイアウォールをフォローアップします。
- ファイアウォールでポート 80 が開いていない場合、または CRL チェックが動作していない場合は、CRL を無効にします。
- [ADFS サーバー] で [イベントビューア] > [アプリケーション] > [ADFS] > [管理者] の順にクリックして、ログインを複製した時間のタイム スタンプでエラーログを検索します。次のエラーが表示される場合:
エラー:「フェデレーション パッシブ リクエスト中にエラーが発生しました。
追加データ
プロトコル名: Saml
証明書利用者:https://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx
例外情報:
プロトコル名: Saml
証明書利用者:https://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx
例外情報:
Microsoft.IdentityServer.Service.SecurityTokenService.RevocationValidationException: MSIS3014: 拇印「754B9208F1F75C5CC962750F3675C5D129471D80」で識別された証明書利用者信頼「https://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx'」の暗号化証明書が無効です。これは、証明書が失効しているか、有効期限が切れているか、または、証明書チェーンが信頼されていないことを示している可能性があります。
at Microsoft.IdentityModel.Threading.AsyncResult.End(IAsyncResult result)
Microsoft.IdentityModel.Threading.TypedAsyncResult1.End(IAsyncResult result) at Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken request, IList1& identityClaimSet, List1 additionalClaims) at Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken request, List1 additionalClaims)Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolManager.Issue(HttpSamlRequestMessage httpSamlRequestMessage, SecurityTokenElement onBehalfOf, String sessionState, String relayState, String& newSamlSession, String& samlpAuthenticationProvider, Boolean isUrlTranslationNeeded, WrappedHttpListenerContext, Boolean isKmsiRequested)Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.RequestBearerToken(WrappedHttpListenerContext コンテキスト, HttpSamlRequestMessage httpSamlRequest, SecurityTokenElement onBehalfOf, String relyingPartyIdentifier, Boolean isKmsiRequested, Boolean isApplicationProxyTokenRequired, String& samlpSessionState, String& samlpAuthenticationProvider)atMicrosoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSerializedToken(HttpSamlRequestMessage httpSamlRequest, WrappedHttpListenerContext, String relyingPartyIdentifier, SecurityTokenElement signOnTokenElement, Boolean isKmsiRequested, Boolean isApplicationProxyTokenRequired) at Microsoft.IdentityServer.Web.Protocols.Saml.Saml.ProtocolHandler.BuildSignInResponseCoreWithSecurityToken(SamlSignInContext, SecurityToken securityToken, SecurityToken deviceSecurityToken)Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.Process(ProtocolContext コンテキスト)Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest(ProtocolContext protocolContext, PassiveProtocolHandler protocolHandler)Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext) で"
解像度は次のとおりです。
- ADFS で管理者として Powershell を開き、次のコマンドを実行します。
Get-AdfsRelyingPartyTrust -Identifier 'https://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx' | Set-AdfsRelyingPartyTrust -SigningCertificateRevocationCheck None -EncryptionCertificateRevocationCheck None
注意:
- 識別子 URL を必ず引用符で入力し、識別子 URL がエラーメッセージに表示されていることを確認し、コピーして貼り付けます。
- 政府版 Webex (FedRAMP) Control Hub を使用する必要があります https://admin-usgov.webex.com/。
--または--
- ADFS で管理者として Powershell を開き、次のコマンドを実行します。
Get-AdfsRelyingPartyTrust -Name "Cisco Webex" | Set-AdfsRelyingPartyTrust -SigningCertificateRevocationCheck None -EncryptionCertificateRevocationCheck None
メモ: ADFS で作成された顧客と同じ返信側信頼の名前を、二重引用符で入力してください。
- Control hub で SSO をテストして確認します。
この投稿記事は役に立ちましたか?