SAML ベースの SSO ソリューション

SAML SSO ソリューションについて


重要


Cisco Jabber を Cisco Webex Meeting Server と共に導入する場合、Unified Communications Manager と Webex Meeting Server は同じドメインに存在している必要があります。

SAML は XML ベースのオープン規格のデータ形式であり、いずれかのアプリケーションにサインインした後に、管理者は定義された一連のシスコのコラボレーション アプリケーションにシームレスにアクセスできます。 SAML では、信頼できるビジネス パートナー間で、セキュリティに関連した情報交換を記述します。 これは、サービス プロバイダー(例:Unified Communications Manager)がユーザの認証に使用する認証プロトコルです。 SAML により、ID プロバイダ(IdP)とサービスプロバイダーの間で、セキュリティ認証情報を交換できます。

SAML SSO は SAML 2.0 プロトコルを使用して、シスコのコラボレーション ソリューションのドメイン間と製品間で、シングル サインオンを実現しています。 SAML 2.0 は、Cisco アプリケーション全体で SSO を有効にし、Cisco アプリケーションと IdP 間でフェデレーションを有効にします。 SAML 2.0 では、高度なセキュリティ レベルを維持しながら、シスコの管理ユーザが安全なウェブ ドメインにアクセスして、IdP とサービス プロバイダーの間でユーザー認証と承認データを交換できます。 この機能は、さまざまなアプリケーションにわたり、共通の資格情報と関連情報を使用するための安全な機構を提供します。

SAML SSO の管理者権限は、シスコのコラボレーション アプリケーションでローカルに設定されたロールベース アクセス コントロール(RBAC)に基づき認証されます。

SAML SSO は、IdP とサービス プロバイダーの間のプロビジョニング プロセスの一部として、メタデータと証明書を交換することで信頼の輪(CoT)を確立します。 サービス プロバイダーは IdP のユーザ情報を信頼しており、さまざまなサービスやアプリケーションにアクセスできるようにします。


重要


サービス プロバイダーが認証にかかわることはありません。 SAML 2.0 では、サービス プロバイダーではなく、IdP に認証を委任します。

クライアントは IdP に対する認証を行い、IdP はクライアントにアサーションを与えます。 クライアントはサービス プロバイダーにアサーションを示します。 CoT が確立されているため、サービス プロバイダーはアサーションを信頼し、クライアントにアクセス権を与えます。

シングル サインオン シングル サービス プロバイダ契約

シングルサインオンにより、複数の Cisco コラボレーションアプリケーションの 1 つにログオンした後で、それらにアクセスすることができます。 Unified Communications Manager リリース 11.5 より前のリリースでは、管理者が SSO を有効にすると、各クラスタノードは URL と証明書を使用して独自のサービスプロバイダメタデータ (SP メタデータ) ファイルを生成しました。 生成された各ファイルは、ID プロバイダ(IDP)サーバーに個別にアップロードする必要がありました。 IDP サーバーは各 IDP および SAML 交換を別個の合意と見なしたため、作成された合意の数はクラスター内のノードの数と同等でした。

ユーザエクスペリエンスを改善し、大規模展開のソリューションの総コストを削減するために、このリリースでは機能が強化されています。 現在は、Unified Communications Manager クラスター (Unified Communications Manager および Instant Messaging and Presence (IM and Presence)) の単一の SAML 合意をサポートしています。

SAML ベースの SSO 機能

SAML SSO を有効にするといくつかの利点があります:

  • 異なるユーザ名とパスワードの組み合わせを入力する必要がなくなるため、パスワードの手間が軽減されます。
  • アプリケーションをホストするシステムの認証をサードパーティのシステムに転送します。 SAML SSO を使えば、IdP とサービスプロバイダの間に信頼の輪を築くことができます。 サービス プロバイダーは、IdP を信頼してユーザを認証します。
  • 認証情報を保護し、セキュリティを確保します。 これは、IdP、サービス プロバイダー、ユーザ間でやり取りされる認証情報を保護するための暗号化機能を提供します。 SAML SSO は、IdP とサービスプロバイダの間で受け渡される認証メッセージを外部ユーザから隠すこともできます。
  • 同じ ID の資格情報を再入力する時間が短縮されるため、生産性が向上します。
  • パスワードのリセットのためのヘルプデスクへの電話が減り、それによりコストが削減され、さらなる節約が可能になります。

SAML SSO ソリューションの基本要素

  • クライアント (ユーザのクライアント): これはブラウザベースのクライアント、または認証にブラウザインスタンスを利用できるクライアントです。 たとえば、システム管理者のブラウザです。

  • サービスプロバイダ: クライアントがアクセスしようとしているアプリケーションまたはサービスです。 たとえば、 Unified Communications Manager などです。

  • ID プロバイダ (IdP) サーバ:これはユーザの資格情報を認証し、SAML アサーションを発行するエンティティです。

  • Lightweight Directory Access Protocol (LDAP) ユーザ: これらのユーザは、Microsoft Active Directory や OpenLDAP などの LDAP ディレクトリと統合されています。 LDAP 以外のユーザは Unified Communications サーバ上にローカルに存在します。

  • SAML アサーション: これは、ユーザ認証のために IdP からサービス プロバイダーに転送されるセキュリティ情報で構成されています。 アサーションは、ユーザ名や権限などのサブジェクトに関する信頼できるステートメントを含む XML ドキュメントです。 SAML アサーションは通常、信頼性を保証するためにデジタル署名されています。

  • SAML リクエスト: これは Unified Communications アプリケーションで生成される認証リクエストです。 LDAP ユーザを認証するために、 Unified Communications アプリケーションは IdP に認証リクエストを委任します。

  • 信頼の輪 (CoT): 1 つの IdP を共有し、それに対して共通の認証を行うさまざまなサービス プロバイダーで構成されます。

  • メタデータ:これは SSO が有効な Unified Communications アプリケーション(例えば、Unified Communications ManagerCisco Unity Connection など)および IdP によって生成される XML ファイルです。 SAML メタデータの交換は、IdP とサービス プロバイダー間の信頼関係を構築します。

  • アサーション コンシューマー サービス (ACS) URL:この URL は IdP にアサーションを投稿する場所を指示します。 ACS URL は、特定の URL への最終的な SAML 応答を投稿するように IdP に指示します。


(注)  


認証を必要とするすべての範囲内サービスは、SSO メカニズムとして SAML 2.0 を使用します。

SAML SSO ソリューションのアイデンティティ フレームワークについては、次の図を参照してください。

SAML SSO をサポートする Cisco Unified Communications アプリケーション

  • Unified Communications Manager

  • Unified Communications Manager IM and Presence Service


    (注)  


    SAML SSO の設定に関するの詳細情報は、『Cisco Unified Communications Manager 機能およびサービスガイド、リリース 10.0(1)』の「SAML シングルサインオン」の章を参照してください。
  • Cisco Unity Connection

    (注)  


    Cisco Unity Connection のサーバーの SAML SSO 機能の設定に関する詳細情報は、『Cisco Unity Connection システム アドミニストレーション ガイド、リリース 10.x』の「Cisco Unity Connection で SAML SSO を管理する」の章を参照してください。
  • Cisco Prime Collaboration

    (注)  


    Cisco Prime Collaboration サーバーで SAML SSO の設定ステップに関する詳細情報は、『Cisco Prime Collaboration 10.0 保証ガイド - 詳細』の「ユーザーを管理する」の章にある「Prime Collaboration のシングルサインオン」の項を参照してください。
  • Windows 版 Cisco Unified Real-Time Monitoring Tool (RTMT)

    (注)  


    RTMT の SAML SSO を有効にする方法に関する詳細情報は、『Cisco Unified Communications Manager システム設定ガイド』の「初期システムとエンタープライズパラメータを設定する」の章にある「RTMT の SSO を設定する」を参照してください。
  • Cisco Expressway

    (注)  


    Cisco Expressway の SAML SSO 設定情報については、『 Cisco Expressway 管理者ガイド 』を参照してください。

Cisco Unified Communications Manager ウェブインターフェイスの SAML SSO サポート

このリリースでは、Cisco Unified OS 管理と災害復旧システムが、Security Assertion Markup Language (SAML) SSO 対応アプリケーションになりました。 SAML SSO が有効な場合、ID プロバイダ (IdP) でシングルサインインした後で、これらのアプリケーションや、Unified Communications Manager などの他のサポートされているアプリケーションを起動できます。 これらのアプリケーションに個別にログインする必要はなくなりました。

Cisco Unified OS の管理および災害復旧システムで SAML SSO をサポートするには、レベル 4 管理者がレベル 0 とレベル 1 管理者を Active Directory に作成します。 レベル 4 管理者は、クラスターのすべてのノードにプラットフォーム管理者を追加します。 この追加により、プラットフォーム管理者は、Active Directory とプラットフォーム データベース間で同期されます。 プラットフォームデータベースでユーザを設定する際、管理者はユーザの uid 値を設定する必要があります。 Cisco Unified OS Administration およびディザスタ リカバリ システム アプリケーションは、uid 値を使用してユーザーを認証します。 IdP サーバは Active Directory サーバに対して資格情報を認証し、SAML 応答を送信します。 認証後、Unified Communications Manager は uid 値を使用してプラットフォーム データベースからユーザーを認証します。 uid 値の詳細は、 プラットフォーム ユーザの一意の識別値の設定 手順を参照してください。

既存のリリースで SAML SSO が有効になっていて、以前のリリースから新しいリリースにアップグレードする場合、SAML SSO サポートは新しいリリースの Unified OS 管理および災害復旧システムアプリケーションで利用できます。 Unified Communications Manager ウェブアプリケーションの SAML SSO を有効にすると、これらのアプリケーションの SAML SSO サポートも有効になります。 新しいリリースで SAML SSO サポートを有効にするには、http://www.cisco.com/c/en/us/support/unified-communications/unified-communications-manager-callmanager/products-maintenance-guides-list.html にある『Cisco Unified Communications アプリケーション SAML SSO 導入ガイド』の SAML SSO の有効化のトピックを参照してください。


(注)  


Unified Communications Manager 管理者に対して SAML SSO サポートが有効になっている場合、クラスタ全体で適用できます。 ただし、Cisco Unified OS Administration およびディザスタ リカバリ システム アプリケーションの場合、各プラットフォーム管理者はノードに固有であり、これらのユーザーの詳細はクラスタ全体で複製されません。 そのため、各プラットフォームユーザはクラスターの各サブスクライバーノードで作成されます。


プラットフォーム ユーザの一意の識別値の設定

一意の識別 (UID) 値は、プラットフォーム ユーザがプラットフォーム ページで SSO ログインを行うことを承認するために使用されます。 レベル 4 管理者は、以下のいずれかの方法で、プラットフォーム管理者のこの値を設定できます。
  • CLI の set account name コマンドを使用してプラットフォームユーザーを作成する際に、この値を設定します。

  • 既存の uid 値の更新中です。


(注)  


詳細については、『Cisco Unified Communications のソリューション コマンド ライン インタフェース リファレンス ガイド』set account name および set account ssouidvalue コマンドを参照してください。


Cisco Unified OS Administration のリカバリ URL サインインオプション

このリリースでは、プラットフォーム管理者は、SAML SSO 対応アプリケーションの 1 つにサインインするか、リカバリ URL オプションを使用して、Cisco Unified OS Administration にアクセスできます。 このオプションは、SSO が有効なノードのメインページで、 シングルサインオンをバイパスするリカバリ URL リンクとして利用できます。 プラットフォームユーザーは、リカバリ URL アクセスがある場合、Cisco Unified OS Administration にサインインできます。


(注)  


SSO のみを有効にしてリカバリ URL を有効にしていない場合、認証ユーザーに十分なアクセス権限がない場合、403 エラー(アクセスが拒否されたレスポンス)のみが返されます。 しかし、リカバリ URL を有効にしている場合、エラーが発生すると、ユーザーを認証する際にリカバリ URL ページにリダイレクトされます。


レベル 4 管理者は、プラットフォームユーザの回復 URL サインインオプションを構成します。 管理者は、CLI からプラットフォーム管理者が作成されている間、または CLI コマンドを使用して詳細が更新されているときに、このオプションを有効にできます。 新規および既存のプラットフォーム管理者用のリカバリ URL ログイン用 CLI コマンドの詳細については、『Cisco Unified Communications のソリューション コマンド ライン インタフェース リファレンス ガイド』setaccount ssourcoveryurlaccess コマンドを参照してください。


(注)  


デフォルトでは、 [シングルサインオンをバイパスするリカバリ URL ] リンクがレベル 4 管理者に対して有効に設定されています。 以前のリリースから新しいリリースにアップグレードする場合、このリンクはプラットフォーム管理者のレベル 0 およびレベル 1 に対して有効になります。


ソフトウェア要件

SAML SSO 機能には次のソフトウェアコンポーネントが必要です:

  • Cisco Unified Communications アプリケーション、リリース 10.0 (1) 以降。

  • IdP サーバにより信頼され、Cisco Unified Communications アプリケーションによりサポートされている LDAP サーバ。

  • SAML 2.0 標準に準拠する IdP サーバ。

  • Unified Communications Manager でサポートされているログインフローは、SP から開始されます。

ID プロバイダ (IdP) の選択

Cisco コラボレーション ソリューションは、SAML 2.0 (セキュリティ アサーション マークアップ言語) を使用して、Unified Communications サービスを使用するクライアントの SSO (シングル サインオン) を有効にします。

SAML ベースの SSO はエンタープライズ ネットワーク内部から発信される UC サービス要求を認証するためのオプションですが、現在は Mobile and Remote Access (MRA) 経由で外部から UC サービスを要求するクライアントにも拡張されています。

お使いの環境で SAML ベースの SSO を選択する場合、以下の点に注意してください。

  • SAML 2.0 は SAML 1.1 と互換性がないため、SAML 2.0 標準を使用する IdP を選択する必要があります。

  • SAML ベースの ID 管理は、コンピューティングおよびネットワーク業界のベンダーによってさまざまな方法で実装されており、SAML 標準への準拠に関して広く受け入れられている規制はありません。

  • 選択した IdP の設定とポリシーは、Cisco TAC(Technical Assistance Center)サポートの範囲外です。 IdP ベンダーとのお客様のリレーションシップおよびサポート契約を利用して、IDP を適切に設定してください。 Cisco は IdP のエラー、制限、または特定の設定に対して責任を負いません。

Cisco Collaboration インフラストラクチャは、SAML 2.0 準拠を要求する他の IdP と互換性があることが証明される可能性がありますが、次の IdP のみが Cisco Collaboration ソリューションでテストされています。

  • OpenAM 10.0.1

  • Microsoft® Active Directory® Federation Services 2.0、3.0、4.0、および 5.0

  • Microsoft Azure

  • PingFederate® 6.10.0.4

  • F5 BIG-IP 11.6.0

  • Okta 2017.38

SAML コンポーネント

SAML SSO ソリューションは、アサーション、プロトコル、バインディング、プロファイルの特定の組み合わせに基づいています。 プロトコルとバインディングを使用して、アプリケーションとサイト間でさまざまなアサーションが交換され、これらのアサーションがサイト間でユーザを認証します。 SAML コンポーネントは以下の通りです。
  • SAML アサーション:IdP からサービス プロバイダーに転送される情報の構造とコンテンツを定義します。 これはセキュリティ情報のパケットで構成され、サービス プロバイダーがさまざまなレベルのアクセス コントロールの決定に使用するステートメントが含まれています。
    SAML SSO は次のタイプのステートメントを提供します:
    • 認証ステートメント- これらのステートメントは、特定の時点で IdP とブラウザーの間で発生する認証の方法について、サービス プロバイダーに表明します。
    • 属性ステートメント- これらのステートメントは、ユーザに関連付けられている特定の属性 (名前と値のペア) について表明します。 属性アサーションには、ユーザに関する特定の情報が含まれます。 サービス プロバイダーは、属性を使用してアクセス制御を決定します。
  • SAML プロトコル:SAML プロトコルは、SAML プロトコルがアサーションをリクエストおよび取得する方法を定義します。 このプロトコルは、特定の SAML 要素またはアサーションで構成される SAML 要求および応答要素を担当します。 SAML 2.0 には次のプロトコルが含まれます:
    • アサーション クエリーとリクエスト プロトコル
    • 認証要求プロトコル
  • SAML バインディング: SAML バインディングは、SAML アサーションおよび/またはプロトコルメッセージ交換と、標準のメッセージング形式または SOAP 交換のような通信プロトコルとのマッピングを指定します。 Unified Communications 10.0 は次の SAML 2.0 バインディングをサポートします:
    • HTTP リダイレクト (GET) バインディング
    • HTTP POST バインディング
  • SAML プロファイル: SAML プロファイルは、明確に定義されたユースケースをサポートするために、SAML アサーション、プロトコル、およびバインディングの組み合わせの詳細な説明を提供します。 Unified Communications 10.0 は SAML 2.0 ウェブブラウザ SSO プロファイルをサポートします。

SAML SSO コールフロー

このセクションでは、 SAML SSO 機能により、 Unified Communications アプリケーションでどのようにシングルサインオンが可能になるかについて説明します。 このセクションでは、IdP とサービス プロバイダーの関係についても説明し、シングル サインオンを有効にするためのさまざまな構成設定の重要性を理解するのに役立ちます。

図 1. IdP からの資格情報要求の SAML SSO 呼び出しフロー
1

ブラウザベースのクライアントが、サービスプロバイダの保護されたリソースへのアクセスを試みます。

(注)  

 
ブラウザはサービスプロバイダとの既存のセッションを持っていません。
2

ブラウザからリクエストを受信すると、サービスプロバイダは SAML 認証リクエストを生成します。

(注)  

 
SAML 要求には、どのサービスプロバイダが要求を生成したかを示す情報が含まれます。 後ほどこれにより、IdP はどのサービス プロバイダーがリクエストを開始したかを知ることができます。

SAML 認証を正常に完了するために、IdP はアサーション コンシューマー サービス (ACS) URL を持つ必要があります。 ACS URL は、特定の URL への最終的な SAML レスポンスをポストするように IdP に指示します。

(注)  

 

Unified Communications Manager および VOS 製品は、SAML 2.0 標準に準拠したアサーションコンシューマーサービスインデックス URL を使用します。

(注)  

 
認証リクエストは IdP に送信でき、アサーションはリダイレクトまたは POST バインディングを通じてサービス プロバイダーに送信されます。 たとえば、 Unified Communications Manager はどちらの方向でも POST バインディングをサポートします。
3 サービスプロバイダはリクエストをブラウザにリダイレクトします。

(注)  

 
IdP URL は、SAML メタデータ交換の一部としてサービス プロバイダーで事前構成されています。
4 ブラウザーはリダイレクトに従い、HTTPS GET リクエストを IdP に発行します。 SAML リクエストは GET リクエストのクエリパラメータとして管理されます。
5 有効なセッションを確認します。 利用できない場合は、パスワードベース、MFA ベース、証明書ベースなど、対応する IDP 推奨認証方法に基づいてユーザーを認証します。
6 ブラウザー内に既存の Cookie がない場合、IdP はブラウザーへのログイン要求を生成し、IdP によって構成および実施される認証メカニズムを使用してブラウザーを認証します。

(注)  

 
認証メカニズムは、顧客のセキュリティおよび認証要件によって決定されます。 これは、ユーザー名とパスワード、Kerberos、PKI などを使用したフォームベースの認証です。 この例では、フォームベースの認証を想定しています。
7 ユーザはログイン フォームに必要な資格情報を入力し、IdP に送信します。

(注)  

 
ログの認証チャレンジはブラウザと IdP の間で行われます。 サービスプロバイダはユーザ認証には関与しません。
8 IdP は資格情報を LDAP サーバに送信します。
9 LDAP サーバは資格情報についてディレクトリをチェックし、検証ステータスを IdP に送り返します。
10 IdP は資格情報を検証し、SAML アサーションを含む SAML 応答を生成します。

(注)  

 
アサーションは IdP によってデジタル署名され、ユーザはサービス プロバイダーによって保護されたリソースにアクセスできるようになります。 IdP もここでクッキーを設定します。
11 IdP は SAML 応答をブラウザにリダイレクトします。
12 ブラウザは非表示フォームの POST 命令に従い、サービスプロバイダーの ACS URL にアサーションをポストします。
13 サービス プロバイダはアサーションを抽出し、デジタル署名を検証します。

(注)  

 
サービス プロバイダーはこのデジタル署名を使用して、IdP との信頼の輪を確立します。
14 サービスプロバイダは保護されたリソースへのアクセスを許可し、ブラウザに 200 OK と返信することでリソースのコンテンツを提供します。

(注)  

 
サービスプロバイダーはリソースの認証に責任を持ちます。 たとえば、ユーザは IdP によって正常に認証されますが、Cisco Unified Communications Manager で設定されている管理者ロール権限を持っていない限り、Cisco Unified CM 管理インターフェイスにログインできない場合があります。

(注)  

 
サービスプロバイダはここでクッキーを設定します。 ブラウザから追加のリソースに対する後続のリクエストがある場合、ブラウザはリクエストにサービスプロバイダの Cookie を含めます。 サービスプロバイダは、ブラウザとのセッションがすでに存在しているかどうかを確認します。 Microsoft Teams のセッションが存在する場合、ウェブブラウザはリソースのコンテンツを返します。

Okta 経由の RTMT への SAML SSO ログインの Java 要件

Okta が ID プロバイダとして設定されている SAML SSO があり、SSO を使用して Cisco Unified リアルタイム モニタリング ツールにログインする場合は、最小 Java バージョン8.221 を実行している必要があります。 この要件は Cisco Unified Communications Manager および IM and Presence Service の 12.5(x) リリースに適用されます。