SAML SSO アクセスのトラブルシューティング

Troubleshooting SAML SSO Access

IdP へのリダイレクトが失敗する

エンドユーザが Cisco Unity Connection 対応のウェブブラウザを使用して SAML が有効なウェブアプリケーションにログインしようとしても、認証の詳細を入力するために設定された ID プロバイダ (IdP) にリダイレクトされません。 以下の条件が満たされているかどうかを確認します。

  • ID プロバイダ (IdP) は稼働しています。

  • 正しい IdP メタデータ ファイル (idp.xml) が Unity Connection にアップロードされました。

  • サーバと IdP が同じ信頼の輪の一部であることを確認します。

IdP 認証が失敗する

エンドユーザが IdP により認証されない場合、以下の条件が満たされているかどうかを確認してください。

  • LDAP ディレクトリは IdP にマッピングされています。

  • ユーザーが LDAP ディレクトリに追加されます。問題が解決しない場合は、Unity Connection および ID プロバイダに関連付けられている NTP サーバーを確認します。 これら両方のサーバーに関連付けられた NTP サーバーの時間が同期していることを確認します。

  • LDAP アカウントはアクティブです。

  • ユーザー ID とパスワードが正しいことを確認します。

Unity Connection へのリダイレクトが失敗する

IdP により認証された後でも、ユーザが SAML SSO 対応ウェブアプリケーションにリダイレクトされない場合は、以下を確認してください。

  • 必須属性の uid が IdP で設定されていること。
  • 正しい Unity Connection サーバ メタデータ ファイルが IdP にアップロードされていること。
  • ユーザが必要な権限を持っている。

パブリッシャーとサブスクライバーのサーバでの SAML 状況の不一致

Unity Connection のパブリッシャとサブスクライバのサーバで SAML ステータスの不一致がある場合、次の操作を行います。

  • IdP メタデータがサブスクライバー サーバで正しいかどうかを確認し、正しくない場合は、[SAML シングル サインオン ウェブページからメタ データを再インポート] オプションを選択します。

  • それでも問題が解決しない場合は、[すべての無効なサーバーの修正(Fix All Disabled Servers)] オプションを選択します。


    (注)  


    Unity Connection クラスタの場合、パブリッシャサーバのメタ データを再インポートするオプションはありません。


Unity Connection のウェブ アプリケーションへのアクセスの問題

ユーザが SAML SSO 機能を使用して Unity Connection のウェブアプリケーションにアクセスできず、与えられたエラーが発生した場合:

エラー(Error)

<ADFS server>

サイトへのアクセスで問題が発生しました。 再度サイトの参照を試みてください。 問題が解決しない場合は、このサイトの管理者に連絡し、問題を特定するための参照番号を知らせてください。

以下のタスクリストを使用して、問題の原因を特定し、修正します。

  1. サービス プロバイダのメタデータ (SPMetadata<hostname of Unity Connection>.xml) が ID プロバイダで欠落していないことを確認します。 インポートまたは URL オプションで Unity Connection のサービス プロバイダー メタデータをアップロードしてみてください。

  2. sp.xml のインポートに成功したら、以下の 2 つのクレームルールを追加します。

  • LDAP 属性をクレームとして送信する:LDAP 属性を SAM アカウント名として選択し、これに対応する発信クレーム タイプを uid として追加します。

  • カスタムルールを使用してクレームを送信する:[カスタムルール(Custom Rule)] の説明の下に、次のクレームを記述します。

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
 => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"] = "http://<ADFS_FQDN>/adfs/com/adfs/service/trust", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "<UC_Node_FQDN>");

これらの 2 つの要求ルールを正常に保存して、SAML SSO 機能で使用される ID プロバイダが適切に設定されるようにします。 (上記の問題の説明では、ADFS を ID プロバイダとして考慮しています)

SAML SSO。 代わりに、サポートされている任意の ID プロバイダを選択できます。)

  1. アイデンティティ プロバイダ サーバ上の Unity Connection サーバ エントリは無効にしないでください。

  2. サービスプロバイダのメタデータ(SPMetadata<hostname of Unity Connection>.xml)へのアクセス時にエラーが発生しないはずです。SP メタデータファイルが破損していると、ユーザーはウェブアプリケーションへのシングルサインオンアクセスができなくなります。

ユーザが Unity Connection にログインする際の暗号化エラー

ユーザが Unity Connection のウェブ アプリケーションにログインしようとして、次の状況が発生した場合

例外エラー:

エラー 500 と例外

秘密鍵を復号化できません

以下のタスクリストを使用して、問題の原因を特定し、修正します。

  1. Unity Connection で SAML SSO 機能が有効になっていることを確認します。

  2. [ID プロバイダ(Identity Provider)] サーバーの [Relying Party Trust] ページで、[クレームルールの編集(Edit Claim Rule)] を選択し、

[暗号化(Encryption)] タブを選択します。 その場所から暗号化を削除すると、問題が修正されます。

クラスターの ADFS でサブスクライバ SP メタデータをアップロードできない

ユーザーがクラスター内の ADFS サーバーにサブスクライバの SP メタデータをアップロードしようとして失敗した場合、ユーザーは以下の手順を試す必要があります。

  1. ADFS 2.0 の更新ロール 3 にホットフィックスを適用します。 (http://support.microsoft.com/kb/2790338) です。

  2. Windows powershell を起動し、コマンドを実行します:

cd "$env:programfiles\active directory federation services 2.0\sql"

Add-PSSnapin Microsoft.adfs.powershell

.\PostReleaseSchemaChanges.ps1

メモ: powershell で次のエラーが発生した場合

スクリプトをロードできません。このシステムではスクリプトの実行が無効になっているためです。

実行: Set-ExecutionPolicy RemoteSigned を Windows powershell で実行し、yes を選択します。

SAML 例外時刻同期エラー

ユーザが Unity Connection で SAML SSO 機能を設定しようとしたところ、時間の不一致に関連する次のエラーが発生しました。

SAML 例外の問題:SAML2Exception

SubjectConfirationData の時刻が無効です

以下のタスクリストを使用して、問題の原因を特定し、修正します。

  1. アイデンティティ プロバイダ (ADFS など) と Unity Connection のクロックが相互に同期していることを確認します。

  2. 引き続き問題が発生する場合は、Unity Connection および ID プロバイダに関連付けられている NTP サーバを確認します。 これら両方のサーバに関連付けられた NTP サーバの時間が同期していることを確認してください。

SAML 例外、無効なステータスコード

ユーザーが Cisco Unity Connection で SAML SSO 機能を設定しようとするとき、[FIPS モード(FIPS mode)] および署名アルゴリズムが SHA1 である場合、以下の問題が発生します。

エラー: レスポンス中のステータスコードが無効です。

SAML 例外の問題: ServletException。

IdP の構成エラーです。 IdP ログと設定を確認してください。

この問題を修正するには、以下のタスクリストを使用します。

  1. Unity Connection の admin cli コマンド utils sso set signing-algorithm sha256 を実行して、署名アルゴリズムを SHA1 から SHA256 に変更します。

  2. Unity Connection で SAML SSO 機能を設定します。

Unity Connection クラスタの 2 つのサーバー上で SAML SSO のステータスが間違っている

SAML SSO 機能のステータスが Unity Connection クラスタの 2 つのサーバで異なる場合、以下を実行します。

  • SAML SSO ステータスがサブスクライバサーバで無効でパブリッシャサーバで有効になっている場合、サブスクライバサーバで Cisco Unity Connection 管理にログインし、オプション「無効なすべてのサーバを修正」を選択します。

  • パブリッシャサーバーに到達できないときに、サブスクライバサーバーで SAML SSO 機能を無効にする場合、ユーザーはパブリッシャサーバーから SAML SSO 機能を明示的に無効にする必要があり、逆も同様です。 問題が解決しない場合は、サーバの再起動が必要になる場合があります。

  • パブリッシャ再構築の場合、管理者は、クラスタのパブリッシャサーバ上の IdP メタデータファイルを明示的に更新する必要があります。

クロスオリジン リソース共有のトラブルシューティング

サードパーティのブラウザアプリケーションが、SAML シングルサインオンのステータスを取得するために、http://<hostname>/ssosp/ws/public/singleSignOn API を呼び出すことで、異なるオリジンから CORS リクエストを行う場合、ユーザーは「ドメインが許可されていません」というエラーメッセージを取得します。 この問題を解決するには:

  • ドメイン名がトレースファイルに適切に構成されていることを確認します。

  • API メソッド タイプが正しく設定されているかどうかを確認してください。

  • <Hostname> が API で正しく言及されているか確認してください。

SAML SSO アクセスの問題に関する診断トレース

Unity Connection トレース レベルを有効にして、SAML SSO 機能に関連する問題を検出し、調査することができます。 トレースは、システムサーバーへのコマンドラインアクセス(CLI)からオンにします。

指定されたコマンドは SAML SSO のトレースをオンにします:

admin: set samltrace level <trace-level>

定義されたトレースは以下のとおりです。

  • デバッグ(Debug)

  • 情報(Info)

  • 警告

  • エラー(Error)

  • 重大(Fatal)

トレースは Unity Connection の次の場所で収集されます。

/var/log/active/tomcat/logs/ssosp