Information Card 認証方式

Information Card 認証方式(ICAS)機能を使用すると、複数の Information Card 認証方式を作成できます。各方式はカスタム認証方式として設定されます。
sm1252sp1jjp
Information Card 認証方式(ICAS)機能を使用すると、複数の Information Card 認証方式を作成できます。各方式はカスタム認証方式として設定されます。
情報カードは、私たちが財布に入れて持ち運ぶ物理的なカードに似ています。情報カードのそれぞれが識別情報のセットです。たとえば、運転免許に相当する情報カードには、写真、生年月日、氏名、免許番号といった重要な個人情報を含めることができます。情報カードにより、ユーザはそれぞれの識別情報を管理できます。ユーザは情報カードと関連する識別情報を表示できます。情報交換する際には、その情報について使用可能なカードから選択します。また、ユーザは選択したカードに関連付けられている識別情報のリリースを許可できます。
アイデンティティ セレクタは情報カードを表示するアプリケーションです。
2
アイデンティティ セレクタの概要
アイデンティティ セレクタは、ユーザがそれぞれの識別情報のほか、依存パーティおよびアイデンティティ プロバイダとのオンライン関係を管理できるアプリケーションです。依存パーティ(RP)は、ユーザの認証に識別情報を必要とする Web サイト、アプリケーション、またはサービスです。アイデンティティ プロバイダ(IdP)は、識別情報を認証し、ユーザが依存パーティと共有できるセキュリティ トークンを作成する第三者です。
アイデンティティ セレクタでは、Web ベースのリソースにアクセスする際、ユーザが多くのユーザ名とパスワードを管理する必要がありません。同様に、企業は、不正確であったり、誤用による脆弱性があったりするユーザ識別情報のデータベースを保守する必要がなくなります。ユーザおよびデータベースの保守が不要になることにより、リスクや問題が減り、使いやすさが向上します。
また、アイデンティティ セレクタにより、ユーザは各依存パーティにリリースする識別情報を制御できます。さらに、アイデンティティ セレクタのユーザ インターフェースは一貫しており、ユーザの使いやすさが増しています。
Windows CardSpace
Windows CardSpace は、アイデンティティ セレクタの Microsoft による実装です。Windows CardSpace は、任意の依存パーティまたはアイデンティティ プロバイダと対話できる一貫したユーザ インターフェースをユーザに提供します。ポリシー サーバは、Information Card 認証方式(ICAS)と呼ばれるカスタム認証方式を使って Windows CardSpace をサポートしています。
CA Single Sign-on
の Information Card 認証方式(ICAS)
Information Card 認証方式(ICAS)は、Windows CardSpace をサポートするポリシー サーバ上で使用できます。ICAS の各インスタンスを管理 UI でカスタム認証方式として設定し、他のカスタム認証方式と同様に実装します。
ICAS の概要
ICAS によるユーザ認証には、以下のコンポーネントと手順が含まれます。
  • [User]
  • アイデンティティ セレクタ
  • Web エージェント
  • 依存パーティ(RP)
  • アイデンティティ プロバイダ(IdP)
ICAS overview
  1. ユーザが保護された Web サイト、または依存パーティ(RP)を訪問しようとします。
  2. Web エージェントはユーザのリクエストをインターセプトし、ICAS を呼び出します。
  3. ICAS は RP のポリシー要件を Web エージェントに送信します。
  4. Web エージェントは、ユーザのコンピュータ上でアイデンティティ セレクタを起動するようにブラウザに指示し、RP のポリシー要件を送信します。
  5. アイデンティティ セレクタはポリシー要件を読み取り、要件を満たしている情報カードをユーザにわかるようにハイライトします。ユーザはハイライトされているカードを 1 つ選択します。アイデンティティ セレクタはユーザの認証情報を収集し、認証を受けるためにアイデンティティ プロバイダ(IdP)に送信します。アイデンティティ セレクタは、さらに RP のポリシー要件を IdP に送信し、トークンをリクエストします。
    注:
    ユーザは、RP で必要としないオプションのクレームを含んでいるカードを選択できます。
  6. IdP はユーザを認証し、ポリシー要件を処理します。必要なクレームを含むトークンを生成してアイデンティティ セレクタに送り返します。
  7. アイデンティティ セレクタはクレームを表示し、ユーザは RP へのクレームのリリースを承認します。
  8. ICAS はトークンを復号化し、トークンの信頼性と整合性を検証したうえで、ユーザ データベースでユーザのクレームをユーザの身元に関連付けます。その後、ポリシー サーバは標準のポリシーベースの許可を実行し、許可された場合はユーザにアクセスを付与します。
  9. ユーザは Web サイトにアクセスします。
ICAS の用語
ICAS の説明で使われる用語の説明は、以下のとおりです。
  • アイデンティティ メタシステム
    ユーザ、依存パーティ、アイデンティティ プロバイダで識別情報を共有する方法を指定するアーキテクチャです。
  • [User]
    識別情報が共有されている人です。ユーザは対象と呼ばれることもあります。
  • 依存パーティ(RP)
    識別情報をリクエストして使用する Web サイトです。
  • アイデンティティ プロバイダ(IdP)
    識別情報を認証し、セキュリティ トークンを作成して依存パーティとその情報を共有する第三者です。クレジット カード会社、銀行、政府系機関、雇用者および保険会社は、すべてアイデンティティ プロバイダの例です。
  • セキュリティ トークン サービス(STS)
    セキュリティ トークンを作成するためにアイデンティティ プロバイダが使用する技術。セキュリティ トークン サービスでは以下を実行します。
    • ユーザを認証します。
    • セキュリティ トークンの作成
      • 作成されるセキュリティ トークンには識別情報のさまざまなサブセットが含まれ、これらは依存パーティの要件およびユーザの制限によって異なります。
      • 作成されるセキュリティ トークンにはさまざまなタイプがあります。
        注:
        SAML 1.0 および 1.1 仕様がサポートされています。
      • これらセキュリティ トークンはセキュリティ目的で暗号化されており、信頼性と整合性について署名済みです。
  • セキュリティ トークン
    暗号化されたクレームのセットで、暗号を使って署名されています。
  • クレーム
    真であることのアサーションです。各トークンにはそれぞれ、ユーザの身元に関する 1 つ以上のクレームが含まれています。クレームには、名、姓、電子メール アドレス、生年月日などがあります。ユーザまたは第三者のアイデンティティ プロバイダはクレームを作成できます。
  • 情報カード
    一連の識別情報です。情報カードは、私たちが財布に入れて持ち運ぶ物理的なカードに似ています。たとえば、運転免許に相当する情報カードには、写真、生年月日、氏名、免許番号、状態、身長、性別といった重要な個人情報を含めることができます。
  • 個人カード
    ユーザが自分の身元を保証するクレームを含む個人カードです。ただし、第三者は、このクレームを確認しません。個人カードには、カードの作成時に生成される秘密個人識別子(PPID)が含まれます。電子メール アドレスなど、重要性の低い識別情報には個人カードが適切です。
    注:
    個人カードは、自己発行カードとも呼ばれます。
  • 管理カード
    ユーザが自分の身元を保証するクレームを含む情報カードです。このクレームは第三者による確認を受けています。管理カードには、カードの作成時に生成される秘密個人識別子(PPID)とアイデンティティ プロバイダの STS へのポインタが含まれます。クレジット カード番号など、重要性の高い識別情報には管理カードが適切です。
  • アイデンティティ セレクタ
    ユーザに、依存パーティおよびアイデンティティ プロバイダとの関係を管理できるようにするほか、それぞれの識別情報を共有して使用する方法を制御できるようにするアプリケーションです。アイデンティティ セレクタでは以下が可能です。
    • 通信プロトコルやセキュリティ技術が異なるパーティ間で情報を共有できるようにする。
    • 情報カードを使用して、さまざまなアイデンティティ プロバイダや依存パーティに一貫したユーザ インターフェースを提供する。
    • 識別情報の各交換で使用できる情報カードをハイライトする。
    • ユーザが識別情報を表示し、その共有に同意できるようにする。
  • Windows CardSpace
    Windows オペレーティング システム用の Microsoft のアイデンティティ セレクタです。
  • Information Card 認証方式(ICAS)
    Microsoft のアイデンティティ セレクタである Windows CardSpace をサポートしており、
    CA Single Sign-on
    にカスタム認証方式として実装されています。
  • 秘密個人識別子(PPID)
    情報カードの作成時にアイデンティティ セレクタによって生成される識別子です。
ICASファイル
ICAS の各インスタンスを設定するために 2 つのファイル、つまり fcc ファイルとプロパティ ファイルが必要です。
  • filename.fcc
    ICAS のインスタンスごとにカスタマイズできる認証設定を指定します。
    • InfoCard.fcc
      Web エージェント キットに付属しているサンプルの fcc ファイル。
  • filename.properties
    ICAS のインスタンスの動作を指定します。
    • InfoCard.properties
      サンプルのプロパティ ファイル
     
    注:
    管理 UI で ICAS のインスタンスを設定する際、管理者はプロパティ ファイルへのパスを指定します。
ICASに関する要件
ICAS を実装するには、まず以下の条件を満たしている必要があります。
  • Web ブラウザの設定
    以下のいずれかの Web ブラウザを使用します。
    • Internet Explorer 7.0
    • CardSpace プラグインを備えた Firefox 2.x
  • Web サーバ設定
    Web サーバには、SSL 通信を設定する必要があります。この設定は fcc ファイルを保護します。
  • Web エージェント設定
    Web エージェント キットに付属している InfoCard.fcc ファイルは、ICAS の各インスタンスに合わせてカスタマイズする必要があります。
  • Java Runtime Environment (JRE)の設定
    Java Runtime Environment は、強力な暗号化アルゴリズムで暗号化されているセキュリティ トークンを復号化するように設定する必要があります。
  • ポリシー サーバ設定
    ポリシー サーバ設定には、以下のタスクが含まれます。
    • ICAS プロパティ ファイルの設定。
    • 証明書データ ストアの設定。
    • ICAS で使用するユーザ ディレクトリの設定。
    • ICAS のインスタンスの作成。
    • クレーム値を取得するアクティブ レスポンスの設定。
ICAS 用の Java Runtime Environment (JRE)の設定
Java Cryptography Extension (JCE)Unlimited Strength Jurisdiction ポリシー ファイルをインストールして、Java Runtime Environment (JRE)を設定します。これらのファイルは強力な暗号化アルゴリズムで暗号化されたセキュリティ トークンを復号化するために必要です。
重要:
新しいポリシー ファイルをインストールする場合は、その前に JRE に付属のデフォルトのポリシー ファイルをバックアップしてください。
以下の手順に従います。
  1. http://www.oracle.com/technetwork/java/index.html から Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction ポリシー ファイルをダウンロードします。
  2. ダウンロード ファイルを $NETE_JRE_ROOT\lib\security ディレクトリにインストールします。
  3. $NETE_JRE_ROOT\lib\security\java.security ファイルに以下の行を追加します。
    textsecurity.provider.7=com.rsa.jsafe.provider.JsafeJCE
ICAS で使用するポリシー サーバの設定
ICAS で使用するポリシー サーバの設定に含まれる手順は以下のとおりです。
  1. ICAS プロパティ ファイルを設定します。
  2. 後からアクティブ レスポンスで使用するクレームを保存します。
  3. ICAS 用の証明書データ ストアを設定します。
  4. ICAS 用のユーザ ディレクトリを設定します。
  5. ICAS のインスタンスを作成します。
  6. クレーム値を取得するアクティブ レスポンスを設定します。
  7. ICAM ホワイト リストのサポートを設定します。
ICAS プロパティ ファイルの設定
ICAS プロパティ ファイルは、ICAS インスタンスの動作方法を指定します。管理 UI で ICAS のインスタンスを設定する際、管理者は関連するプロパティ ファイルへのパスを指定します。新しいプロパティ ファイルを設定するには、サンプルのプロパティ ファイルをテキスト エディタで開き、内容を編集します。必ず名前を変更して新しいプロパティ ファイルとして保存します。
注:
複数の ICAS インスタンスで同じプロパティ ファイルを使用できます。
例:
InfoCard.properties という名前のプロパティ ファイルには、以下のプロパティとサンプル値が含まれています。
  • fcc
    情報カード fcc ファイルの場所を指定します。
    例:
    fcc=https://
    web_server_home
    /siteminderagent/forms/InfoCard.fcc
    注:
    アイデンティティ セレクタを有効にするには、「https」を指定します。
  • vppid_attribute
    VPPID 属性値を指定します。ユーザ属性を更新するために、コマンド UpdateUserStoreWithVPPID には、この属性が必要です。
    例:
    vppid_attribute=mail
  • vppid_claim
    ユーザを判別するために必要なクレームを指定します。
    例:
    vppid_claim=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
    vppid_claim=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
    vppid_claim=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  • エイリアス
    依存パーティ の SSL 証明書を取得するために使用される証明書データ ストアでキーを指定します。
    例:
    alias=rpssl
  • guestuser
    ICAS が
    匿名
    のモードで設定される場合、この設定によりゲスト ユーザ ログインを指定します。
    例:
    guestuser=guest
  • tokenPrim
    tokenPrim インターフェースのプロバイダを指定します。
    例:
    tokenPrim=com.ca.sm.authscheme.infocard.higgins.TokenAdapter
  • storeclaims_attribute
    コマンド
    StoreClaimsToUserStore
    が実行されるとき、クレームが格納される場所にユーザ属性を指定します。
    例:
    storeclaims_attribute=description
  • preprocessingchain
    ユーザの判別中に実行するコマンドのチェーンを定義します。
    例:
    preprocessingchain=+vppidchain
    注:
    詳細については、「ICAS コマンド チェーンの設定」を参照してください。
  • postprocessingchain
    ユーザ認証中に実行するコマンドのチェーンを定義します。
    例:
    postprocessingchain=+vppidchain;com.ca.sm.icas.command.StoreClaimsToContext
    注:
    詳細については、「ICAS コマンド チェーンの設定」を参照してください。
  • errorprocessingchain
    エラー処理中に実行するコマンドのチェーンを定義します。
    注:
    詳細については、「ICAS コマンド チェーンの設定」を参照してください。
  • whiteListLocation
    (オプション)連邦政府の ICAM (Identity, Credentialing, and Access Management)によって指定されたホワイト リストが含まれる XML ファイルの場所を定義します。
    例:
    whiteListLocation=C:\\Program Files\\ca\\siteminder\\config\\WhiteList.xml
    注:
    ICAM ホワイト リストの詳細については、「ICAM ホワイト リストのサポートの設定」を参照してください。
ICAS コマンド チェーンの設定
コマンド チェーンは ICAS プロパティ ファイルで定義されます。チェーンとは、通常の方法で実行されるコマンドのセットです。
コマンドの名前付きチェーンには次のものが含まれます。
  • 前処理
  • 後処理
  • エラー処理
これらの名前付きチェーンは、デフォルトで存在します。
以下の点を考慮します。
  • 特定の名前付きチェーンが ICAS プロパティ ファイルで見つかる場合、ICAS はこれらの名前付きチェーンを使用します。
  • 独自のチェーンを定義し ICAS プロパティ ファイルにそれらを配置し、名前付きチェーンでそれらを参照できます。
  • いずれかのカスタマイズされたチェーンがこれらの名前付きコマンド チェーンのどれでも参照されていない場合、そのチェーン実行が無視されます。
ユーザの要件に従って、以下のクラス ファイルを設定します。
5
5
ICAS を設定するキー クラス ファイル
以下のキー クラス ファイルが ICAS を設定するために使用されます。
  • com.ca.sm.icas.StoreClaimsToSessionStore
    ポリシー サーバのセッション ストアに抽出されたクレームを保存します。
  • com.ca.sm.icas.command.ExecuteClaimChain
    クレームに関する一連のコマンドを実行します。ネームスペースの最後の部分を形成する各クレーム名については、ICAS はプロパティ ファイルで chainID.claimID として定義されたチェーンを探します。チェーン定義が見つかる場合、ICAS はそれを実行し、特定のクレームを持ったコンテキストを渡します。
    例:
    executeClaimCommand1=com.ca.sm.icas.command.ExecuteClaimChain の場合、以下のように電子メールのクレームを定義します。
    • executeClaimCommand1.emailaddress=com.ca.sm.icas.command.DumpClaimsCommand;
      トークンが emailaddress クレームで見つかる場合、DumpClaimsCommand を処理します。
  • com.ca.sm.icas.command.HashVPPID
    VPPID クレーム属性のハッシュを生成します。
  • com.ca.sm.icas.command.SetVPPIDAsAnonymous
    VPPID クレーム属性値を匿名に設定します。このクラス ファイルは、どんなユーザ アカウント(匿名アクセス)にもリンクされない情報カードでログインする場合に使用されます。
  • com.ca.sm.icas.command.SetVPPIDFromToken
    VPPID クレーム属性値を情報カード トークンからコンテキスト オブジェクトに設定します。
  • com.ca.sm.icas.command.StopChain
    現在実行中のチェーンの実行を停止する値 true を返します。
  • com.ca.sm.icas.command.StoreClaimsToContext
    情報カード トークンからクレームを読み取り、アプリケーション固有のコンテキストにそれらを格納します。
  • com.ca.sm.icas.command.StoreClaimsToUserStore
    情報カード トークンから読み取ったクレームをユーザ ディレクトリの指定されたユーザ属性(ICAS プロパティ ファイル内)に格納します。
  • com.ca.sm.icas.command.TransformScriptInClaim
    HTML エンティティを使用するクレームでスクリプト タグ(< 、>)をエスケープします。たとえば、<td> は <td;&gt になります。
  • com.ca.sm.icas.command.TransformSqlInClaim
    SQL クエリにそれを渡すことができるようにクレーム値内の文字をエスケープします。
  • com.ca.sm.icas.command.TranslateErrorCode
    コンテキスト内で見つかる例外文字列を変換します。この変換された文字列は、FCC で利用可能な context.userText に戻して格納されます。
  • com.ca.sm.icas.command.TranslateErrorCodeFromParms
    ICAS プロパティ ファイル内で見つかる例外文字列を変換します。この変換された文字列は、FCC で利用可能な context.userText に戻して格納されます。
  • com.ca.sm.icas.command.UpdateUserStoreWithVPPID
    情報カード トークンから読み取ったクレームをユーザ ディレクトリから指定されたユーザ属性(ICAS プロパティ ファイル内で使用可能)に格納します。
クレームの値を確認するクラス ファイル
以下のクラス ファイルがクレームの値を確認するために使用されます。
  • com.ca.sm.icas.StoreClaimsToSessionStore
    ポリシー サーバのセッション ストアに抽出されたクレームを保存します。
  • com.ca.sm.icas.command.ErrorIfEmptyClaim
    クレームが空のとき、例外を生成します。
  • com.ca.sm.icas.command.ErrorIfMultiValueClaim
    指定されたクレームに複数の値があるとき、例外を生成します。
  • com.ca.sm.icas.command.ErrorIfNotEmptyClaim
    指定されたクレームが空でないとき、例外を生成します。
  • com.ca.sm.icas.command.ErrorIfNotMultiValueClaim
    指定されたクレームが複数値でないとき、例外を生成します。
  • com.ca.sm.icas.command.ErrorIfNotNullClaim
    指定されたクレームが NULL でないとき、例外を生成します。
  • com.ca.sm.icas.command.ErrorIfNotSingleValueClaim
    指定されたクレームが単一値でないとき、例外を生成します。
  • com.ca.sm.icas.command.ErrorIfNullClaim
    指定されたクレームが NULL であるとき、例外を生成します。
  • com.ca.sm.icas.command.ErrorIfSingleValueClaim
    指定されたクレームが単一値のとき、例外を生成します。
デバッグするクラス ファイル
以下のクラス ファイルがデバッグ目的に使用されます。
  • com.ca.sm.icas.command.debug.DumpChainID
    コンソール上にチェーン ID を表示します。
    注:
    出力を表示するには、ポリシー サーバをコンソール モードで起動します。
  • com.ca.sm.icas.command.debug.DumpClaim
    コンソール上に VPPID クレーム詳細(名前と値)を表示します。
    注:
    出力を表示するには、ポリシー サーバをコンソール モードで起動します。
  • com.ca.sm.icas.command.debug.DumpClaims
    コンソール上のトークン内のすべてのクレームの詳細を表示します。
    注:
    出力を表示するには、ポリシー サーバをコンソール モードで起動します。
  • com.ca.sm.icas.command.debug.DumpContext
    コンソール上にコンテキスト オブジェクトの詳細を表示します。
    注:
    出力を表示するには、ポリシー サーバをコンソール モードで起動します。
  • com.ca.sm.icas.command.debug.DumpParameters
    コンソール上の ICAS プロパティ ファイルで指定されたパラメータの詳細を表示します。
    注:
    出力を表示するには、ポリシー サーバをコンソール モードで起動します。
  • com.ca.sm.icas.command.debug.DumpSystemVars
    コンソール上にシステム環境の詳細を表示します。
    注:
    出力を表示するには、ポリシー サーバをコンソール モードで起動します。
  • com.ca.sm.icas.command.debug.DumpThreadStack
    コンソール上に実行するスレッドのスタック トレースを表示します。
    注:
    出力を表示するには、ポリシー サーバをコンソール モードで起動します。
  • com.ca.sm.icas.command.debug.GenerateClaim_claims_AsHTML
    既知のクレームを表す HTML テーブルを持つ新しいクレーム "_claims_" を生成します。 アクティブなレスポンスでこのクレームを使用して、取得されたクレームをユーザに表示する Cookie またはヘッダを作成します。
  • com.ca.sm.icas.command.debug.GenerateClaim_parameters_AsHTML
    ICAS プロパティ ファイルで指定されたパラメータを表す HTML テーブルを生成します。アクティブなレスポンスでこの HTML テーブルを使用して、取得されたクレームをユーザに表示する Cookie またはヘッダを作成します。
  • com.ca.sm.icas.command.debug.LogClaim
    チェーン コンテキストでポリシー サーバ トレース ログにクレーム詳細(名前と値)を書き込みます。
  • com.ca.sm.icas.command.debug.LogClaims
    トークンでポリシー サーバ トレース ログにすべてのクレームの詳細を書き込みます。
  • com.ca.sm.icas.command.debug.LogDecryptedClaims
    復号された XML トークンをポリシー サーバ トレース ログに記録します。
  • com.ca.sm.icas.command.debug.LogEncryptedClaims
    IDP から取得した暗号化されたトークンをポリシー サーバ トレース ログに記録します。
  • com.ca.sm.icas.command.debug.START
    コンソール上に START メッセージを表示します。
    注:
    出力を表示するには、ポリシー サーバをコンソール モードで起動します。
  • com.ca.sm.icas.command.debug.STOP
    コンソール上に STOP メッセージを表示します。
    注:
    出力を表示するには、ポリシー サーバをコンソール モードで起動します。
  • com.ca.sm.icas.command.debug.ThrowException
    メッセージの一部としてクレーム値が含まれる例外オブジェクトを生成します。
後からアクティブ レスポンスで使用するクレームの保存
アクティブ レスポンスで後から使用できるようにクレームを保存できます。後から使用できるようにクレームを保存するには、プロパティ ファイルに以下のプロパティを追加します。
  • postprocessingchain
    ユーザ認証中に実行するコマンドのチェーンを定義します。この段階にはクレーム変換コマンドとストレージ コマンドが含まれます。
    例:
    postprocessingchain=com.ca.sm.authscheme.infocard.command.StoreClaimsToContext
ICAS 用の証明書データ ストアの設定
以下の点を考慮します。
  • 依存パーティは、SSL を使用して fcc ファイルを保護する必要があります。
  • 依存パーティは、Web サイトに関連付けられている SSL 証明書を pfx ファイルにエクスポートする必要があります。
  • ポリシー サーバ管理者は、依存パーティの Web サイトから SSL 証明書をインポートすることにより、ICAS 用の証明書データ ストアを設定します。
  • インポートされた証明書はエイリアスと関連付けられ、それは fcc ファイルに格納されます。証明書の秘密キーを使用してセキュリティ トークンを復号し、デジタル署名を検証します。
以下の手順に従います。
  1. Web Server 証明書ウィザードを使用して、IIS Web サーバから pfx ファイルに SSL 証明書をエクスポートします。
    : 詳細については、Microsoft のドキュメントを参照してください。pfx ファイルから SSL 証明書をインポートするために、ポリシー サーバは、SSL 証明書を pfx ファイルにエクスポートするときに指定するパスワードを使用します。
  2. 管理 UI を使用して、SSL 証明書を証明書データ ストアにインポートします。
ICAS で使用するユーザ ディレクトリの設定
ユーザの認証は、ICAS に提示されるクレームの 1 つとユーザ データベース内のユーザ属性が一致するかどうかによります。トークンの逆アセンブリ時、指定されたクレーム値はユーザ ディレクトリで検索値として使われます。このため、指定されたクレームに対応するユーザ属性が LDAP 検索文字列または SQL クエリ方式で指定されるように、ユーザ ディレクトリを設定してください。
以下の例は、電子メール アドレスに LDAP 参照文字列と SQL クエリ方式を設定する方法を示します。
  • LDAP の例
    LDAP ユーザ DN 検索
    • 先頭
      (mail=
    • 終端
      )
  • SQL の例
    SQL クエリ
    • ユーザ/グループ情報の取得
      SELECT EmailAddress, 'User' FROM SmUser WHERE EmailAddress = '%s' UNION SELECT Name, 'Group' FROM SmGroup WHERE Name = '%s'
    • ユーザの認証
      SELECT EmailAddress FROM SmUser WHERE EmailAddress = '%s' AND Password = '%s'
ICAS のインスタンスの作成
管理 UI でカスタム認証方式を指定し、ICAS のインスタンスを作成できます。
制限:
ポリシー ストアごとに、ICAS のインスタンスを最大 10 までサポートできます。
以下の手順に従います。
  1. [インフラストラクチャ]-[認証]をクリックします。
  2. [認証方式]をクリックします。
  3. [認証方式の作成]をクリックします。
  4. [認証方式タイプの新しいオブジェクトの作成]を選択し、[OK]をクリックします。
  5. 認証方式の名前および説明を入力します。
  6. [認証方式のタイプ]リストから[カスタム テンプレート]を選択します。
    [方式のセットアップ]グループ フィールドが表示されます。
  7. [保護レベル]フィールドに値を入力します。
  8. この認証方式のタイプに対して有効にされたパスワード ポリシーをクリアします。
    注:
    ICAS はパスワード ポリシーをサポートしません。
  9. [方式のセットアップ]に以下のフィールドに対する値を入力します。
    • ライブラリ
      smjavaapi
      注:
      カスタム認証方式は Java Authentication API を使用します。
    • 秘密キーと秘密キーの確認入力
      これらのフィールドは空白のままにします。
      注:
      カスタム認証方式は共有秘密キーを使用しません。
    • パラメータ
    [パラメータ]フィールドに以下の 2 つのパラメータをスペースで区切って入力します。
    • com.ca.sm.icas.SmAuthInfoCard
      これは、SmAuthScheme インターフェースを実装するクラスの完全修飾名です。
    • policy_server_home\config\icas\InfoCard.properties
      これはプロパティ ファイルの場所です。
    • 例:
      com.ca.sm.icas.SmAuthInfoCard
      policy_server_home
      \config\icas\InfoCard.properties
  10. (オプション)[方式のセットアップ]内の[Auth スキーム コンテキストをセッション ストアへ保存]オプションを選択します。このオプションは、認証コンテキスト データが存続することを指定します。
  11. [サブミット]をクリックします。
    認証方式の作成タスクが処理のためにサブミットされます。
クレーム値を取得するアクティブ レスポンスの設定
認証の完了後にクレーム値を取得するアクティブ レスポンスを設定するには、カスタム クラスの com.ca.sm.icas.GetClaimValue を使用ます。
注:
クレーム値の格納と取得には、セッション ストアが必要です。
以下の手順に従います。
  1. [ポリシー]-[ドメイン]をクリックします。
  2. [レスポンス]をクリックします。
  3. [レスポンスの作成]をクリックします。
  4. ドメインを選択し、[次へ]をクリックします。
  5. レスポンスの名前および説明を入力します。
  6. エージェント タイプとして Web エージェントを指定します。
  7. [属性リスト]内の[レスポンス属性の作成]をクリックします。
  8. [属性タイプ]の属性リストから WebAgent-HTTP-Header-Variable または WebAgent-HTTP-Cookie-Variable を選択します。
  9. [属性のセットアップ]内の[属性の種類]で[アクティブ レスポンス]を選択します。
  10. [属性フィールド]で以下の値を入力します。
    • Cookie 名または変数名
      クレームの名前を指定します。
      例:
      emailaddress
    • [Library Name]
      ライブラリ名を指定します。
      値:
      smjavaapi
    • 関数名
      関数名を指定します。
      値:
      JavaActiveExpression
    • [Parameters]
      カスタム ICAS コマンドのほか、情報カード モデルに従って標準のクレーム タイプを定義する、claims.xsd ファイルの場所を指定します。
      例:
      com.ca.sm.authscheme.infocard.GetClaimValue http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  11. [OK]をクリックします。
    クレーム値を取得するレスポンスが作成されます。
ICAM ホワイト リストのサポートの設定
ICAS 実装は、ホワイト リスト発行者および LOA 認証に基づく Federal Identity, Credentialing, and Access Management Identity Metasystem Interoperability 1.0 Profile(ICAM IMI 1.0 Profile)仕様をサポートします。
注:
ホワイト リストおよび LOA サポートの詳細については、
「ICAM IMI 1.0 Profile リリース候補版
」を参照してください。
ホワイト リスト処理を有効にするには、
Infocard.properties
ファイル内の以下のパラメータを更新します。
  • postprocessingchain
    ユーザ認証中に実行するコマンドのチェーンを定義します。
    例:
    postprocessingchain=com.ca.sm.icas.whiteListChecker.whiteListChecker
  • whitelistlocation
    ICAM によって指定されたホワイト リストが含まれる XML ファイルの場所を定義します。
    例:
    whitelistlocation=C:\\Program Files\\ca\\siteminder\\config\\WhiteList.xml
ICAS 実装は、Level of Assurances(LOA)の 3 つの検証をサポートします。
  • LOA1
  • LOA2
  • LOA3
ホワイト リスト処理は LOA1、LOA2 および LOA3 の確認に必須です。LOA 処理をサポートには postprocessingchain パラメータに以下の詳細を追加します。
  • LOA1 処理の場合
    postprocessingchain=com.ca.sm.icas.whiteListChecker.whiteListChecker;com.ca.sm.icas.whiteListChecker.ErrorIfLOA1ClaimMissing
  • LOA2 処理の場合
    postprocessingchain=com.ca.sm.icas.whiteListChecker.whiteListChecker;com.ca.sm.icas.whiteListChecker.ErrorIfLOA2ClaimMissing
  • LOA3 処理の場合
    postprocessingchain=com.ca.sm.icas.whiteListChecker.whiteListChecker;com.ca.sm.icas.whiteListChecker.ErrorIfLOA3ClaimMissing