この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、シングルサインオン(SSO)のCisco Meeting Server(CMS)Web App実装を設定およびトラブルシューティングする方法について説明します。
次の項目に関する知識があることを推奨しています。
CMS Callbridgeバージョン3.1以降
CMS Webbridgeバージョン3.1以降
Active Directory サーバ
プロバイダーの識別(IdP)
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
CMS Callbridgeバージョン3.2
CMS Webbridgeバージョン3.2
Microsoft Active Directory Windows Server 2012 R2
Microsoft ADFS 3.0 Windows Server 2012 R2
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
CMS 3.1以降では、IDプロバイダーを使用して1つのセッションが作成されるため、ユーザがログインするたびにパスワードを入力しなくてもSSOを使用してサインインできるようになりました。
この機能は、SSOメカニズムとしてSecurity Assertion Markup Language(SAML)バージョン2.0を使用しています。
注: CMSはSAML 2.0でHTTP-POSTバインディングのみをサポートし、使用可能なHTTP-POSTバインディングがないIDプロバイダーを拒否します。
注:SSOを有効にすると、基本的なLDAP認証は使用できなくなります。
この導入シナリオでは、Identity Provider(IdP)としてMicrosoft Active Directory Federation Services(ADFS)を使用します。そのため、この構成の前にADFS(または対象のIdP)をインストールして実行することをお勧めします。
有効な認証をユーザに取得させるには、IdPによって提供される相関フィールド用にアプリケーションプログラミングインターフェイス(API)でユーザをマッピングする必要があります。このために使用されるオプションは、APIのldapMapping内のauthenicationIdMappingです。
1. CMS Web Admin GUIで、Configuration > APIの順に移動します
Co
2.api/v1/ldapMappings/<GUID-of-Ldap-Mapping>で既存のLDAPマッピングを見つけます(または新しいLDAPマッピングを作成します)。
3. 選択したldapMappingオブジェクトで、IdPから渡されるLDAP属性へのauthenticationIdMappingを更新します。この例では、オプション$sAMAccountNameisがマッピング用のLDAP属性として使用されています。
注:authenticationIdMappingは、callbridge/データベースによってSAMLResponse内のIdPから送信されたクレームを検証し、ユーザにJSON Web Token(JWT)を提供するために使用されます。
4. 最近変更されたldapMappingに関連付けられたldapSourceでLDAP syncを実行します。
例:
5. LDAPの同期が完了したら、CMS APIのConfiguration > api/v1/usersに移動し、インポートされたユーザを選択して、authenticationIdが正しく入力されていることを確認します。
Microsoft ADFSを使用すると、メタデータXMLファイルを証明書利用者信頼パーティとしてインポートして、使用されているサービスプロバイダーを識別できます。この目的でメタデータXMLファイルを作成する方法はいくつかありますが、ファイルに存在する必要がある属性がいくつかあります。
必要な値を持つWebbridgeメタデータの例:
注:1つのURLを使用する複数のWebbridgeがある場合、これはロードバランシングアドレスである必要があります。
オプションの公開キー(証明書)データを使用してIdPにインポートされるWebbridgeメタデータの例:
適切な属性を使用してメタデータXMLが作成されたら、そのファイルをMicrosoft ADFSサーバにインポートして、証明書利用者信頼を作成できます。
1. ADFSサービスをホストしているWindows Serverへのリモートデスクトップ
2. AD FS管理コンソールを開きます。通常は、サーバーマネージャーからアクセスできます。
3. ADFS管理コンソールが表示されたら、左側のペインでADFS > Trust Relationships > Relying Party Trustの順に移動します。
4. ADFS管理コンソールの右側のウィンドウで、[証明書利用者信頼の追加… ]オプションを選択します。
5. これを選択すると、証明書利用者信頼の追加ウィザードが開きます。Start オプションを選択します。
6. Select Data SourceページでImport data about the relying party from a fileのオプションボタンを選択し、Browse を選択して、Webbridge MetaDataファイルの場所に移動します。
7. 「表示名の指定」ページで、ADFS内のエンティティに対して表示される名前を入力します(表示名はADFS通信のサーバー目的ではなく、単に情報を提供するためのものです)。
8. 「Configure Multi-factor Authentication Now?」ページで、デフォルトのままにして「Next」を選択します。
9. Choose Issuance Authorization Rulesページで、Permit all users to access this relying partyにチェックマークを付けたままにします。
10. 信頼を追加する準備の完了ページで、Webbridgeの証明書利用者信頼のインポートされた詳細をタブで確認できます。WebbridgeサービスプロバイダーのURLの詳細については、識別子とエンドポイントを確認します。
11. [完了]ページで、[閉じる]オプションを選択してウィザードを閉じ、要求ルールの編集を続行します。
証明書利用者信頼がWebbridge用に作成されたので、SAML応答でWebbridgeに提供される発信要求タイプに特定のLDAP属性を一致させるために、要求規則を作成できます。
1. ADFS管理コンソールで、Webbridgeの証明書利用者信頼を強調表示し、右側のペインで要求規則の編集を選択します。
2. <DisplayName>様のクレームルールの編集ページで、ルールの追加…を選択します。
3. Add Transform Claim Rule Wizardページで、Claim Rule templateオプションに対してSend LDAP Attributes as Claimsを選択し、Nextを選択します。
4. 要求規則の構成ページで、証明書利用者信頼の要求規則を次の値で構成します。
この設定は、サポートされているドメインや認証マッピングなどのSSO設定を検証するためにWebbridgeが参照するものです。設定のこの部分では、次のルールを考慮する必要があります。
zipファイルの内容は、暗号化が使用されているかどうかに応じて、2 ~ 4ファイルで構成されます。
filename |
説明 |
必要? |
idp_config.xml |
これは、idPで収集できるMetaDataファイルです。ADFSでは、https://<ADFSFQDN>/FederationMetadata/2007-06/FederationMetadata.xmlに移動することで、これを見つけることができます。 |
はい |
config.jsonファイル |
これは、Webbridgeがサポートされているドメイン、SSOの認証マッピングを検証するために使用するJSONファイルです。 |
はい |
sso_署名。キー |
これは、IDプロバイダーで設定された公開署名キーの秘密キーです。署名されたデータのセキュリティ保護にのみ必要 |
NO |
sso_encrypt.key(暗号化キー) |
これは、IDプロバイダーで構成された公開暗号化キーの秘密キーです。暗号化されたデータの保護にのみ必要 |
NO |
2. WebブラウザでURL https://<ADFSFQDN>/FederationMetadata/2007-06/FederationMetadata.xmlを入力します(ADFSサーバでローカルに作業している場合は、FQDNの代わりにlocalhostを使用することもできます)。 これにより、ファイルFederationMetadata.xmlがダウンロードされます。
3. zipファイルを作成する場所にダウンロードしたファイルをコピーし、idp_config.xmlに名前を変更します。
config.jsonには次の3つの属性が含まれており、これらは角カッコ{ }:内に含まれている必要があります。
このファイルには、IdPにインポートされたWebbridgeメタデータでの署名に使用される証明書の秘密キーが含まれている必要があります。署名に使用される証明書は、ADFSでのWebbridgeメタデータのインポート中に、<KeyDescriptor use=signing>セクションの下の証明書情報を使用してX509Certificateを設定することで設定できます。また、ADFSのWebbridge証明書利用者信頼パーティのProperties > Signatureで表示(およびインポート)することもできます。
次の例では、ADFSにインポートされる前にWebbridgeメタデータに追加されたcallbridge証明書(CN=cmscb3.brhuff.local)を確認できます。sso_sign.keyに挿入された秘密キーは、cmscb3.brhuff.local証明書と一致する秘密キーです。
これはオプションの設定であり、SAML応答を暗号化する場合にのみ必要です。
このファイルには、IdPにインポートされたwebbridgeメタデータ内の暗号化に使用される証明書の秘密キーが含まれている必要があります。暗号化に使用される証明書は、ADFSでのWebbridgeメタデータのインポート中に、X509Certificateに<KeyDescriptor use=encryption>セクションの証明書情報を設定することで設定できます。また、ADFSのWebbridge証明書利用者信頼パーティのProperties > Encryptionで表示(およびインポート)することもできます。
次の例では、ADFSにインポートされる前にWebbridgeメタデータに追加されたcallbridge証明書(CN=cmscb3.brhuff.local)を確認できます。「sso_encrypt.key」に挿入された秘密キーは、cmscb3.brhuff.local証明書と一致する秘密キーです。
これはオプションの設定であり、SAML応答を暗号化する場合にのみ必要です。
注意:ファイルが含まれているフォルダは圧縮しないでください。圧縮するとSSOが機能しなくなります。
2. ハイライトファイルを右クリックし、送信>圧縮(zip形式)フォルダを選択します。
3. ファイルを圧縮したら、sso_プレフィクスを使用して目的の名前にファイルを変更します。
SFTP/SCPクライアントを開き(この例ではWinSCPが使用されています)、Webbridge3をホストするサーバに接続します。
1. 左側のペインで、SSO Zipファイルがある場所に移動し、右クリックしてアップロードを選択するか、ファイルをドラッグアンドドロップします。
2. ファイルが完全にWebbridge3サーバにアップロードされたら、SSHセッションを開いてコマンドwebbridge3 restartを実行します。
3. syslogでは、次のメッセージはSSOのイネーブルが成功したことを示します。
共通アクセスカード(CAC)は、現役の軍関係者、国防総省の民間従業員、および適格な契約作業員の標準的なIDとして機能するスマートカードです。
CACカードを使用するユーザのサインインプロセス全体を次に示します。
ADFSがCACカードに使用するものと同じものとして、jidMapping(これはユーザのサインイン名です)をLdapmappingで設定します。 $userPrincipalName$など(大文字と小文字が区別されます)
また、ADFSのクレームルールで使用される属性と一致するように、authenticationIdMappingに同じLDAP属性を設定します。
このクレームルールは、$userPrincipalName$をUIDとしてCMSに返信することを示しています。
SSOが設定されたので、次のようにサーバをテストできます。
2. ユーザーには、ユーザー名を入力するオプションが表示されます(このページにはパスワード・オプションがないことに注意してください)。
3. ユーザは、ADFSページにリダイレクトされます(ユーザ詳細の入力後)。このページで、ユーザはIdPに対して認証するためにクレデンシャルを入力する必要があります。
4. ユーザーは、IdPを使用して資格情報を入力および検証した後、Web Appホームページにアクセスするためのトークンでリダイレクトされます。
SSO問題の基本的なトラブルシューティングの場合:
また、ログの観点からトラブルシューティングを試みることも理想的です。
場合によっては、SSOプロセスに障害が発生し、IdP設定またはIdPとの通信に障害が発生する可能性があります。ADFSを使用する場合は、次のリンクを確認して障害が発生していることを確認し、修復アクションを実行することが理想的です。
次に例を示します。
client_backend:エラー:SamlManager:SAML認証要求_e135ca12-4b87-4443-abe1-30d396590d58が次の理由で失敗しました: urn:oasis:names:tc:SAML:2.0:status:Responder
このエラーは、前のドキュメントによると、IdPまたはADFSが原因で障害が発生したため、解決するにはADFSの管理者による処理が必要であることを示しています。
SAMLResponseをIdPから交換し直している間に、Webbridgeがログに次のエラーメッセージを表示し、SSO経由でのログインに失敗する場合があります。
client_backend:INFO:SamlManager:[57dff9e3-862e-4002-b4fa-683e4aa6922c] Failed obtaining an authenticationId
このことは、認証交換中にIdPから返されたSAMLResponseデータを確認する際に、Webbridge3では、authenticationIdに対するconfig.jsonと比較して、応答に有効な照合属性が見つからなかったことを示しています。
通信が署名と暗号化の秘密キーを使用して暗号化されていない場合、SAML応答はWebブラウザ経由でDeveloper Tools Network Loggingから抽出し、base64を使用してデコードできます。応答が暗号化されている場合は、IdP側から復号化されたSAML応答を要求できます。
ネットワークのログを記録する際は、「ログを保存」のチェックボックスを必ずオンにして、ページ変更時にログが上書きされないようにします。
開発者ツールのネットワークロギング出力(HARデータとも呼ばれる)で、name列の下のidpResponseを探してPayloadを選択し、SAML応答を確認します。 前述したように、これはbase64デコーダを使用してデコードできます。
SAMLResponseデータを受信する際は、<AttributeStatement>のセクションを確認して返信される属性名を探します。このセクション内には、設定された要求タイプとIdPから送信された要求タイプがあります。例:
<属性ステートメント>
<Attribute Name="<共通名のURL">
<AttributeValue>testuser1</AttributeValue>
</属性>
<Attribute Name="<NameIDのURL">
<AttributeValue>testuser1</AttributeValue>
</属性>
<Attribute Name="uid">
<AttributeValue>testuser1</AttributeValue>
</属性>
</AttributeStatement>
前の名前を確認して、Attribute Statementセクションの下の<AttributeName>を確認し、各値をSSO config.jsonのauthenticationIdmappingセクションで設定されている値と比較できます。
前の例では、authenticationIdMappingの設定が渡された内容と正確に一致せず、一致するauthenticationIdを見つけられなかったことを確認できます。
認証IDマッピング:http://example.com/claims/NameID
この問題を解決するには、次の2つの方法があります。
IdPからのSAMLResponseの交換中に、アサーションの照合に失敗したことを示す次のエラーがWebbridgeで表示され、サーバ設定に一致しないアサーションがスキップされることがあります。
client_backend:エラー: SamlManager:検証に合格したアサーションがありません
client_backend:情報:SamlManager:許可された対象ユーザーに含まれないアサーションをスキップしています
このエラーは、IdPからSAMLResponseを確認する際に、Webbridgeが一致するアサーションを見つけられず、一致しない障害をスキップし、最終的に失敗したSSOログインが発生したことを示します。
この問題を特定するには、IdPからSAMLResponseを確認することが理想的です。 通信が署名と暗号化の秘密キーを使用して暗号化されていない場合、SAML応答はWebブラウザを介してDeveloper Tools Network Loggingから抽出し、base64を使用してデコードできます。応答が暗号化されている場合は、IdP側から復号化されたSAML応答を要求できます。
SAMLResponseデータを調べる場合、応答の<AudienceRestriction>セクションを見ると、この応答が制限されているすべての対象ユーザーを確認できます。
<条件NotBefore=2021-03-30T19:35:37.071Z NotOnOrAfter=2021-03-30T19:36:37.071Z>
<対象者制限>
<Audience>https://cisco.example.com</Audience>
</AudienceRestriction>
</条件>
<Audience>セクション(https://cisco.example.com) )の値を使用して、Webbridge設定のconfig.json内のssoServiceProviderAddressと比較し、完全に一致するかどうかを検証できます。この例では、視聴者のアドレスに「:443」が追加されているため、視聴者が設定内のサービスプロバイダーのアドレスと一致しないことが失敗の原因であることがわかります。
ssoServiceProviderAddress:https://cisco.example.com:443
このような障害が発生しないようにするには、これらの間で完全に一致する必要があります。この例では、次の2つの方法のいずれかが修正されています。
1. config.jsonのssoServiceProviderAddressセクションのアドレスから:443を削除して、IdPのSAMLResponseで提供されるAudienceフィールドに一致するようにできます。
または
2. IdP内のWebbridge3のメタデータOR証明書利用者信頼は、URLに:443を追加するように更新できます(メタデータを更新する場合は、ADFS上の証明書利用者信頼として再度インポートする必要があります。ただし、IdPウィザードから直接証明書利用者信頼を変更した場合は、再インポートする必要はありません)。
また、条件NotBeforeおよびNotONOrAfter: <Conditions NotBefore=2021-03-30T19:35:37.071Z NotOnOrAfter=2021-03-30T19:36:37.071Z>に注意してください。
サーバの時刻が正しくない場合、その時刻は条件で定義された有効期間の範囲外になる可能性があります。CLIを使用してNTPサーバを確認します。その際、ntp server list コマンドを使用して設定されているNTPサーバを確認し、ntp status コマンドを使用して設定されているNTPサーバの状態を確認します。date コマンドを使用してサーバの時刻を確認します。
ヒント:ローカル/内部NTPサーバを使用している場合は、time.google.comなどのパブリックNTPサーバを設定してみてください(前にパブリックDNSサーバを設定したことを確認してください)。
サインインできませんでした
ADFSに到達できません。 クライアントが(https://<joinurl>?trace=trueを使用して)サインインしようとすると、webbridgeは使用されているドメインがconfig.jsonファイル内のドメインと一致することを確認し、SAML情報をクライアントに送信して、認証の接続先をクライアントに通知します。 クライアントは、SAMLトークン内にあるIdPへの接続を試みます。 この例では、ADFSサーバに到達できないため、ブラウザにこのページが表示されます。
クライアントブラウザのエラー
CMS Webbridgeトレース(?trace=trueが使用されている場合)
3月19日10:47:07.927 user.info cmscb3-1 client_backend:INFO : SamlManager : [63cdc9ed-ab52-455c-8bb2-9e925cb9e16b] SAMLトークン要求のSSO_2024.zipと一致
3月19日10:47:07.927 user.info cmscb3-1 client_backend:INFO : SamlManager : [63cdc9ed-ab52-455c-8bb2-9e925cb9e16b] Attempting to find SSO in SAML Token Request
3月19日10:47:07.930 user.info cmscb3-1 client_backend:INFO : SamlManager :[63cdc9ed-ab52-455c-8bb2-9e925cb9e16b]正常に生成されたSAMLトークン
ユーザがwebbridgeサインインページのSSO zipファイルにないドメインを使用してサインインしようとしました。 クライアントは、ユーザが入力したユーザ名のペイロードを含むtokenRequestを送信します。 Webbridgeはログイン試行をただちに停止します。
CMS Webbridgeトレース(?trace=trueが使用されている場合)
3月18日14:54:52.698 user.err cmscb3-1 client_backend:ERROR : SamlManager : Invalid SSO login attempt
Mar 18 14:54:52.698 user.info cmscb3-1 client_backend: INFO : SamlManager : [3f93fd14-f4c9-4e5e-94d5-49bf6433319e] SAMLトークン要求でSSOを見つけられませんでした
3月18日14:54:52.698 user.info cmscb3-1 client_backend:INFO : SamlManager :[3f93fd14-f4c9-4e5e-94d5-49bf6433319e] SAMLトークン要求でSSOを検出しようとしています
ユーザが正しいユーザ名を入力し、SSOサインインページが表示されます。 ユーザはここに正しいユーザ名とパスワードも入力しますが、「Sign in Failed」が表示されます
CMS Webbridgeトレース(?trace=trueが使用されている場合)
3月19日16:39:17.714 user.info cmscb3-1 client_backend:INFO : SamlManager :[ef8fe67f-685c-4a81-9240-f76239379806] SAMLトークン要求のSSO_2024.zipと一致
3月19日16:39:17.714 user.info cmscb3-1 client_backend:情報: SamlManager :[ef8fe67f-685c-4a81-9240-f76239379806] Attempting to find SSO in SAML IDP Response
3月19日16:39:17.720 user.err cmscb3-1 client_backend:エラー:SamlManager:署名付きSAMLアサーションにauthenticationIdのマッピングされた要素が見つかりません
Mar 19 16:39:17.720 user.info cmscb3-1 client_backend: INFO : SamlManager : [ef8fe67f-685c-4a81-9240-f76239379806] Failed obtaining an authenticationID
シナリオ3の原因は、IdPのクレームルールで使用されているクレームタイプが、webbridgeにアップロードされたSSO zipファイルで使用されるconfig.jsonファイルのauthenticationIdMappingと一致していなかったことです。 WebbridgeはSAML応答を調べ、属性名がconfig.jsonで設定されている名前と一致することを予期しています。
ADFSのクレームルール
config.jsonの例
ユーザが誤ったユーザ名でサインインした(ドメインが、webbridge3にアップロードされたSSO zipファイルの内容と一致するが、ユーザが存在しない)
ユーザ名が認識されない
CMS Webbridgeトレース(?trace=trueが使用されている場合)
3月18日14:58:47.777 user.info cmscb3-1 client_backend:INFO : SamlManager : [79e9a87e-0fa4-44df-a914-bbcabb6c87c6] SAMLトークン要求のSSO_2024.zipと一致
3月18日14:58:47.777 user.info cmscb3-1 client_backend:INFO : SamlManager : [79e9a87e-0fa4-44df-a914-bbcabb6c87c6] Attempting to find SSO in SAML Token Request
3月18日14:58:47.780 user.info cmscb3-1 client_backend:INFO : SamlManager : [79e9a87e-0fa4-44df-a914-bbcabb6c87c6]正常に生成されたSAMLトークン
3月18日14:58:48.072 user.info cmscb3-1 client_backend:INFO : SamlManager : [79e9a87e-0fa4-44df-a914-bbcabb6c87c6] SAMLトークン要求のSSO_2024.zipと一致
3月18日14:58:48.072 user.info cmscb3-1 client_backend:INFO : SamlManager : [79e9a87e-0fa4-44df-a914-bbcabb6c87c6] Attempting to find SSO in SAML IDP Response
Mar 18 14:58:48.077 user.info cmscb3-1 client_backend: INFO : SamlManager : [79e9a87e-0fa4-44df-a914-bbcabb6c87c6] Successfully obtain authenticationID:darmckin@brhuff.com
Mar 18 14:58:48.078 user.info cmscb3-1 host:server:INFO : WB3Cmgr: [79e9a87e-0fa4-44df-a914-bbcabb6c87c6] AuthRequestReceived for connection id=64004556-faea-479f-aabe-691e17783aa5 registration=40a4026c-024 2a1-b125-136fdf5612a5(user=steve@brhuff.com)
3月18日14:58:48.092 user.info cmscb3-1 host:server:INFO : no user found for authorization
3月18日14:58:48.092 user.info cmscb3-1 host:server:INFO: unsuccessful login request from steve@brhuff.com
ユーザがWebアプリに正しいサインイン情報を入力し、SSOページでLDAP認証のための正しいクレデンシャルも入力しましたが、ログインに失敗し、「ユーザ名が認識されません」と表示されます。
ユーザ名が認識されない
CMS Webbridgeトレース(?trace=trueが使用されている場合)
3月18日15:08:52.114 user.info cmscb3-1 client_backend:INFO : SamlManager :[d626bbaf-80c3-4286-8284-fac6f71eb140] SAMLトークン要求のSSO_2024.zipと一致
3月18日15:08:52.114 user.info cmscb3-1 client_backend:INFO : SamlManager :[d626bbaf-80c3-4286-8284-fac6f71eb140] Attempting to find SSO in SAML Token Request
3月18日15:08:52.117 user.info cmscb3-1 client_backend:INFO : SamlManager :[d626bbaf-80c3-4286-8284-fac6f71eb140]正常に生成されたSAMLトークン
3月18日15:08:52.386 user.info cmscb3-1 client_backend:INFO : SamlManager :[d626bbaf-80c3-4286-8284-fac6f71eb140] SAMLトークン要求のSSO_2024.zipと一致
3月18日15:08:52.386 user.info cmscb3-1 client_backend:INFO : SamlManager :[d626bbaf-80c3-4286-8284-fac6f71eb140] Attempting to find SSO in SAML IDP Response
3月18日15:08:52.391 user.info cmscb3-1 client_backend:INFO : SamlManager :[d626bbaf-80c3-4286-8284-fac6f71eb140]認証ID:darmckin@brhuff.comを正常に取得しました
Mar 18 15:08:52.391 user.info cmscb3-1 host:server:INFO : WB3Cmgr: [d626bbaf-80c3-4286-8284-fac6f71eb140] AuthRequestReceived for connection id=64004556-faea-479f-aabe-691e17783aa5 registration=40a4026c 272-42a1-b125-136fdf5612a5 (user=darmckin@brhuff.com)
Mar 18 15:08:52.399 user.warning cmscb3-1 host:server: WARNING : rejecting login attempt from user 'darmckin@brhuff.com' — authenticationId incorrect
3月18日15:08:52.412 user.info cmscb3-1 host:server:INFO: unsuccessful login request from darmckin@brhuff.com
CMS ldapmappingのAuthenticationIdMappingが、ADFSのクレームルールに使用されている設定済みのLDAP属性と一致しません。「Successfully obtain authenticationID:darmckin@brhuff.com」という行は、ADFSにはActive Directoryからdarmckin@brhuff.comを取得する属性で設定されたクレームルールがあることを示していますが、CMS API > UsersのAuthenticationIDはがdarmckinであることを示示しています。 CMS ldapMappingsでは、AuthenticationIDは$sAMAccountName$として設定されていますが、ADFSのクレームルールは電子メールアドレスを送信するように設定されているため、これは一致しません。
修正方法:
次の点を軽減するには、いずれかの方法を実行します。
API LDAPマッピング
APIユーザの例
ADFSからのクレームルール
3月18日14:24:01.096 user.info cmscb3-1 client_backend:INFO : SamlManager : [7979f13c-d490-4f8b-899c-0c82853369ba] SAMLトークン要求のSSO_2024.zipと一致
3月18日14:24:01.096 user.info cmscb3-1 client_backend:INFO : SamlManager : [7979f13c-d490-4f8b-899c-0c82853369ba] Attempting to find SSO in SAML IDP Response
3月18日14:24:01.101 user.info cmscb3-1 client_backend:INFO : SamlManager :[7979f13c-d490-4f8b-899c-0c82853369ba]正常に認証を取得しましたID:darmckin@brhuff.com
3月18日14:24:01.102 user.info cmscb3-1 host:server:INFO : WB3Cmgr: [7979f13c-d490-4f8b-899c-0c82853369ba] AuthRequestReceived for connection id=64004556-faea-479f-aabe-691e17783aa5 registration=40a4026c-4 2a1-b125-136fdf5612a5(user=darmckin@brhuff.com)
3月18日14:24:01.130 user.info cmscb3-1 host:server:INFO : successful login request from darmckin@brhuff.com
3月18日14:24:01.130 user.info cmscb3-1ホスト:サーバ:情報:WB3Cmgr:[7979f13c-d490-4f8b-899c-0c82853369ba] issuing JWT ID e2a860ef-f4ef-4391-b5d5-abdfa89ba0f
3月18日14:24:01.132 user.info cmscb3-1ホスト:サーバ:情報:WB3Cmgr:[7979f13c-d490-4f8b-899c-0c82853369ba] sending auth response (jwt length=1064, connection=64004556-faea-479f-aabe-691e17783aa5)
3月18日14:24:01.133 local7.info cmscb3-1 56496041063b wb3_frontend: [Auth:darmckin@brhuff.com, Tracing:7979f13c-d490-4f8b-899c-0c82853369ba] 10.10.10.8 - [2024年3月18日:18:24:01 +000] status "POST /api/auth/sso/idpResponse HTTP/1.1" bytes_sent 0 http_referer "https://adfs.brhuff.com/" http_user_agent "Mozilla/5.0 (Windows NT 10.0; win64; x64) AppleWebKit/537.36 (GeckoのようなKHTML) Chrome/122.0.0。Safari/537.36" to upstream 192.0.2.2:9000: upstream_response_time 0.038 request_time 0.039ミリ秒1710786241.133 upstream_response_length 24 200
このセクションでは、Cisco Meeting Server上のWebApp SSOに関するFAQやトピックを取り上げます。
JSON Web Token(JWT)は、正常に認証された(IdPに対して正常に認証された)WebappクライアントにCallbridgeによって提供されるトークンで、WebAppサービスへのアクセスを許可します。JWT内の有効期限タイマー値は、JWTが有効である期間を示します。JWTの有効期限に達すると、WebAppユーザはページのWebbridgeログインにリダイレクトされ、アクセスを取り戻すために再認証が必要になります。
JWTの期限切れは、WebAppクライアントに提供されるJWTの有効期限を設定したい時間数を数値で表した「callbridge wc3jwt expiry <1-24>」(3.8以降で追加 – 詳細は『CMS 3.8リリースノート』または『CMS MMPガイド』を参照)を利用して設定できます。ただし、このコマンドで確認できるように、最大値は24時間に設定できます。これは、JWTを有効なまま維持できる最長時間と、WebAppユーザがログインできる最長時間が24時間であることを意味します。JWTの有効期限に達すると、ブラウザは有効期限が切れたトークンをダンプし、WebAppユーザはWebAppログインページに強制的に戻されます。
一部の環境では、IdPと環境の設定に応じて、永続的SSO/Keep me signed in機能をIdPに実装できます。これにより、ブラウザを閉じてもCookieが保持されるIdPから永続的なcookedがブラウザに提供されます(他の方法でクリアされない限り)。 SSO/IdPの設定に関係なく、JWTが期限切れになると(最大24時間)、WebAppユーザはWebAppログインページに強制的に戻されます。ただし、IdPでPersistent SSOが有効になっているこのシナリオでは、ユーザはWebAppログインページに<user@domain>を入力するだけで、IdPへの再認証は不要です。
WebAppに対する拡張認証を可能にするための更新トークンメカニズムの実装に関する機能拡張(Cisco Bug ID CSCwm28758)が公開されています。
このシナリオのフローは次のとおりです。
このシナリオでは何が起こりますか。
この答えはそれにかかっています!Callbridgeが提供するJWTがWebAppページへのアクセス時に期限切れになるかどうかは完全に依存します。JWTが有効でストレージに存在している限り、ブラウザを閉じてもWebAppページに移動できます。 JWTの有効期間は最大24時間であることに注意してください。
WebApp SSOは、複数のドメインを持つ環境だけでなく、これらの異なるドメインが異なるアイデンティティプロバイダー(IdP)を指す環境もサポートできます。 Cisco Meeting Server導入ガイドを参照するか、Cisco TACに連絡して、複数ドメインの使用に関するサポートを受けてください。
改定 | 発行日 | コメント |
---|---|---|
3.0 |
02-Oct-2024
|
さまざまなトラブルシューティングシナリオを追加 |
1.0 |
21-Jan-2024
|
初版 |