Web エージェント シングル サインオンの設定

CA Single Sign-On には、単一および複数の Cookie ドメインで使用するシングル サインオン機能が用意されています。複数の cookie ドメイン間でシングル サインオンを提供するには、Web エージェントを cookie プロバイダとして機能するように設定します。展開ごとに存在できる Cookie プロバイダは 1 つのみです。このトピックでは、シングル サインオンを実装するために Web エージェントを Cookie プロバイダとして設定する方法について説明します。
sm1252sp1jjp
CA Single Sign-On には、単一および複数の Cookie ドメインで使用するシングル サインオン機能が用意されています。複数の cookie ドメイン間でシングル サインオンを提供するには、Web エージェントを
cookie プロバイダ
として機能するように設定します。展開ごとに存在できる Cookie プロバイダは 1 つのみです。このトピックでは、シングル サインオンを実装するために Web エージェントを Cookie プロバイダとして設定する方法について説明します。

このトピックでは、シングル サインオンに関する以下の Web エージェント設定について説明します。
シングル サインオン環境を設定するには、以下の手順に従います。
  1. シングル サインオン環境の Cookie ドメインを指定します。
  2. シングル サインオン環境において、Cookie プロバイダ ドメインとして動作する Cookie ドメインを選択します(手順 1)。
  3. エージェントが中央設定を使用する場合は、[エージェント設定オブジェクト]を開きます(管理 UI を使用)。ローカル設定を使用するエージェントについては、Web エージェント設定ファイル(各 Web サーバ上にあります)を開きます。
  4. Cookie プロバイダであるエージェントについては、以下の手順で示すように設定パラメータを変更します。
    1. セキュリティ強化のために Cookie プロバイダ機能を制限します。
    2. Cookie プロバイダ リプレイ攻撃を防御します。
    3. RequireCookies パラメータの値が yes であることを確認します。
    4. (オプション)設定されたセッション タイムアウトまで Cookie を有効にしておくには、永続的 Cookie を有効にします。永続的 Cookie がない場合、ブラウザ Cookie は一時的です。一時的 Cookie は
      1 つの
      ブラウザ セッションにのみ有効です。
    5. CookieDomain パラメータの値が、エージェントがインストールされたシステムのローカル Cookie ドメインを指定することを確認します。
    6. IP アドレスを検証するには、以下のいずれかのパラメータを設定します。
      • 永続的 Cookie を使用している場合は、PersistentIPCheck パラメータを設定します。
      • 一時的な Cookie を使用している場合は、TransientIPCheck パラメータを設定します。
  5. (オプション)必要に応じて以下のシングル サインオン パラメータ設定を変更します。
    • セッション更新期間の変更
    • 複数ドメインにわたる安全な Cookie の設定
    • 保護されていないリソースにおける Cookie プロバイダの無視
    • POST 要求における Cookie プロバイダの無視
    • シングル サインオンと併用する場合の SecureUrls の設定
  6. 設定パラメータを設定した SSO 環境内の他のすべてのエージェント(Cookie プロバイダでないすべてのエージェント)の場合、以下の手順に従います。
    1. CookieProvider パラメータの値を Cookie プロバイダ ドメインの名前に設定します。Cookie プロバイダとして動作しているエージェントをホストする Web サーバの完全修飾ドメイン名を使用します。
      以下の例で示す構文を使用します。
      http://
      server.example.com:port
      /siteminderagent/SmMakeCookie.ccc
      注:
      前の例に示すように、Cookie プロバイダ名には .ccc 拡張子が必要です。
    2. セキュリティ強化のために Cookie プロバイダ機能を無効にします。
  7. エージェント設定ファイルを修正することによってパラメータを編集した場合は、Web サーバを再起動して変更を反映させます。
Cookie プロバイダ機能の制限
すべてのエージェントにはデフォルトで有効になっている Cookie プロバイダ機能があります。盗んだ
Single Sign-On
SSO Cookie を持つ不正なユーザは、Cookie プロバイダを利用してあるドメインのセッション Cookie を使用し、別の Cookie ドメインのセッション Cookie を偽造しようとする場合があります。偽造されたこれらのセッション Cookie により、保護されている SSO ドメインへの不正なアクセスが許可される可能性があります。
以下のパラメータを使用して、盗まれた SSO Cookie による Cookie プロバイダの利用と、セッション Cookie 偽造の可能性を排除できます。
LimitCookieProvider
Cookie プロバイダとして動作する
Single Sign-On
エージェントが Cookie プロバイダ SET 要求(.ccc リソース)を処理する方法を指定します。このパラメータの値が Yes の場合、Cookie が Cookie プロバイダのドメインに存在しない限り、SET 要求は無視されます。Cookie プロバイダは新しい Cookie を設定せずに、ユーザを TARGET URL にリダイレクトします。このパラメータの値が No の場合、SET 要求は処理され、TARGET URL へのリダイレクト中に新しい Cookie が常に設定されます。
デフォルト
: No
デフォルト
: (ユーザが smpolicy-secure.xml を使用してポリシー ストアを作成した後) Yes。
Cookie プロバイダとして動作するエージェントと、SSO 環境で動作する他のエージェントは、最適なセキュリティのために特定の設定を必要とする場合があります。
例: SSO 環境には、以下のドメインが含まれています。
次の表で、各ドメインのエージェント設定について説明します。
(Cookie プロバイダ ドメイン)
CCCExt
= .ccc
CookieProvider
=
http://server1.example.com:80/
siteminderagent/SmMakeCookie.ccc
CookieProvider
=
http://server1.example.com:80/
siteminderagent/SmMakeCookie.ccc
IgnoreExt
= (拡張子のリスト、
.ccc を含める必要があります)
CCCExt
= .ccc
CCCExt
= .ccc
EnableCookieProvider
= yes
IgnoreExt
= (拡張子のリスト、
.ccc を含める必要があります)
IgnoreExt
= (拡張子のリスト、
.ccc を含める必要があります)
LimitCookieProvider
= yes
EnableCookieProvider
= no
EnableCookieProvider
= no
TrackSessionDomain
= yes
TrackSessionDomain
= yes
TrackSessionDomain
= yes
TrackCPSessionDomain
= yes
Cookie プロバイダ リプレイ攻撃の防御
次のパラメータを使用して、リプレイ攻撃への脆弱性から Cookie プロバイダを守ることができます。
TrackCPSessionDomain
セッション Cookie の Cookie ドメインが Cookie プロバイダの Cookie ドメインに一致することを検証します。Cookie ドメインが異なる場合はリプレイ攻撃を示している可能性があります。
デフォルト:
No(Cookie プロバイダのドメインは検証されません)
Cookie プロバイダ リプレイ攻撃を防ぐには、TrackCPSessionDomain パラメータの値を yes に設定します。
エージェントは Cookie ドメインを比較し、ドメインが一致しないときには要求を拒否します。
シングル サインオン用 RequireCookies パラメータの設定
以下のパラメータを使用して、
Single Sign-On
が cookie を必要とするかどうかを制御できます。
RequireCookies
Single Sign-On
が Cookie を必要とするかどうかを指定します。  
Single Sign-On
の機能のうち、Cookie を必要とするものは次のとおりです。
  • シングル サインオン環境の保護。
  • セッション タイムアウトの適用。
  • アイドル タイムアウトの適用。
このパラメータの値が Yes の場合、エージェントは HTTP 要求を処理するために以下のいずれかの Cookie を必要とします。
  • SMCHALLENGE
  • SMSESSION
このパラメータの値が No の場合、次の条件が発生する可能性があります。
  • ユーザに対して、予期せず認証情報の認証が行われます。
  • タイムアウトが厳密に適用されません。
重要:
エージェントが Cookie を必要とする場合は、ユーザのブラウザが HTTP Cookie を受け入れるようユーザに設定を指示してください。そうしない場合、ユーザはすべての保護リソースへのアクセスを拒否されます。
デフォルト:
Yes
Cookie を必要とするには、RequireCookies パラメータの値を yes に設定します。
シングル サインオン用永続的 Cookie の有効化
複数のブラウザセッションでシングル サインオンを使用するには、永続的な Cookie を使用します。以下の手順では、永続的な Cookie の考えられる 1 つの使用法について説明します。
  1. ユーザは
    Single Sign-On
    で認証しますが、
    Single Sign-On
    セッションが期限切れになる前に、ブラウザ セッションを終了します。
  2. ユーザは後で新規ブラウザ セッションを開始しますが、永続的な Cookie はシングル サインオン機能を維持します。
永続的な Cookie は、設定された最大セッション タイムアウトに 7 日間
加えた
期間で有効です。Cookie が期限切れになった後、多くのブラウザは、Web ブラウザの Cookie ファイルを削除します。一部のブラウザは永続的な Cookie を異なる方法で処理する場合があります。
以下の手順に従います。
  1. PersistentCookies パラメータを yes に設定します。
    SMSESSION Cookie は永続的です。
  2. TransientIDCookies パラメータを no に設定します。
    SMIDENTITY Cookie は永続的です。
Cookie ドメインの指定
CookieDomain パラメータは、ユーザがエージェントをインストールしたサーバの Cookie ドメインを定義します。以下のパラメータの設定によりドメインを変更できます。
CookieDomain
エージェントの Cookie ドメインを定義します。少なくとも 2 つのピリオドが含まれている、完全修飾ドメイン名を使用します。たとえば、.example.com という Cookie ドメインの設定は以下のサーバと一致します。
このドメイン内のすべての Web サーバは、ブラウザと Cookie を送受信できます。同一 Cookie ドメイン内のサーバは、Cookie を使用してユーザの認証情報を確認します。
特殊な値
パラメータが値「none」に設定されている場合、エージェントは自身のサーバ用のみの Cookie を生成します。たとえば、myserver.example.com です。
パラメータ値が空のままの(またはローカル設定ファイルに "" が含まれている)場合、エージェントは HTTP_HOST ヘッダのドメイン情報を使用します。その後、エージェントはこの設定を使用して値を CookieDomainScope パラメータに置きます。
デフォルト:
空白
例:
.example.com
制限:
この値は、大文字と小文字が区別されます。前の例で示したように、この値には少なくとも 2 つのピリオドが含まれる完全修飾ドメイン名が必要です。
以下の手順に従います。
  1. CookieDomain パラメータの値を設定します。
  2. (オプション)CookieDomainScope パラメータの値を設定します。
    • CookieDomain
      エージェントの Cookie ドメインを定義します。少なくとも 2 つのピリオドが含まれている、完全修飾ドメイン名を使用します。たとえば、.example.com という Cookie ドメインの設定は以下のサーバと一致します。
      このドメイン内のすべての Web サーバは、ブラウザと Cookie を送受信できます。同一 Cookie ドメイン内のサーバは、Cookie を使用してユーザの認証情報を確認します。
      特殊な値
      パラメータが値「none」に設定されている場合、エージェントは自身のサーバ用のみの Cookie を生成します。たとえば、myserver.example.com です。
      パラメータ値が空のままの(またはローカル設定ファイルに "" が含まれている)場合、エージェントは HTTP_HOST ヘッダのドメイン情報を使用します。その後、エージェントはこの設定を使用して値を CookieDomainScope パラメータに置きます。
      デフォルト:
      空白
      例:
      .example.com
      制限:
      この値は、大文字と小文字が区別されます。前の例で示したように、この値には少なくとも 2 つのピリオドが含まれる完全修飾ドメイン名が必要です。
       
    • CookieDomainScope
      ドメイン名のセクション(ピリオドで区切られた文字)の数を指定します。
      この値が 0(デフォルト)に設定されている場合、エージェントはサーバ専用の Cookie を作成することなく、そのホストに最も特定された Cookie ドメインを選択します。これは、Cookie ドメイン myserver.example.com に対応するドメインが example.com であり、myserver.metals.example.org に対応する ドメインが .metals.example.org であることを意味します。
      CookieDomainScope パラメータが 2 に設定されている場合、Cookie ドメインはそれぞれ .example.com と .example.org になります。
      デフォルト:
      0
      例:
      ユーザの Cookie ドメインが division.example.com であると仮定します。server.division.example.com の Cookie ドメインのスコープを設定するには、CookieDomainScope パラメータの値を 3 に設定します。
Cookie ドメイン パラメータが空の場合のドメイン名の管理 
ConformToRFC6265
ACO パラメータを使用して、CookieDomain の値が空の場合にドメイン名の先頭にドットを追加する必要があるかどうかを指定できます。Cookie ドメインに値が含まれている場合、ConformToRFC6265 値はこの値でオーバーライドされます。
ConformToRFC6265 が
YES
に設定されている場合は、先頭にドットは付かずにドメイン名が表示されます。 ConformToRFC6265 が
NO
に設定されている場合は、先頭にドットが付いてドメイン名が表示されます。 
例:
ドメイン名が example.com の場合、cookie ドメイン値は .example.com です。 ドメイン名が example.com の場合、cookie ドメイン値は .example.com です。 
デフォルト
: No
シングル サインオン環境用の IP アドレス検証の有効化
無許可のシステムでは、パケットを監視して Cookie を不正に入手し、その Cookie を使って別のシステムにアクセスすることができます。無許可のシステムによるセキュリティ侵害を防止するために、永続的な Cookie と一時的な Cookie を使用して、IP チェックを有効または無効にすることができます。
IP チェック機能では、エージェントが現在の要求に含まれている IP アドレスに対して最後の要求の Cookie に格納された IP アドレスを比較する必要があります。IP アドレスが一致しない場合、エージェントは要求を拒否します。
IP チェックを実装する目的で使用される 2 つのパラメータは、PersistentIPCheck と TransientIPCheck です。これらを次のように設定します。
  • PersistentCookies を有効にした場合、PersistentIPCheck を yes に設定します。
  • PersistentCookies を有効にしなかった場合、TransientIPCheck を yes に設定します。
Single Sign-On
アイデンティティ Cookie は IP チェックの影響を受けません。
セッション更新期間の変更
SessionUpdatePeriod
パラメータを使用して、新しい Cookie を設定するために、Web エージェントがリクエストを Cookie プロバイダにリダイレクトする頻度を指定できます。
このパラメータは、新しい Cookie を設定するために、Web エージェントがリクエストを Cookie プロバイダにリダイレクトする頻度を(秒単位で)指定します。マスタ Cookie をリフレッシュすると、セッションのアイドル タイムアウトが原因で Cookie が失効する可能性が低下します。デフォルトは 60 秒です。
セッション更新期間を変更する方法
  1. 管理 UI にログインします。
  2. エージェントの ACO で、CookieProvider パラメータが定義されていることを確認します。
  3. 目的の間隔が反映されるように、
    SessionUpdatePeriod
    パラメータで秒数を変更します。
  4. 変更内容を保存します。
このパラメータを「0」に設定すると、設定が無効になります。 セッション更新期間が「0」の場合、Cookie プロバイダでセッションの定期的な更新が無効になります。他の理由でセッションは更新されますが、定期的な強制更新のみが無効になります。
複数ドメインにわたる安全な Cookie の設定
UseSecureCookies パラメータの設定により、それらの間の接続が安全な(HTTPS)場合に
ローカル
cookie を要求ブラウザ セッションに返すためにのみ Web エージェントが設定されます。Web エージェントが cookie プロバイダとしても設定されている場合、UseSecureCookies は他の cookie ドメインのリソースへのアクセスに対するリダイレクトされた要求には適用されません。
cookie プロバイダとして機能する Web エージェントが、安全な cookie を使用するようにも設定されている場合に、別の cookie ドメインの Web エージェントにのみ cookie を返すように設定するには、UseSecureCookies を有効にし、以下のパラメータも設定する必要があります。
UseSecureCPCookies
UseSecureCPCookies が Yes に設定されていると、cookie プロバイダは、セキュア cookie の使用も設定されている(つまり、UseSecureCookies も有効である)別の cookie ドメイン内の Web エージェントにのみ cookie を送信します。
この設定と UseSecureCookies が両方とも有効な場合、複数ドメインのシングル サインオン環境内のユーザは、SSL の Web サーバから別の cookie ドメインの非 SSL の Web サーバに移動するときに、再認証する必要があります。セキュア cookie は、従来の HTTP 接続を介して渡すことはできません。
デフォルト:
No
複数のドメインの SSL 接続に cookie を送るには、cookie プロバイダで UseSecureCookies と UseSecureCPCookies を yes に設定します。
保護されていないリソースにおける Cookie プロバイダの無視
エージェントはデフォルトで、すべての要求を Cookie プロバイダに転送します。保護なしリソースがある場合は、以下のパラメータを使用してネットワーク トラフィックを削減することができます。
IgnoreCPForNotprotected
保護されていないリソースの要求に関して、Cookie プロバイダがクエリを行わないようにします。このパラメータを「No」に設定すると、Web エージェントによってすべての要求が Cookie プロバイダに送られます。従来の(非フレームワーク)エージェントについては、このパラメータの値が Web エージェント ログ ファイルに表示されるように、Cookie プロバイダを設定します。
デフォルト:
No
保護なしリソースが要求された場合に、エージェントが Cookie プロバイダに問い合わせないようにするには、IgnoreCPForNotprotected パラメータの値を yes に設定します。
Non-Get リクエストが cookie プロバイダに送信されないようにする
LegacyCookieProvider
パラメータは、以下の動作を有効にします。
  • 従来のエージェントは cookie プロバイダとして動作できます。
  • GET リクエストが Cookie プロバイダ(すべての環境)に送信されるのを防止します。
LegacyCookieProvider
パラメータは、エージェントが cookie プロバイダとして従来のエージェント操作にリソースのリクエストをリダイレクトするかどうかを制御します。エージェントがリクエストを cookie プロバイダにリダイレクトするかどうかは、リクエスト メソッドとこのパラメータの設定によって異なります。 集中的なエージェント設定を使用している場合は、このパラメータをエージェント設定オブジェクトに追加します。このパラメータは、ローカル設定ファイル内に存在します。
LegacyCookieProvider=No
の場合(デフォルト)
  • GET リクエストおよび POST または HEAD などの非 GET リクエストの場合、エージェントはリクエストを cookie プロバイダにリダイレクトします。cookie プロバイダはその後、同じリクエスト メソッドを使用して、エージェントにリクエストをリダイレクトします。たとえば、cookie プロバイダが、エージェントにリクエストをリダイレクトする場合、POST リクエストは POST リクエストのままです。
 
LegacyCookieProvider=Yes
の場合
  • GET リクエストの場合、エージェントはリクエストを cookie プロバイダにリダイレクトします。 cookie プロバイダは、GET リクエストとして、エージェントにリクエストをリダイレクトします。
  • POST または HEAD などの非 GET リクエストの場合、エージェントはリクエストを cookie プロバイダにリダイレクト
    しません
    。リクエストは非 GET リクエストのままです。
デフォルト:
No
シングル サインオンと併用する場合の SecureUrls の設定
シングル サインオン ネットワーク内に SecureUrls 機能をサポートする Web エージェントと SecureUrls 機能をサポートしない別のエージェントが存在する場合、ユーザが保護されたシングル サインオン リソースを要求すると内部サーバ エラー メッセージが表示されることがあります。 SecureUrls がサポートされる Web エージェントのログには、以下のように、サーバ エラーの理由が表示されます。
Error. Unable to process request, SecureUrls is disabled.
シングル サインオン環境内のすべての Web エージェントについて、
SecureUrls
パラメータ セットに同じ値を設定する必要があります。
Single Sign-On
は、SecureUrls パラメータ セットの値が異なる Web エージェント間の相互運用性をサポートしていません。
Cookie プロバイダの指定
SSO 環境の他のエージェントに Cookie プロバイダを使用させるには、以下のパラメータを使用して Cookie プロバイダとして動作しているエージェントの場所を指定します。
CookieProvider
Cookie プロバイダとして動作しているエージェントがある Web サーバの URL を指定します。
Cookie プロバイダはシングル サインオン環境内のエージェントです。Cookie プロバイダは、その Cookie プロバイダが存在するローカル ドメインのブラウザ Cookie を設定します。この Cookie が設定された後、ユーザは再認証しなくてもシングル サインオン環境全体を移動できます。
次の例に示すように、Cookie プロバイダ名には .ccc 拡張子が必要です。
  • IIS、Oracle iPlanet、および Domino Web サーバでは、以下の URL 構文を使用します。
    http://
    server.domain:port
    /siteminderagent/SmMakeCookie.ccc
  • Apache および Apache ベースの Web サーバでは、以下の URL 構文を使用します。
    http://
    server.domain:port
    /SmMakeCookie.ccc
このパラメータは以下のパラメータにも影響します。
  • CCCExt
  • SessionUpdatePeriod
デフォルト:
デフォルトなし
例:
(IIS、Oracle iPlanet、および Domino Web サーバ) http://server1.example.com:80/siteminderagent/SmMakeCookie.ccc
例:
(Apache および Apache ベースの Web サーバ) http://server1.example.com:80/SmMakeCookie.ccc
制限:
このパラメータには完全修飾ドメイン名が必要です。
以下の手順に従います。
  1. CookieProvider パラメータに、Cookie プロバイダとして動作している Web サーバの URL を設定します。
  2. CCCExt パラメータの値が .ccc に設定されていることを確認します。
  3. IgnoreExt パラメータの値に .ccc 拡張子を追加します。
  4. (任意)セッション更新期間を変更します。
  5. SSO 環境内のCookie プロバイダ
    でない
    すべての Web エージェントに対して、手順 1 ~ 4 を繰り返します。
    これで、Cookie プロバイダが指定されます。
Cookie プロバイダの無効化
デフォルトでは、すべての
Single Sign-On
エージェントは Cookie プロバイダとして動作できます。この設定により SSO 環境の設定がより容易になります。セキュリティ強化のために、組み込まれた Cookie プロバイダ機能を以下のパラメータを使用して無効にできます。
EnableCookieProvider
エージェントが Cookie プロバイダ(.ccc)からの要求を処理する方法を指定します。このパラメータ値が Yes の場合、エージェントは要求を処理します。このパラメータ値が No の場合、エージェントは Cookie プロバイダからの要求を無視します。エージェントは要求されたリソースへのアクセスを拒否します。セキュリティを強化するには、このパラメータ値を No に設定します。
デフォルト
: Yes
デフォルト
: (ユーザが smpolicy-secure.xml を使用してポリシー ストアを作成した後) No。
Cookie プロバイダからの要求をエージェントが処理するのを防ぐには、EnableCookieProvider パラメータの値を No に設定します。
環境で SSO に Cookie プロバイダを使用しない場合は、すべてのエージェントについて、次の表に示すエージェント設定値を使用します。
すべてのエージェントの設定パラメータを以下の値に設定します。
EnableCookieProvider = no
特定の HTTP メソッドを使用した送信リクエストの認証チャレンジの阻止
デフォルトは、Web エージェントは、リクエストにセッション Cookie が含まれて
いない
Single Sign-On
ために、ヘッダに HTTP メソッドを使用しているリソースにアクセスしようとする認証ユーザに対してチャレンジを実行します。 たとえば、以下のリソースのリクエストには、OPTIONS HTTP メソッドを使用します。
  • Microsoft® Word 文書
  • Microsoft® Excel® スプレッドシート ドキュメント
特定の HTTP メソッドを使用するリソースに対する認証チャレンジを阻止するためには、AutoAuthorizeHttpMethod パラメータを設定します。
AutoAuthorizeHttpMethods
設定されている場合、指定された HTTP メソッドを使用するリソースのリクエストは、認証情報に関するチャレンジを受けることなく、許可されます。
値:
1 つまたは複数のカンマで区切られた HTTP メソッド名。
デフォルト:
なし
注:
AutoAuthorizeHttpMethod パラメータは、以前のリリースで利用可能な AutoAuthorizeOptions パラメータに代わるものです。ただし、AutoAuthorizeOptions は、後方互換性を維持するために、引き続きサポートされています。AutoAuthorizeOptions が設定されている場合、AutoAuthorizeHttpMethod は無視され、OPTIONS HTTP メソッドを使用したリクエストのみがチャレンジのないアクセスを許可されます。AutoAuthorizeHttpMethod を使用するには、AutoAuthorizeOptions を設定解除します。