SAML Web シングル・サインオン (SSO) トラスト・アソシエーション・インターセプター (TAI) のカスタム・プロパティー

以下の表は、Security Assertion Markup Language (SAML) トラスト・アソシエーション・インターセプター (TAI) のカスタム・プロパティーをリストしたものです。 これらのプロパティーは、管理コンソールを使用して、SAML TAI のカスタム・プロパティー・パネルで定義することができます。

考えられる各シングル・サインオン (SSO) サービス・プロバイダー (SP) パートナーを特定する固有のプロパティー名を割り当てるために、sso_<id> がそのプロパティー名に埋め込まれ、各 SSO パートナーと関連付けられたプロパティーのグループ化に使用されます。 sso_<id> には、SSO サービス・プロバイダー・パートナーごとに通し番号が付けられます。

SAML TAI のカスタム・プロパティーは 3 つのカテゴリーにグループ化することができます。
  1. グローバル・プロパティー - これらのプロパティーは、SAML TAI 用に構成されているすべての SSO パートナーに適用可能です。
  2. IdP プロパティー - これらのプロパティーは、SAML TAI 用に構成されている ID プロバイダーに適用可能です。 各 ID プロバイダー・パートナーを特定する固有のプロパティー名を割り当てるために、idp<id> がプロパティー名に埋め込まれ、各 SSO IdP パートナーと関連付けられたプロパティーのグループ化に使用されます。
  3. サービス・プロバイダー・プロパティー - これらのプロパティーはサービス・プロバイダーに適用可能なプロパティーで、固有の sso_<id> のもとで SSO サービス・プロバイダー・パートナーごとにグループ化されます。
注: すべてのカスタム・プロパティー名は、大/小文字の区別があります。

次の表では、SAML TAI のカスタム・プロパティーのうちグローバル・プロパティーについて説明します。

表 1. グローバル SAML TAI カスタム・プロパティー
プロパティー名 説明
targetUrl 任意の URL 値を指定することができます。 このプロパティーは sso_<id>.sp.targetUrl によってオーバーライドされます。 これは、IdP から RelayState を受け取っていない場合に、SAMLResponse の妥当性検査が成功した後に使用するデフォルトのターゲット URL になります。
useRelayStateForTarget 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • false
このプロパティーは sso_<id>.sp.useRelayStateForTarget よってオーバーライドされます。 これは、RelayState をターゲット URL として使用するかどうかを示すために使用されます。
allowedClockSkew 任意の正数を指定することができます。 デフォルトは 3 分です。 このプロパティーは sso_<id>.sp.allowedClockSkew によってオーバーライドされます。 これは、SAML トークンの妥当性検査時に許容クロック・スキューを指定するために使用されます。
enforceTaiCookie 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • false
このプロパティーは sso_<id>.sp.enforceTaiCookie よってオーバーライドされます。 これは、SSO パートナー用に作成されたサブジェクトに LTPA Cookie がマップされるかどうかを SAML TAI が確認する必要があるかどうかを示すために使用されます。
preventReplayAttackScope このプロパティーにはデフォルトはありません。以下の値を指定できます。
  • server
デフォルトで、SAML TAI はリプレイ・アタックを避けるために、分散キャッシュを使用して SAML アサーション ID を保管します。このプロパティーを server に設定すると、SAML TAI は代わりにローカル・キャッシュを使用します。
replayAttackTimeWindow 任意の整数値を指定することができます。 デフォルト値は 30 です。 このプロパティーは、TAI がまったく同じ SAML トークンを何分以内に 2 つ受け取った場合に 2 番目の要求を拒否するかを指定します。 sso_<id>.sp. preventReplayAttack も参照してください。
retryOnceAfterTrustFailure 以下のいずれかの値を指定することができます。
  • true
  • false
トラスト検証が失敗した後にランタイムがトラストストアを再ロードできるようにするには、このプロパティーを true に設定します。これにより、アプリケーション・サーバー実行中にトラストストアが新しい IdP 証明書で更新されることが許可されます。
redirectToIdPonServerSide 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • false
このプロパティーは、sso_<id>.sp. redirectToIdPonServerSide によってオーバーライドされます。このプロパティーを使用して、TAI を IdP 自体にリダイレクトすることを示します。クライアント・サイド・リダイレクトを実行するには、このプロパティーを false に設定します。URL フラグメントがリダイレクトで失われている場合は、このプロパティーを false に設定します。それにより、TAI がクライアント・サイド・リダイレクトを実行します。

次の表では、SAML TAI のカスタム・プロパティーのうち IdP プロパティーについて説明します。

表 2. IdP SAML TAI カスタム・プロパティー
プロパティー名 説明
sso_<id>.idp_<id>.SingleSignOnUrl 任意の URL 値を指定することができます。 このカスタム・プロパティーは、IdP の SSO サービスの URL を指定します。
sso_<id>.idp_<id>.allowedIssuerDN このカスタム・プロパティーに、デフォルト値はありません。 このカスタム・プロパティーは、IdP によって送信される SAML トークンに署名することが許可される証明書のサブジェクト DN を指定します。 この証明書によって署名されていない SAML トークンは拒否されます。このプロパティーが指定される場合、 sso_<id>.sp.wantAssertionSigned カスタム・プロパティーは true でなければなりません。IdP の署名者証明書の代わりに、トラストストア内に署名者証明書の発行者がある場合、このプロパティーを使用してください。これによって、すべての署名者証明書が同じ発行者によって発行されることを許可することが防止されます。
sso_<id>.idp_<id>.allowedIssuerName このカスタム・プロパティーに、デフォルト値はありません。 このカスタム・プロパティーは、SAML トークン内の <saml:Issuer> 発行者エレメントの値を指定します。 SAML トークン内の発行者がこの値と一致しなければ、IdP から送られてきた SAML トークンは拒否されます。

次の表では、SAML TAI のカスタム・プロパティーのうちサービス・プロバイダー・プロパティーについて説明します。

表 3. サービス・プロバイダー SAML TAI カスタム・プロパティー
プロパティー名 説明
sso_<id>.sp.acsUrl このプロパティーに、デフォルト値はありません。以下のいずれかの値を指定することができます。
  • アサーション・コンシューマー・サービス (ACS) の URL: https://<hostname>:<sslport>/samlsps/<any URI pattern String>
  • ビジネス・アプリケーションの URL
これは、各 sso_<id> で唯一の必須プロパティーです。 ACS またビジネス・アプリケーションの URL を指定します。
SAML ワークフロー用に同様のエントリー・ポイントを複数持つ必要がある場合は、このプロパティー用の特定の URI パターン・ストリングではなく、ストリングの末尾にワイルドカードが付いた URL を指定することができます。以下に例を示します。
  • https://<server>/<context_root>/ep1/path1/p*
  • https://<server>/<context_root>/ep1/*
sso_<id>.sp.cookiegroup このプロパティーに、デフォルト値はありません。 このプロパティーは、構成済み SAML SSO パートナーの LTPA Cookie に追加されるタグを指定します。Web 要求を LTPA Cookie と共に受信した場合、その LTPA Cookie は、タグがこの値と一致している場合のみ有効です
sso_<id>.sp.EntityID デフォルトでは、このプロパティーは sso_<id>.sp.aclUrl の値に設定されます。 このプロパティーは、SAML アサーションで AudienceRestriction を検証するために使用されます。
sso_<id>.sp.targetUrl このプロパティーに、デフォルト値はありません。 このプロパティーはターゲット・アプリケーションの URL を指定します。 これは、クライアント要求に RelayState が存在しないときに使用されます。
sso_<id>.sp.useRelayStateForTarget 以下のいずれかの値を指定することができます。
  • true (デフォルト) - ターゲット・アプリケーションの URL としてクライアント要求の RelayState の値を使用したい場合は、この値を指定します。
  • false - sso_<id>.sp.targetUrl の値をターゲット・アプリケーションの URL として使用したい場合は、この値を指定してください。
このプロパティーは、クライアント要求で受け取った RelayState 値をターゲット・アプリケーションの URL として使用するかどうかを指定します。 このプロパティーが false に設定された場合は、sso_<id>.sp.targetUrl プロパティーがターゲット・アプリケーションの URL として使用されます。
sso_<id>.sp.login.error.page このプロパティーに、デフォルト値はありません。 このプロパティーは、認証されなかったクライアント要求のリダイレクト先であるエラー・ページ、 IdP ログイン・ページ、またはカスタム・マッピング・クラスを指定します。

このカスタム・プロパティーにカスタム・マッピング・クラスが指定されている場合は、カスタム・クラスを含む .jar ファイルを (WAS_HOME)/lib ディレクトリーまたは (WAS_HOME)/lib/ext ディレクトリーに入れる必要があります。

sso_<id>.sp.acsErrorPage このプロパティーに、デフォルト値はありません。 このプロパティーは、sso_<id>.sp.login.error.page をオーバーライドするために使用されます。
sso_<id>.sp.allowedClockSkew このプロパティーに、デフォルト値はありません。 このプロパティーは、IdP から送られてきた SAML トークンのトークン有効期限に加算される時間 (分数) を指定します。
sso_<id>.sp.trustStore このプロパティーに、デフォルト値はありません。 このプロパティーは、SAML 署名を検証するためのトラストストアを指定します。 これは、管理対象鍵ストアの名前を指定します。
sso_<id>.sp.trustAnySigner 以下のいずれかの値を指定することができます。
  • false (デフォルト) - 信頼性検証で署名者証明書が検査されます。
  • true - どの署名者証明書も信頼性検証を行わずに信頼されることになります。
  • ベスト・プラクティス ベスト・プラクティス: このカスタム・プロパティーは、診断の目的のみに使用します。実稼働環境では使用しないでください。best-practices
このプロパティーは、信頼性検証用に SAML トークンの署名者証明書が検証されるかどうかを指定します。このプロパティーが true に設定された場合は、どの署名者証明書も信頼されることになります。
sso_<id>.sp.keyStore このプロパティーは、EncryptedAssertion を受け取って処理するために必要であり、デフォルト値はありません。 このプロパティーは、暗号化された SAML アサーションを暗号化解除するための秘密鍵が入っている管理対象鍵ストアの名前を指定します。
例:
  • myKeyStoreRef
  • name=myKeyStoreRef managementScope=(cell):myCell:(node):myNode
myKeyStoreRef
sso_<id>.sp.keyName このプロパティーは、EncryptedAssertion を受け取って処理するために必要であり、デフォルト値はありません。 このプロパティーは、SAML アサーションを暗号化解除するための鍵名を指定します。
sso_<id>.sp.keyPassword このプロパティーは、EncryptedAssertion を受け取って処理するために必要であり、デフォルト値はありません。 このプロパティーは、SAML アサーションを暗号化解除するための鍵パスワードを指定します。
sso_<id>.sp.keyAlias このプロパティーは、EncryptedAssertion を受け取って処理するために必要であり、デフォルト値はありません。 このプロパティーは、SAML アサーションを暗号化解除するための鍵別名を指定します。
sso_<id>.sp.wantAssertionsSigned 以下のいずれかの値を指定することができます。
  • true (デフォルト) - サービス・プロバイダーは IdP による SAML アサーションへの署名を必要とします。
  • false - IdP が SAML アサーションに署名する必要はありません。
このプロパティーが false に設定された場合は、SAML アサーションに署名する必要がないので、署名の検証は行われません。
sso_<id>.sp.preserveRequestState 以下のいずれかの値を指定することができます。
  • true (デフォルト) - クライアント状態が保存されて、そのクライアント状態が IdP ログインにリダイレクトされると、保存されたクライアント状態が復元されます。
  • false - クライアント状態は保存されません。
サービス・プロバイダーがクライアント要求を IdP ログインにリダイレクトしたとき、このプロパティーは、クライアント状態を保存して、クライアント要求の完了後に復元する必要があるかどうかを指定します。
sso_<id>.sp.enforceTaiCookie 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • false
このプロパティーは、SSO パートナー用に作成されたサブジェクトに LTPA Cookie がマップされるかどうかを SAML TAI が確認する必要があるかどうかを示すために使用されます。
sso_<id>.sp.realmName これは、任意のストリング値とすることができます。 デフォルトでは、このプロパティーは SAML 発行者名に設定されます。 このプロパティーは任意の SAML 属性を指定するもので、realmNameRange と対で使用されます。 この属性の値はサブジェクト・レルムとして使用されます。 このレルムは、realmNameRange によって指定されたレルムのリストに存在しなければ拒否されます。
sso_<id>.sp.realmNameRange このプロパティーにはデフォルト値がありません。 このプロパティーは許容されるレルム名のリストを指定するもので、realmName と対で使用されます。 sso_<id>.sp.realmName の説明を参照してください。
sso_<id>.sp.retryOnceAfterTrustFailure 以下のいずれかの値を指定することができます。
  • true
  • false
トラスト検証が失敗した後にランタイムがトラストストアを再ロードできるようにするには、このプロパティーを true に設定します。これにより、アプリケーション・サーバー実行中にトラストストアが新しい IdP 証明書で更新されることが許可されます。
sso_<id>.sp.principalName これは、任意のストリング値とすることができます。 デフォルトでは、このプロパティーはサブジェクト NameID に設定されます。 このプロパティーは任意の SAML 属性を指定します。 この属性の値はサブジェクト・プリンシパルとして使用されます。
sso_<id>.sp.uniqueId これは、任意のストリング値とすることができます。 デフォルトでは、このプロパティーはサブジェクト NameID に設定されます。 このプロパティーは任意の SAML 属性を指定します。 この属性の値はサブジェクト uniqueId として使用されます。
sso_<id>.sp.groupName このプロパティーに、デフォルト値はありません。 このプロパティーは任意の SAML 属性を指定します。 この属性の値はサブジェクト内のグループとして使用されます。
sso_<id>.sp.defaultRealm 以下のいずれかの値を指定することができます。
  • IssuerName (デフォルト) - SAML トークン Issuer をデフォルト・レルムとして使用します。
  • NameQualifier - SAML トークン NameQualifier をデフォルト・レルムとして使用します。
このカスタム・プロパティーは、SAML アサーションの Issuer と NameQualifier のどちらをデフォルト・レルムとして使用するかを指定します。
sso_<id>.sp.useRealm このプロパティーに、デフォルト値はありません。 このプロパティーはレルム名を指定するもので、デフォルト・レルムをオーバーライドするために使用されます。 このプロパティーは realmName プロパティーもオーバーライドします。
sso_<id>.sp.idMap 以下のいずれかの値を指定することができます。
  • idAssertion (デフォルト) - SAML アサーション内に指定されたユーザーはローカル・レジストリー内で検査されません。
  • localRealm - SAML トークン・ユーザーはローカル・ユーザー・レジストリー内で検証されます
  • localRealmThenAssertion - ユーザーがローカル・レジストリーで見つからない場合は、IDAssertion が使用されます
このプロパティーは、SAML トークンがサブジェクトにどのようにマップされるかを指定します。
sso_<id>.sp.groupMap 以下のいずれかの値を指定することができます。
  • localRealm - ローカル・ユーザー・レジストリーで見つかったグループまたは親グループに SAML トークン・グループをマップするには、この値を指定します。
  • addGroupsFromLocalRealm - ローカル・ユーザー・レジストリーで見つかったグループまたは親グループに SAML トークン・グループをマップするには、この値を指定します。このユーザーのグループ・メンバーシップには、ローカル・ユーザー・レジストリーで見つかった SAML アサーションおよびグループからのグループが含まれています。
このプロパティーは IDAssertion と一緒に使用され、SAML トークンがグループにどのようにマップされるかを指定します。
sso_<id>.sp.userMapImpl このプロパティーに、デフォルト値はありません。 このプロパティーは、カスタム・ユーザー・マッピング・モジュール・クラスの名前を指定します。 これは、SAML トークン内のユーザー ID をローカル・ユーザー・レジストリーに存在する別のユーザー ID にマップするために使用されます。

カスタム・マッピング・クラスは、com.ibm.wsspi.security.web.saml.UserMapping インターフェースを実装する必要があります。カスタム・クラスを含む .jar ファイルは、(WAS_HOME)/lib ディレクトリーまたは (WAS_HOME)/lib/ext ディレクトリーのいずれかに入れる必要があります。

sso_<id>.sp.X509PATH このプロパティーに、デフォルト値はありません。 このプロパティーは、SAML 署名の検証で使用される中間証明書用の証明書ストアを指定します。
sso_<id>.sp.CRLPATH このプロパティーに、デフォルト値はありません。 このプロパティーは、SAML 署名の検証で使用される証明書失効リスト用の証明書ストアを指定します。
sso_<id>.sp.filter このプロパティーに、デフォルト値はありません。 このプロパティーは、HTTP 要求を SAML Web SSO パートナーに対して選択するかどうかを決定する、HTTP 要求と照合される条件を指定するために使用されます。 このプロパティーについて詳しくは、『SAML TAI フィルター・プロパティー』セクションを参照してください。
sso_<id>.sp.preventReplayAttack 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • false
このプロパティーは、SAML TAI がクライアント要求での 2 つの同一 SAML トークンの送信を防止するかどうかを指定するために使用されます。このプロパティーはグローバル・プロパティー replayAttackTimeWindow と対で使用されます。
sso_<id>.sp.preventReplayAttackScope このプロパティーにはデフォルトはありません。以下の値を指定できます。
  • server
デフォルトで、SAML TAI はリプレイ・アタックを避けるために、分散キャッシュを使用して SAML アサーション ID を保管します。このプロパティーを server に設定すると、SAML TAI は代わりにローカル・キャッシュを使用します。
sso_<id>.sp.trustedAlias このプロパティーに、デフォルト値はありません。 このプロパティーが指定された場合は、この別名によって指定された鍵のみが SAML アサーション内の署名の検証に使用されます。 SAMLResponse の着信 SAML アサーション内の署名に KeyInfo エレメントが含まれていない場合は、KeyInfo エレメントを解決するためにこのプロパティーを指定します。
sso_<id>.sp.redirectToIdPonServerSide 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • false
このプロパティーを使用して、TAI を IdP 自体にリダイレクトすることを示します。URL フラグメントがリダイレクトで失われている場合は、このプロパティーを false に設定します。それにより、TAI がクライアント・サイド・リダイレクトを実行します。

SAML TAI フィルター・プロパティー

sp.filter SAML TAI フィルター・プロパティーは、クライアントが IdP への認証なしで、保護されているサービス・プロバイダー・アプリケーションを直接呼び出すときに使用されます。 通常、このフィルター・プロパティーは、認証されなかったクライアント要求を sp.login.error.page プロパティーで指定された URL アドレスにリダイレクトするために、sp.login.error.page プロパティーと対で使用されます。 sp.filter プロパティーは、SAMLResponse には適用されません。SAMLResponse 内の要求 URL は、sp.acsURL に照らして評価されます。

このフィルター・プロパティーは、クライアントの HTTP 要求を処理するための SAML Web SSO プロバイダー・パートナーを選択するために HTTP 要求と比較される一組の条件を指定します。 各条件は次の 3 つのエレメントによって指定されます。
  • 入力 (必須) - 入力エレメントは通常は HTTP ヘッダー名を指定するものですが、request-url および remote-address を特別なエレメントとして使用することもできます。
  • 演算子 - 演算子エレメントには次のいずれかの値を指定します。==!=%=^=<、および >
  • 比較値 - このエレメントは通常はストリングを指定するものですが、IP アドレス範囲を使用することもできます。

これらの条件は、比較値で指定されている順番に従って、左から右へ向かって評価されます。 HTTP 要求で、SSO サービス・プロバイダー・パートナーによって指定されたすべてのフィルター条件が満たされると、その SSO サービス・プロバイダー・パートナーがその HTTP 要求のために選択されます。

入力エレメントが HTTP 要求から抽出する HTTP 要求ヘッダー・フィールドを特定すると、そのフィールドの値が演算子の指定に従ってフィルター・プロパティーに指定されている値と比較されます。 入力エレメントによって特定されたヘッダー・フィールドが HTTP 要求に存在しなければ、条件は満たされていないとみなされます。 標準 HTTP 要求ヘッダー・フィールドならどれでもフィルター条件の入力エレメントとして使用することができます。 有効なヘッダーのリストについては、HTTP 仕様を参照してください。

標準 HTTP ヘッダー・フィールドの他にも、次の 2 つの特別な入力エレメントをフィルター・プロパティーで使用することができます。
  • request-url - この入力の比較値は、クライアント・アプリケーションが要求を行うために使用する URL アドレスと比較されます。
  • remote-address - この入力の比較値は、HTTP 要求を送ったクライアント・アプリケーションの TCP/IP アドレスと比較されます。

次の例では、フィルター・プロパティーは、HTTP ヘッダー・フィールド From を、samluser@xyz.com を比較値として、また == を演算子として持つ、入力として指定しています。
sso_1.sp.filter=From==samluser@xyz.com
この場合は、samluser@xyz.com という値を持つ HTTP ヘッダー・フィールド From がクライアント要求に含まれていると、SAML TAI はこの sso_1 フィルターの SSO サービス・プロバイダー・パートナーをクライアント要求の処理のために選択します。
次の例では、フィルター・プロパティーは、比較値として ivtlanding.jsp を、また演算子として %= を持つ URL を指定しています。
sso_2.sp.filter=request-url%=ivtlanding.jsp
この場合は、クライアントが呼び出すターゲット・アプリケーションの URL にストリング ivtlanding.jsp が含まれていると、SAML TAI はこの sso_2 フィルターの SSO パートナーをクライアント要求の処理のために選択します。
次の例では、フィルター・プロパティーは、比較値として DefaultApplication を、また演算子として == を持つアプリケーション名を指定しています。
sso_3.sp.filter=applicationNames==DefaultApplication
この場合は、クライアント・アプリケーションが呼び出すターゲット・アプリケーションの名前が DefaultApplication であると、SAML TAI はこの sso_3 フィルターの SSO パートナーをクライアント要求の処理のために選択します。
次の表は、フィルター・プロパティーで使用される各種演算子を示しています。
表 4. フィルター・プロパティーの演算子
オペレーター 条件
== この演算子は完全一致を指定します。 入力エレメントが比較値に等しくなければなりません。 From==jones@my.company.com
%= この演算子は部分一致を指定します。 入力エレメントが比較値を包含します。 user-agent%=IE 6request-url%=company.com/urlApp1
^= 入力エレメントが比較値の 1 つを包含します。 これは | 演算子と結合できる唯一の演算子です。 request-url^=urlApp1|urlApp2| urlApp3
!= 入力エレメントが比較値を包含しません。 request-url!=test105
> 入力エレメントが比較値より大です。 remote-address>192.168.255.130
< 入力エレメントが比較値より小です。 remote-address<192.168.255.135
; 論理 AND 演算子 request-url!=test105;From==jones@my.company.com5
注: フィルター・プロパティーと一緒に使用できる論理 OR 演算子はありません。

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_samltaiproperties
ファイル名:rwbs_samltaiproperties.html