概要
このドキュメントでは、Active Directoryフェデレーションサービス(AD FS)を使用して、クラスタごとにシングルセキュリティアサーションマークアップ言語(SAML)アイデンティティプロバイダー(IdP)接続/アグリーメントを設定する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco Unified Communications Manager(CUCM)11.5以降
- Cisco Unified Communications Manager IM and Presenceバージョン11.5以降
- Active Directoryフェデレーションサービスバージョン2.0
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。
- Active Directoryフェデレーションサービスバージョン2.0(IdP)
- Cisco Unified Communications Manager バージョン 11.5
- Cisco Unified Presence サーバ バージョン 11.5
背景説明
SAML SSOでは、サービスプロバイダー(SP)とIdPの間の信頼の輪である必要があります。 この信頼は、信頼(メタデータ)が交換されるときに、SSOイネーブルメントの一部として作成されます。 CUCMからメタデータをダウンロードしてIdPにアップロードします。同様に、IdPからメタデータをダウンロードしてCUCMにアップロードします。
以前のCUCM 11.5では、発信元ノードがメタデータファイルを生成し、クラスタ内の他のノードからメタデータファイルを収集します。 すべてのメタデータファイルを1つのzipファイルに追加し、管理者に提示します。管理者はこのファイルを解凍し、IdP上の各ファイルをプロビジョニングする必要があります。たとえば、8ノードクラスタの8個のメタデータファイルです。
クラスタ機能ごとの単一SAML IdP接続/アグリーメントは、11.5から導入されました。この機能の一部として、CUCMは、クラスタ内のすべてのCUCMおよびIMPノードに対して単一のサービスプロバイダーメタデータファイルを生成します。メタデータファイルの新しい名前形式は<hostname>-single-agreement.xmlです
基本的に、1つのノードがメタデータを作成し、クラスタ内の他のSPノードにプッシュします。これにより、プロビジョニング、メンテナンス、管理が容易になります。たとえば、8ノードクラスタに対して1つのメタデータファイルがあります。
クラスタ全体のメタデータファイルは、クラスタ内のすべてのノードでキーペアが確実に使用されるマルチサーバtomcat証明書を使用します。メタデータファイルには、クラスタ内の各ノードのアサーションコンシューマサービス(ACS)URLのリストもあります。
CUCMおよびCisco IM and Presenceバージョン11.5クラスタ全体(クラスタごとに1つのメタデータファイル)とノードごと(既存のモデル)の両方をサポートします。
このドキュメントでは、AD FS 2.0を使用してSAML SSOのクラスタ全体モードを設定する方法について説明します。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
設定
ステップ1:CUCMからSPメタデータをエクスポートする
Webブラウザを開き、管理者としてCUCMにログインし、[System] > [SAML Single Sign On]に移動します。
デフォルトでは、[クラスタワイド]オプションボタンが選択されています。[すべてのメタデータをエクスポート]をクリックします。管理者に<hostname>-single-agreement.xmlという名前で提示されるメタデータデータファイル
ステップ2:AD FSからIDPメタデータをダウンロードする
IdPメタデータをダウンロードするには、リンクhttps:// <FQDN of ADFS>/federationmetadata/2007-06/federationmetadata.xml
ステップ3:IdPのプロビジョニング
図に示すように、[AD FS 2.0 Management/Trust Relation Ships/Relying Party trust]に移動します。[Add Relying Party Trust]をクリックします。
図に示すように、[Add Relying Party Trust Wizard]が開き、[Start]をクリックします。
証明書利用者に関するインポートデータをファイルからクリックします。CUCM SAML SSO設定ページからダウンロードしたSPメタデータを参照します。次に、図に示すように[Next]をクリックします。
証明書利用者の[Display Name]とオプションのメモを入力します。図に示すように、[Next]をクリックします。
[Permit all users to access this relying party]を選択して、すべてのユーザがこの証明書利用者にアクセスできるようにして、図に示すように[Next]をクリックします。
[Ready to Add Trust] ページで、設定されている証明書利用者信頼の設定を確認できます。次に、図に示すように[Next]をクリックします。
[完了]ページで、証明書利用者信頼がAD FS構成データベースに正常に追加されたことを確認します。図に示すように、[Box]のチェックマークを外し、[Close]をクリックします。
図に示すように、[Relying Party Trusts]を右クリックして[Edit Claim Rules]をクリックします。
次に、図に示すように[Add Rule]をクリックします。
[Add Transform Claim Rule]が開いたら、図に示すように、デフォルトのクレームルールテンプレート[Send LDAP Attributes as Claims]をクリックします。
次の図に示すように、[Configure Claim Rule]をクリックします。LDAP属性は、CUCMのLDAPディレクトリ設定のLDAP属性と一致している必要があります。送信要求の種類をuidとして管理します。図に示すように[Finish]をクリックします。
証明書利用者のカスタムルールを追加します。[Add Rule] をクリックします。図に示すように、[カスタム規則を使用して要求を送信]を選択し、[次へ]をクリックします。
[要求ルールの構成]で、[要求ルール名]を入力し、ウィザードの[カスタムルール]フィールドに指定された過去の要求ルールをコピーします。その後、要求ルールの名前修飾子とspname修飾子を変更します。図に示すように[Finish]をクリックします。
クレームルール:
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://<FQDN of ADFS>/adfs/com/adfs/services/trust", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "<Entity ID in the SP Metadata>");
Entity ID = Open the SP metadata and check the Entity ID. Basically, its the CUCM Publisher’s FQDN.
図に示すように、[適用]をクリックして、[OK]をクリックします。
ステップ4:SAML SSOの有効化
Webブラウザを開き、管理者としてCUCMにログインし、[System] > [SAML Single Sign On]に移動します。
デフォルトでは、[クラスタワイド]オプションボタンが選択されています。図に示すように[Enable Saml SSO]をクリックします。
図に示すように、ポップアップはWebサーバの再起動に関する警告と、idpに応じてクラスタ全体のSAML SSOまたはノードごとのSAML SSOを選択するための情報を通知します。[Continue] をクリックします。
クラスタ全体のSSOを有効にする基準は、マルチサーバのtomcat証明書がすでに配備されている必要があることです。図に示すように、[Test for Multi-Server tomcat Certificate]をクリックします。
確認が完了したら、すべてのノードにマルチサーバ証明書が表示され、[すべてのノードにマルチサーバ証明書があります]と表示され、[次へ]をクリックします(図を参照)。
図に示すように、[次へ]をクリックします。
ダウンロードしたIdPメタデータを参照して選択します。図に示すように[Import IdP Metadata]をクリックします。
次の図に示すように、ページで[Import succeeded for all servers]が確認され、[Next]をクリックします。
図に示すように、[Next] をクリックします。これは、初期SAML SSO設定ページからSPメタデータがすでにエクスポートされているためです。
CUCMはLDAPディレクトリと同期している必要があります。ウィザードには、LDAPディレクトリで設定されている有効な管理者ユーザが表示されます。図に示すように、ユーザを選択し、[Run SSO Test]をクリックします。
図に示すように、プロンプトが表示されたら、ユーザIDとそれぞれのパスワードを入力します。
図に示すように、ポップアップはテストが成功したことを示します。
図に示すように、[Finish]をクリックして、SSOを有効にするための設定を完了します。
図に示すページは、すべてのサーバでSAML SSOの有効化プロセスが開始されていることを示しています。
ログアウトし、SAML SSOクレデンシャルを使用してCUCMに再度ログインします。[システム(System)] > [SAMLシングルサインオン(SAML Single Sign On)]に移動します。図に示すように、クラスタ内の他のノードに対して[SSOテストの実行(Run SSO Test)]をクリックします。
確認
ここでは、設定が正常に機能しているかどうかを確認します。
SAML SSOが有効になっているノードのSSOテストが成功したことを確認します。[System] > [SAML Single Sign On]に移動します。成功したSSOテストのステータスは[Passed]です。
SAML SSOがアクティブになると、次の図に示すように、CUCMログインページの[Installed Applications]および[Platform Applications]が表示されます。
SAML SSOがアクティブになると、次の図に示すように、IM and Presenceログインページの[Installed Applications and Platform Applications]がリストされます。
トラブルシュート
ここでは、設定のトラブルシューティングに使用できる情報を示します。
デバッグするSSOログを設定するには、コマンドset samltrace level DEBUGを使用します
RTMTを使用するか、CLIを使用してactivelog /tomcat/logs/ssosp/log4j/*.logの場所からSSOログを収集します。
SSOログの例は、生成されたメタデータと他のノードへの送信を示します
2016-05-28 14:59:34,026 DEBUG [http-bio-443-exec-297] cluster.SAMLSSOClusterManager - Call GET API to generate Clusterwide SP Metadata in the Local node.
2016-05-28 14:59:47,184 DEBUG [http-bio-443-exec-297] cluster.SAMLSSOClusterManager - Call to post the generated SP Metadata to other nodes
2016-05-28 14:59:47,185 INFO [http-bio-443-exec-297] cluster.SAMLSSOClusterManager - Begin:postClusterWideSPMetaData
2016-05-28 14:59:47,186 DEBUG [http-bio-443-exec-297] cluster.SAMLSSOClusterManager - Nodes [cucm1150, cucm1150sub.adfs.ucce.com]
2016-05-28 14:59:47,186 DEBUG [http-bio-443-exec-297] cluster.SAMLSSOClusterManager - Post ClusterWideSPMetadata to the cucm1150
2016-05-28 14:59:47,187 DEBUG [http-bio-443-exec-297] cluster.SAMLSSOClusterManager - Post ClusterWideSPMetadata to the cucm1150sub.adfs.ucce.com