Service Catalog 用の SAML 認証の有効化

Security Assertion Markup Language (SAML) は、別のコンテキストでのセッションに基づき、ユーザをアプリケーションにログインさせる標準技術です。 SAML SSO はユーザのアイデンティティをある場所(アイデンティティ プロバイダ)から別の場所(サービス プロバイダ)へと転送することで機能します。 この処理は、デジタル署名された XML ドキュメントの交換を通して行われます。
casm173
Security Assertion Markup Language (SAML) は、別のコンテキストでのセッションに基づき、ユーザをアプリケーションにログインさせる標準技術です。 SAML SSO はユーザのアイデンティティをある場所(アイデンティティ プロバイダ)から別の場所(サービス プロバイダ)へと転送することで機能します。 この処理は、デジタル署名された XML ドキュメントの交換を通して行われます。
この記事では、Active Directory フェデレーション サービス(ADFS)および CA Single Sign-on (Siteminder)の CA Service Catalog Tomcat サーバで SAML を有効にする方法について説明します。
前提条件
ADFS で SAML を有効にするための前提条件
ADFS をアイデンティティ プロバイダとして使用する場合は、Windows Server 2012 R2 以降に ADFS をインストールする必要があります。 ADFS および CA Service Catalog のインストールを完了したら、以下の情報で ADFS を設定する必要があります。
  1. ADFS に[証明書利用者信頼の追加]を設定する際、
    [URL の設定]
    画面で、以下を指定します。
    1. [WS-フェデレーション パッシブ プロトコルのサポートを有効にする]
      チェックボックスを選択します。
    2. [証明書利用者 WS-フェデレーション パッシブ プロトコル URL
      ]内の値を以下のとおりに入力してください。
      https://<catalog hostname>:<https port>/usm/wpf
    3. [SAML 2.0 WebSSO プロトコルのサポートを有効にする]
      チェックボックスを選択します。
    4. [証明書利用者 SAML 2.0 SSO サービス URL]
      内の値を以下のとおりに入力してください。
      https://<catalog hostname>:<https port>/usm/wpf
  2. クレーム ルールを追加する際、
    [クレーム ルールの設定]
    の手順で以下を指定します。
    1. 要求規則名
      : 要求規則の名前を指定します。 たとえば、「
      カタログの要求規則
      」と入力します。
    2. 属性ストア
      ドロップダウン リストからデータ ソースを選択します。 たとえば、
      Active Directory
      を選択します。
    3. LDAP 属性
      : ドロップダウン リストから
      [SAM アカウント名]
      を選択します。
    4. 出力方向の要求の種類
      : ドロップダウン リストから
      [名前]
      を選択します。
CA Single Sign-on (Siteminder)で SAML を有効にするための前提条件
CA Single Sign-on (旧称 CA Siteminder)をアイデンティティ プロバイダとして使用する場合は、以下の手順に従います。
  1. 管理者として CA Single Sign-on を起動します。
  2. フェデレーション パートナーシップのパートナーシップ フェデレーションに移動し、[パートナーシップ]をクリックします。
  3. 使用するフェデレーション パートナーシップのリストから、フェデレーション パートナーシップ名をクリックします。
  4. [IP 制限]セクションを展開し、[パートナーシップ]プロパティ ページで[アサーション属性]プロパティを確認します。
  5. Namespace フィールドの値は、それぞれのクレームの URI である必要があります。
    値が「
    未指定
    」として指定されている場合、SAML 認証は機能しません。
  6. アイデンティティ プロバイダを設定する証明書が
    SHA 256 署名
    であることを確認します。
CA Service Catalog Tomcat Web サーバ用の SAML 認証の有効化
すべての CA Service Catalog Tomcat Web サーバ上で、以下の手順に従います。
  1. CA Service Catalog の SSL が有効であることを確認します。 詳細については、「CA SM 17.3 用の SSL 認証の有効化」を参照してください。
  2. 以下の情報が、CA Service Catalog/Tomcat Web サーバをインストールした場所の
    web.xml
    ファイル内に存在することを確認します。
    例:
    C:\Program Files\CA\Service Catalog\view\webapps\usm\WEB-INF\web.xml
  3. <!-- Add filter here -->
    ステートメントの下の設定を確認します。
    <filter>
    <filter-name>FederationFilter</filter-name>
    <filter-class>com.auth10.federation.WSFederationFilter</filter-class>
    <init-param>
    <param-name>login-page-url</param-name>
    <param-value>main.jsp</param-value>
    </init-param>
    <init-param>
    <param-name>exclude-urls-regex</param-name>
    <param-value>/images/|/js/|/css/</param-value>
    </init-param>
    </filter>
  4. <!-- Add filter-mapping here --> ステートメントの下で以下の設定を確認します。
    <filter-mapping>
    <filter-name>FederationFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
  5. web.xml
    ファイルを閉じます。
  6. CA Service Catalog サービスを再起動します。
CA Service Catalog ユーザ インターフェースからの SAML の設定
ADFS または CA SSO で SAML を設定するには、以下を実行します。
ADFS 用の SAML の設定
以下のように ADFS 用の CA Service Catalog ユーザ インターフェースで SAML パラメータを設定します。
  1. CA Service Catalog Tomcat Web サーバ用の SAML 認証の有効化」に記載されている手順に従っていることを確認します。
  2. spadmin または CA Service Catalog 管理者としてログインします。
  3. [管理者]
    -
    [構成]
    -
    [Single-Sign On Authentication (シングル サインオン認証)]
    に移動し、以下を設定します。
    パラメータ
    説明
    Single Sign-On Type
    シングル サインオン タイプを
    [SAML]
    に変更します。
    SAML-Federation Audienceuris
    トークンを受け取る元のアプリケーションの URI を定義します。
    以下に例を示します。
    https://<catalog hostname>:<catalog-Tomcat-SSL-Port>/usm/wpf|https://<catalog hostname>:<catalog-Tomcat-SSL-Port>/usm/wpf
    SAML-Federation EnableManualRedirect
    false
    SAML-Federation Realm
    トークンが送信される元の場所を定義します。
    以下に例を示します。
    https://<catalog hostname>:<catalog-Tomcat-SSL-Port>/usm/wpf
    SAML-Federation Reply
    応答を受信する場所の URL を定義します。
    https://<catalog hostname>:<catalog-Tomcat-SSL-Port>/usm/wpf
    SAML-Federation Trustedissuers Friendlyname
    アイデンティティ プロバイダの共通名を指定します。
    以下に例を示します。
    sun06_cert - <ADFS hostname>-I6029.sun06.local.com
    SAML-Federation Trustedissuers Issuer
    アイデンティティ プロバイダの URL を指定します。
    以下に例を示します。
    https://<trusted_issuer_URL>/<identity_provider>/ls/idpinitiatedsignon.aspx
    SAML-Federation Trustedissuers Thumbprint
    アイデンティティ プロバイダによって提供される証明書の拇印の値を定義します。 証明書の
    「トークン署名]
    セクションから拇印を指定する必要があります。
    以下に例を示します。
    375181a915d1e699ef8e8e47c20d550be9dda024
CA Single-Sign On 用の SAML の設定
以下の手順に従います。
  1. CA Service Catalog Tomcat Web サーバ用の SAML 認証の有効化」に記載されている手順を完了していることを確認します。
  2. spadmin または CA Service Catalog 管理者としてログインします。
  3. [管理者]
    -
    [構成]
    -
    [Single-Sign On Authentication (シングル サインオン認証)]
    に移動し、以下を設定します。
    パラメータ
    説明
    Single-Sign on Type
    シングル サインオン タイプを
    [SAML]
    に変更します。
    SAML-Federation Audienceuris
    トークンを受け取る元のアプリケーションの URI を定義します。
    SAML-Federation Audienceuris–https://<catalog hostname>:<catalog-Tomcat-SSL-Port>/usm/wpf|https://<catalog hostname>:<catalog-Tomcat-SSL-Port>/usm/wpf
    SAML-Federation EnableManualRedirect
    false
    SAML-Federation Realm
    トークンが送信される元の場所を定義します。 以下に例を示します。
    https://<catalog hostname>:<catalog-Tomcat-SSL-Port>/usm/wpf
    SAML-Federation Reply
    応答を受信する場所の URL を定義します。
    https://<catalog hostname>:<catalog-Tomcat-SSL-Port>/usm/wpf
    SAML-Federation Trustedissuers Friendlyname
    アイデンティティ プロバイダ用の共通名を定義します。
    ipslcm
    SAML-Federation Trustedissuers Issuer
    アイデンティティ プロバイダの URL を定義します。
    http://<siteminderURL>/affwebservices/public/wsfeddispatcher
    SAML-Federation Trustedissuers Thumbprint
    アイデンティティ プロバイダによって提供される証明書の拇印の値を定義します。 証明書の
    「トークン署名]
    セクションから拇印を指定する必要があります。
    以下に例を示します。
    ED516ED2AE632E15A52BE0C4D1BCFDDA73B9A146
トラブルシューティング
ここで示すように、Catalog UI で SAML プロパティに不正なデータまたは値を指定すると、CA Service Catalog インターフェースにログインできなくなります。 この問題のトラブルシューティングを行うには、以下の手順に従います。
  1. CA Service Catalog Tomcat Web サーバをインストールした場所に移動し、web.xml ファイルを見つけます。
    以下に例を示します。
    C:\Program Files\CA\Service Catalog\view\webapps\usm\WEB-INF\web.xml
  2. web.xml を開き、
    <!---SAML Auth Filter-->
    の下にある
    <FederationFilter>
    を見つけて、以下のステートメント内の filter セクション全体をコメント化します。
    <filter>
    <filter-name>FederationFilter</filter-name>
    <filter-class>com.auth10.federation.WSFederationFilter</filter-class>
    <init-param>
    <param-name>login-page-url</param-name>
    <param-value>main.jsp</param-value>
    </init-param>
    <init-param>
    <param-name>exclude-urls-regex</param-name>
    <param-value>/images/|/js/|/css/</param-value>
    </init-param>
    </filter>
  3. web.xml で、
    <!—SAML Filter Mapping---->
    の下にある
    <FederationFilter>
    を見つけて、
    <filter-mapping>
    をコメント化します。
    <filter-mapping>
    <filter-name>FederationFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
  4. web.xml
    ファイルを閉じます。
  5. CA Service Catalog サービスを再起動します。