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 サービス・プロバイダー・パートナーごとに固有の sso_<id>の下にグループ化されます。 <id> を数値に置き換えて、固有の sso_<id>( sso_1.acsUrlなど) を生成します。 2 つのプロバイダーがある場合は、 sso_2.acsUrlを使用して別のセットを作成します。
注: すべてのカスタム・プロパティー名では大/小文字が区別されます。
トラブルの回避: SAML Web シングル・サインオンにはプリンシパル名が必要です。 デフォルトでは、プリンシパルは SAML アサーションのサブジェクト内の NameID エレメントから取得されます。 SAML アサーションに NameID エレメントがない場合は、必要なプリンシパル名がトークン内の属性に含まれている必要があります。 プリンシパル名を指定する属性の名前は、 sso_<id>.sp.principalName カスタム・プロパティーで構成されます。 SAML アサーションに NameID がなく、 sso_<id>.sp.principalName カスタム・プロパティーが構成されていない場合、SAML Web SSO TAI は保護リソースへのアクセスを許可しません。

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

表 1. グローバル SAML TAI カスタム・プロパティー
プロパティー名 説明
targetUrl 任意の URL 値を指定することができます。 このプロパティーは、sso_<id>.sp.targetUrl によってオーバーライドされます。 これは、IdP から RelayState を受け取っていない場合に、SAMLResponse の妥当性検査が成功した後に使用するデフォルトのターゲット URL になります。
useRelayStateForTarget 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • いいえ
このプロパティーは、sso_<id>.sp. useRelayStateForTarget によってオーバーライドされます。 これは、RelayState をターゲット URL として使用するかどうかを示すために使用されます。

[9.0.5.13 以降]useJavaScript

以下のいずれかの値を指定することができます。
  • はい
  • false (デフォルト)
要求が IdPにリダイレクトされたときに TAI が JavaScript を使用できるようにするには、このプロパティーを true に設定します。 JavaScriptを使用しない場合、元のインバウンド要求に存在するフラグメントはすべて失われます。
  • sso_<id>.sp.login.error.page プロパティーが SP 開始 SSO を実装するためにクラス名に設定されている場合、このプロパティーの値は無視されます。
  • このプロパティーが値に設定されている場合、 redirectToIdPonServerSide プロパティーの値は無視されます。
allowedClockSkew 任意の正数を指定することができます。 デフォルトは 3 分です。 このプロパティーは、sso_<id>.sp.allowedClockSkew によってオーバーライドされます。 これは、SAML アサーションの検証時に許可されるクロック・スキューを分単位で指定するために使用されます。
enforceTaiCookie 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • いいえ
このプロパティーは、sso_<id>.sp.enforceTaiCookie によってオーバーライドされます。 これは、SSO パートナー用に作成されたサブジェクトに LTPA Cookie がマップされるかどうかを SAML TAI が確認する必要があるかどうかを示すために使用されます。

詳しくは、 sso_<id>.sp.enforceTaiCookie の表項目を参照してください。

logoutUrl

任意の URL 値を指定することができます。

この URL を IdPのシングル・ログアウト (SLO) エンドポイントにすることはできません。

このプロパティーは、sso_<id>.sp.logoutUrl によってオーバーライドされます。 ログアウト要求は、 HttpServletRequest.logout またはフォーム・ログアウトの実行時に、このプロパティーで指定された URL にリダイレクトされます。
preventReplayAttackScope このプロパティーにはデフォルトはありません。 以下の値を指定できます。
  • サーバー
デフォルトで、SAML TAI はリプレイ・アタックを避けるために、分散キャッシュを使用して SAML アサーション ID を保管します。 このプロパティーを server に設定すると、SAML TAI は代わりにローカル・キャッシュを使用します。
replayAttackTimeWindow 任意の整数値を指定することができます。 デフォルト値は 30 です。 このプロパティーは、2 つの同一の SAML アサーションが TAI によって受信された場合に、2 番目の要求が拒否される時間を分単位で指定します。 sso_<id>.sp.preventReplayAttackも参照してください。
retryOnceAfterTrustFailure 以下のいずれかの値を指定することができます。
  • はい
  • いいえ
トラスト検証が失敗した後にランタイムがトラストストアを再ロードできるようにするには、このプロパティーを true に設定します。 これにより、アプリケーション・サーバー実行中にトラストストアが新しい IdP 証明書で更新されることが許可されます。
redirectToIdPonServerSide 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • いいえ
このプロパティーは、sso_<id>.sp.redirectToIdPonServerSide によってオーバーライドされます。 このプロパティーを使用して、TAI を IdP 自体にリダイレクトすることを示します。 クライアント・サイド・リダイレクトを実行するには、このプロパティーを false に設定します。 リダイレクトで URL フラグメントが失われる場合、このプロパティーを false に設定します。TAI は JavaScript を使用してクライアント・サイドのリダイレクトを実行します。
  • sso_<id>.sp.login.error.page プロパティーが SP 開始 SSO を実装するためにクラス名に設定されている場合、このプロパティーの値は無視されます。
  • useJavaScript プロパティーが値に設定されている場合、このプロパティーの値は無視されます。

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

表 2. IdP SAML TAI カスタム・プロパティー
プロパティー名 説明
sso_<id>.idp_<id>.SingleSignOnUrl 任意の URL 値を指定することができます。

このカスタム・プロパティーは、IdP の SSO サービスの URL を指定します。

このプロパティーは、 sso_<id>.sp.login.error.page プロパティーが SP 開始 SSO または ID プロバイダー・マッピングを実装するためにクラス名に設定されている場合に使用されます。 sso_<id>.sp.login.error.page プロパティーが値に設定されていないか、その値が URLである場合、 sso_<id>.idp_<id>.SingleSignOnUrl プロパティーの値は SAML TAI によって使用されません。

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

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

表 3. サービス・プロバイダー SAML TAI カスタム・プロパティー
プロパティー名 説明
sso_<id>.sp.acsUrl このプロパティーは必須であり 、デフォルト値はありません。 以下のいずれかの値を指定することができます。
  • アサーション・コンシューマー・サービス (ACS) の URL :
    https://< hostname>: < sslport> /samlsps
    /< 任意の URI パターン・ストリング>
  • ビジネス・アプリケーションの URL 。
このプロパティーは、ACS またはビジネス・アプリケーションの URL を指定します。
SAML ワークフロー用に同様のエントリー・ポイントを複数持つ必要がある場合は、このプロパティー用の特定の URI パターン・ストリングではなく、ストリングの末尾にワイルドカードが付いた URL を指定することができます。 以下に例を示します。
  • https://<server>/<context_root>/ep1/path1/p*
  • https://<server>/<context_root>/ep1/*

sso_<id>.sp.acsUrl プロパティーの値は、固有の URI パスを持つ必要があります。 URI パスには、プロトコルおよび URL ストリングの <hostname>:<port> 部分は含まれません。 例えば、https://here.com/samlsps/app/gohttps://elsewhere.com/samlsps/app/go には同じ URI パス /samlsps/app/go があるため、acsUrl エントリーとして構成できるのはそのうち 1 つだけです。

sso_<id>.sp.login.error.page このプロパティーにはデフォルト値はありませんが、SP 開始 Web SSO フローを使用して要求を処理する場合は、値を設定する必要があります。

このプロパティーは、非認証クライアント要求のリダイレクト先であるエラー・ページ、IdP ログイン・ページ、またはカスタム・マッピング・クラスを指定します。 カスタム・マッピング・クラスは、ID プロバイダー・マッピング用に com.ibm.wsspi.security.web.saml.IdentityProviderMapping を実装することも、SP 開始 SSO 用に com.ibm.wsspi.security.web.saml.AuthnRequestProvider を実装することもできます。

SP 開始の SSO と ID プロバイダー・マッピングのどちらの場合も、要求が最初にアプリケーション・サーバーに送信されると、ユーザーがログインするために IdP にリダイレクトされます。

sso_<id>.sp.acsErrorPage このプロパティーのデフォルトは、 sso_ < id>.sp.login.error.pageの値です。 このプロパティーは、 sso_<id>.sp.login.error.pageをオーバーライドするために使用されます。
sso_<id>.sp.filter

任意のフィルター値を指定できます。

デフォルト値は request-url~=.*です。

このプロパティーは、要求を処理する SP を選択するために HTTP 要求に対してチェックされる条件を指定します。 このプロパティーについて詳しくは、「 SAML TAI フィルター・プロパティー 」セクションを参照してください。

デフォルト・フィルターは、管理アプリケーションへの要求を除き、TAI に送信されたすべての要求を代行受信します。 要求が複数の SP のフィルター条件と一致する場合、その要求は拒否されます。

sso_<id>.sp.logoutUrl

このプロパティーに任意の URL 値を指定することができます。

この URL を IdPのシングル・ログアウト (SLO) エンドポイントにすることはできません。

ログアウト要求は、 HttpServletRequest.logout またはフォーム・ログアウトの実行時に、このプロパティーで指定された URL にリダイレクトされます。
sso_<id>.sp.targetUrl このプロパティーに、デフォルト値はありません。 このプロパティーはターゲット・アプリケーションの URL を指定します。 これは、クライアント要求に RelayState が存在しないときに使用されます。
sso_<id>.sp.useRelayStateForTarget 以下のいずれかの値を指定することができます。
  • true (デフォルト)
    ターゲット・アプリケーションの URL としてクライアント要求で RelayState の値を使用する場合は、この値を指定します。
  • いいえ
    ターゲット・アプリケーションの URL として sso_ < id>.sp.targetUrl の値を使用する場合は、この値を指定します。
このプロパティーは、クライアント要求で受け取った RelayState 値をターゲット・アプリケーションの URL として使用するかどうかを指定します。 このプロパティーを false に設定すると、sso_<id>.sp.targetUrl プロパティーがターゲット・アプリケーションの URL として使用されます。
sso_<id>.sp.idMap 以下のいずれかの値を指定することができます。
  • idAssertion (デフォルト)
    SAML アサーションで指定されたユーザーがローカル・レジストリーで検査されない
  • localRealm
    SAML ユーザーがローカル・ユーザー・レジストリーで検証される
  • localRealmThenAssertion
    ユーザーがローカル・レジストリーに見つからない場合は、IDAssertion が使用されます。
このプロパティーは、SAML ユーザーをサブジェクトにマップする方法を指定します。
sso_<id>.sp.principalName 任意の SAML 属性名を指定できます。 このプロパティーに、デフォルト値はありません。

このプロパティーは、サブジェクト・プリンシパルとして使用される SAML 属性を指定します。

デフォルトでは、Subject プリンシパルの値は、SAML アサーション内の Subject エレメントの NameID エレメントから取得されます。

sso_<id>.sp.uniqueId 任意の SAML 属性名を指定できます。 このプロパティーに、デフォルト値はありません。

このプロパティーは、サブジェクト uniqueIdとして使用される SAML 属性を指定します。

デフォルトでは、 uniqueId の値は、SAML アサーション内の Subject エレメントの NameID エレメントから取得されます。

sso_<id>.sp.groupName 任意の SAML 属性名を指定できます。 このプロパティーに、デフォルト値はありません。 このプロパティーは、ユーザーのグループ・メンバーシップを含み、IDAssertion でのみ使用される SAML 属性を指定します。 グループは、 sso_<id>.sp.groupMap プロパティーの値に従って、ユーザーのサブジェクトに追加されます。
sso_<id>.sp.groupMap

このプロパティーに、デフォルト値はありません。 以下のいずれかの値を指定することができます。

  • localRealm
    SAML アサーションからのグループを、 WebSphere レジストリー内の一致するグループおよび親グループにマップします。
  • AddGroupsFromLocalRealm
    SAML アサーションからのグループを、 WebSphere レジストリー内の一致するグループおよび親グループにマップします。 WebSphere レジストリーにあるグループに加えて、ユーザーのサブジェクトには SAML アサーションからのグループが含まれています。
このプロパティーは、SAML アサーション内のグループを WebSphere グループにマップする方法を指定し、IDAssertion でのみ使用されます。 SAML アサーションからグループを取得するには、 sso_<id>.sp.groupName プロパティーを値に設定する必要があります。 デフォルトでは、IDAssertion を使用すると、SAML ユーザーのサブジェクトにグループは追加されません。
sso_<id>.sp.realmName This can be any string value. デフォルトでは、このプロパティーは SAML 発行者名に設定されます。 このプロパティーは任意の SAML 属性を指定するもので、realmNameRange と対で使用されます。 この属性の値はサブジェクト・レルムとして使用されます。 このレルムは、realmNameRange によって指定されたレルムのリストに存在しなければ拒否されます。
sso_<id>.sp.realmNameRange このプロパティーにはデフォルト値がありません。 このプロパティーは許容されるレルム名のリストを指定するもので、realmName と対で使用されます。 sso_<id>.sp.realmName の説明を参照してください。

sso_<id>.sp.useRealm

このカスタム・プロパティーに、デフォルト値はありません。 このプロパティーはレルム名を指定するもので、デフォルト・レルムをオーバーライドするために使用されます。 このプロパティーは realmName プロパティーもオーバーライドします。

[9.0.5.13 以降]デフォルトの WebSphere レルム名を使用するには、このプロパティーの値を WAS_DEFAULT に設定します。

sso_<id>.sp.wantAssertionsSigned 以下のいずれかの値を指定することができます。
  • true (デフォルト)
    サービス・プロバイダーは、SAML アサーションに署名するために IdP を必要とします。
  • いいえ
    SAML アサーションが IdP によって署名されている必要はありません。
このプロパティーが false に設定された場合は、SAML アサーションに署名する必要がないので、署名の検証は行われません。

このプロパティーの値が trueの場合、 sso_<id>.sp.trustAnySignertrue に設定するか、 sso_<id>.sp.trustStore を有効な管理対象鍵ストアに設定する必要があります。

sso_<id>.sp.trustAnySigner 以下のいずれかの値を指定することができます。
  • false (デフォルト)
    署名者証明書が信頼性検証のために検証される
  • はい
    いずれかの署名者証明書が信頼できるかどうかの検証
  • ベスト・プラクティス: このカスタム・プロパティーは、診断の目的でのみ使用してください。 実稼働環境では使用しないでください。
このプロパティーは、信頼性検証のために SAML アサーションの署名者証明書を検証するかどうかを指定します。 このプロパティーが true に設定された場合は、どの署名者証明書も信頼されることになります。
sso_<id>.sp.trustStore 単一サーバー上ではデフォルトのトラストストアは NodeDefaultTrustStore であり、その他の場合は CellDefaultTrustStore です。 このプロパティーは、SAML 署名を検証するためのトラストストアを指定します。 これは、管理対象鍵ストアの名前を指定します。
例:
  • myKeyStoreRef
  • name=myKeyStoreRef managementScope=(cell):myCell:(node):myNode
sso_<id>.sp.trustedAlias このプロパティーに、デフォルト値はありません。 このプロパティーを指定すると、この別名で指定された証明書を使用して SAML アサーション内の署名が検証されます。 この証明書は、SAML アサーションに存在する可能性のあるすべての証明書の値をオーバーライドします。 SAMLResponse の着信 SAML アサーション内の署名に KeyInfo エレメントが含まれていない場合は、このプロパティーを指定して署名を検証する必要があります。
sso_<id>.sp.keyStore

このプロパティーは、 EncryptedAssertionsを受信して処理するために使用されます。

単一サーバーの場合、デフォルトの keyStore は NodeDefaultKeyStoreです。 それ以外の場合は、 CellDefaultKeyStoreです。

このプロパティーは、暗号化された SAML アサーションを暗号化解除するための秘密鍵が入っている管理対象鍵ストアの名前を指定します。
例:
  • myKeyStoreRef
  • name=myKeyStoreRef managementScope=(cell):myCell:(node):myNode
sso_<id>.sp.keyAlias このプロパティーは、EncryptedAssertion を受け取って処理するために必要であり、デフォルト値はありません。 このプロパティーは、SAML アサーションを暗号化解除するための鍵別名を指定します。
sso_<id>.sp.keyName このプロパティーは、EncryptedAssertion を受け取って処理するために必要であり、デフォルト値はありません。 このプロパティーは、SAML アサーションを暗号化解除するための鍵名を指定します。
sso_<id>.sp.keyPassword このプロパティーは、EncryptedAssertion を受け取って処理するために必要であり、デフォルト値はありません。 このプロパティーは、SAML アサーションを暗号化解除するための鍵パスワードを指定します。
sso_<id>.sp.allowedClockSkew このプロパティーに、デフォルト値はありません。 このプロパティーは、 IdPによって送信される SAML アサーションのトークン有効期限に追加される時間を分単位で指定します。

sso_<id>.sp.charEncoding

このプロパティーに、デフォルト値はありません。 例えば UTF-8 に設定します このプロパティーは、HTTPServletRequest 内の設定をオーバーライドするために使用される文字エンコード方式を指定します。
sso_<id>.sp.cookiegroup このプロパティーに、デフォルト値はありません。 このプロパティーは、構成済み SAML SSO パートナーの LTPA Cookie に追加されるタグを指定します。 Web 要求を LTPA Cookie と共に受信した場合、その LTPA Cookie は、タグがこの値と一致している場合のみ有効です
sso_<id>.sp.defaultRealm 以下のいずれかの値を指定することができます。
  • IssuerName (デフォルト)
    SAML アサーション Issuer をデフォルト・レルムとして使用します
  • NameQualifier
    SAML アサーション NameQualifier をデフォルト・レルムとして使用する
このカスタム・プロパティーは、SAML アサーションの Issuer と NameQualifier のどちらをデフォルト・レルムとして使用するかを指定します。

sso_<id>.sp.disableDecodeURL

以下のいずれかの値を指定することができます。
  • はい
  • false (デフォルト)
このプロパティーが true に設定されている場合、リダイレクトの元の URL がデコードすることなく使用されます。
sso_<id>.sp.enforceTaiCookie 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • いいえ
このプロパティーは、SSO パートナー用に作成されたサブジェクトに LTPA Cookie がマップされるかどうかを SAML TAI が確認する必要があるかどうかを示すために使用されます。

このプロパティーを true (デフォルト) に設定し、1 つの SSO パートナーに対して LTPA Cookie が作成される状況を考慮してください。 この場合、別の SSO パートナーのフィルターを満たす後続の要求を受信すると、ユーザーは idP に再度ログインする必要があります。 すべての SSO パートナーが同じ idPを使用する場合は、このプロパティーを falseに設定することを検討してください。

このプロパティーが true (デフォルト) に設定されている場合、 sso_<id>.sp.includeCacheKey プロパティーも true (デフォルト) に設定する必要があります。

sso_<id>.sp.EntityID デフォルトでは、このプロパティーは sso_ < id>.sp.acsUrlの値に設定されます。 このプロパティーは、SAML アサーションで AudienceRestriction を検証するために使用されます。
sso_<id>.sp.includeCacheKey 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • いいえ
このプロパティーは、TAI が、要求用に作成される WebSphere サブジェクトのカスタム authCacheキーを生成することを示します。 このプロパティーを false に設定すると、コア・セキュリティーによりキャッシュ・キーが生成されます。

enforceTaiCookie プロパティーが trueに設定されている場合は、このプロパティーを true に設定する必要があります。

sso_<id>.sp.includeCacheKey プロパティーが falseに設定されている場合、サブジェクトはレジストリーから直接構成できます。 サブジェクトがレジストリーから直接構成されると、 SAMLToken はサブジェクトで使用できなくなります。 コア・セキュリティーは、通常は非アクティブまたはキャッシュ・サイズの制限のために authCache でサブジェクトを検出できない場合、有効期限が切れていないサブジェクトを再構成する必要があります。 sso_<id>.sp.includeCacheKeytrue (デフォルト) に設定されている場合、 authCache ヒットが失敗すると、コア・セキュリティーはレジストリーから直接サブジェクトを構成できません。 再認証するには、ユーザーを idP にリダイレクトする必要があります。

sso_<id>.sp.includeToken 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • いいえ
このプロパティーは、ID プロバイダーから受信した SAML アサーションから WebSphere サブジェクト内に作成される SAMLtoken オブジェクトが TAI に含まれることを示します。
以下の各条件では、このプロパティーを true (デフォルト) に設定する必要があります。
  • SAMLToken オブジェクトは、Web サービスに伝搬されます。
  • SAMLToken オブジェクトは、サーバー上のアプリケーションに対して使用可能でなければなりません。

Subject に SAMLToken オブジェクトが必要な場合は、 sso_<id>.sp.includeCacheKey プロパティーを true (デフォルト) に設定する必要があります。

sso_<id>.sp.includeCacheKey プロパティーが falseに設定されている場合、サブジェクトはレジストリーから直接構成できます。 サブジェクトがレジストリーから直接構成されると、 SAMLToken はサブジェクトで使用できなくなります。 コア・セキュリティーは、通常は非アクティブまたはキャッシュ・サイズが原因で、 authCacheでサブジェクトを検出できない場合に、有効期限が切れていないサブジェクトを再構成する必要があります。 sso_<id>.sp.includeCacheKeytrue (デフォルト) に設定されている場合、 authCache ヒットが失敗すると、コア・セキュリティーはレジストリーからサブジェクトを直接構成できません。 再認証するには、ユーザーを idP にリダイレクトする必要があります。

sso_<id>.sp.interceptAdminApp このカスタム・プロパティーに有効な値を 1 つ選択してください:
  • はい
  • false (デフォルト)
SP が管理コンソールなどの管理アプリケーションをインターセプトできるようにするには、このプロパティーを true に設定します。 このプロパティーを trueに設定する場合は、必ず、 wsadmin などのコマンド・ライン・アプリケーションがインターセプトされないようにフィルターを設定してください。 デフォルトでは、フィルターが管理アプリケーションをインターセプトするように設定されていても、このプロパティーが trueに設定されていない限り、TAI はそれをインターセプトしません。
sso_<id>.sp.preserveRequestState 以下のいずれかの値を指定することができます。
  • true (デフォルト)
    クライアント状態は、 IdP ログインにリダイレクトされると保存され、復元されます。
  • いいえ
    クライアント状態が保存されていない
TAI が認証のために要求を IdP にリダイレクトする前に、元の要求 URL とパラメーターを保存しないようにするには、このプロパティーを false に設定します。 このプロパティーを falseに設定すると、要求の復元に WasSamlSpReqURL Cookie は使用されません。 以下の いずれか のアクションが実行されていることを確認する必要があります。
  • targetUrl または sso_<id>.sp.targetUrl SAML TAI プロパティーのいずれかの値を設定します。
  • SAMLResponse ターゲットの URL で RelayState パラメーターを設定してから、 sso_<id>.sp.useRelayStateFortTarget SAML TAI プロパティーを trueに設定します。
sso_<id>.sp.preventReplayAttack 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • いいえ
このプロパティーは、SAML TAI が、2 つの同一の SAML アサーションがクライアント要求で送信されないようにするかどうかを指定するために使用されます。 このプロパティーはグローバル・プロパティー replayAttackTimeWindow と対で使用されます。
sso_<id>.sp.preventReplayAttackScope このプロパティーにはデフォルトはありません。 以下の値を指定できます。
  • サーバー
デフォルトで、SAML TAI はリプレイ・アタックを避けるために、分散キャッシュを使用して SAML アサーション ID を保管します。 このプロパティーを server に設定すると、SAML TAI は代わりにローカル・キャッシュを使用します。
sso_<id>.sp.redirectToIdPonServerSide 以下のいずれかの値を指定することができます。
  • true (デフォルト)
  • いいえ
このプロパティーを使用して、TAI を IdP 自体にリダイレクトすることを示します。 クライアント・サイド・リダイレクトを実行するには、このプロパティーを false に設定します。 リダイレクトで URL フラグメントが失われる場合、このプロパティーを false に設定します。TAI は JavaScript を使用してクライアント・サイドのリダイレクトを実行します。
  • sso_<id>.sp.login.error.page property が SP 開始 SSO を実装するためにクラス名に設定されている場合、このプロパティーの値は無視されます。
  • sso_<id>.sp.useJavaScript プロパティーが値に設定されている場合、このプロパティーの値は無視されます。
sso_<id>.sp.retryOnceAfterTrustFailure 以下のいずれかの値を指定することができます。
  • はい
  • いいえ
トラスト検証が失敗した後にランタイムがトラストストアを再ロードできるようにするには、このプロパティーを true に設定します。 これにより、アプリケーション・サーバー実行中にトラストストアが新しい IdP 証明書で更新されることが許可されます。

[9.0.5.13 以降]sso_<id>.sp.useJavaScript

以下のいずれかの値を指定することができます。
  • はい
  • false (デフォルト)
このプロパティーが true に設定され、要求が IdPにリダイレクトされると、TAI は JavaScriptを使用します。 JavaScript を使用しない場合、元のインバウンド要求に存在するフラグメントはすべて失われます。
  • sso_<id>.sp.login.error.page プロパティーが SP 開始 SSO を実装するためにクラス名に設定されている場合、このプロパティーの値は無視されます。
  • このプロパティーが値に設定されている場合、 redirectToIdPonServerSide プロパティーの値は無視されます。
sso_<id>.sp.userMapImpl このプロパティーに、デフォルト値はありません。 このプロパティーは、カスタム・ユーザー・マッピング・モジュール・クラスの名前を指定します。 これは、SAML アサーション内のユーザー ID を、ローカル・ユーザー・レジストリー内に存在する別のユーザー ID にマップするために使用されます。

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

ユーザー・マッピング・エラーが発生した場合に、 sso_<id>.sp.acsErrorPage カスタム・プロパティーに設定されているエラー・ページ以外のエラー・ページを使用するには、 com.ibm.websphere.security.UserMappingException.setErrorPage メソッドを使用します。

sso_<id>.sp.X509PATH このプロパティーに、デフォルト値はありません。 このプロパティーは、SAML 署名の検証で使用される中間証明書用の証明書ストアを指定します。
sso_<id>.sp.CRLPATH このプロパティーに、デフォルト値はありません。 このプロパティーは、SAML 署名の検証で使用される証明書失効リスト用の証明書ストアを指定します。

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

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

SAML TAI フィルター・プロパティーは、OAuth、OIDC、および SAML Web インバウンド TAI によってサポートされます。

このフィルター・プロパティーは、クライアントの HTTP 要求を処理するための SAML Web SSO プロバイダー・パートナーを選択するために HTTP 要求と比較される一組の条件を指定します。 各条件は、以下の 3 つのエレメントによって指定されます。
入力
入力エレメントは通常、 HTTP ヘッダー名を指定しますが、特殊な入力エレメントを指定するためのキーワードにすることもできます。 サポートされる特殊入力エレメントについては、 表 4 を参照してください。
オペレーター
operator 要素は、入力要素を比較値と比較するためのフィルター演算子を指定します。 フィルター演算子のリストについては、 表 5 を参照してください。
比較値
比較値エレメントは、 HTTP 要求からの情報を比較する値を指定します。
これらの条件は、比較値で指定されている順番に従って、左から右へ向かって評価されます。 HTTP 要求で、SSO サービス・プロバイダー・パートナーによって指定されたすべてのフィルター条件が満たされると、その SSO サービス・プロバイダー・パートナーがその HTTP 要求のために選択されます。
トラブルの回避: SAML TAI は、各 SSO サービス・プロバイダーのフィルター条件に照らしてインバウンド要求を評価します。 要求が複数の SSO サービス・プロバイダーのフィルター条件と一致する場合、要求は拒否されます。

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

HTTP ヘッダー・フィールドに加えて、以下の特殊な入力エレメントをフィルター・プロパティーで使用できます。
表 4。 特殊な入力エレメント
プロパティー名 説明
request-url このフィルターは、クライアント・アプリケーションが要求を行うために使用する URL アドレスと比較します。 この値には、照会ストリングが含まれます。 例 : https://acme.com/app/folder/page.html?abc=123
remote-address このフィルターは、 HTTP 要求を送信したクライアント・アプリケーションの TCP/IP アドレスと比較します。
applicationNames このフィルターは、 HTTP 要求が属するアプリケーションの名前と比較します。

request-uri

このフィルターは、プロトコル名から HTTP 要求の照会ストリングまでの要求 URL の部分と比較します。 この値には、照会ストリングは含まれません。 例えば、 https://acme.com/app/folder/page.html?abc=123 URLの場合、 request-uri/app/folder/page.html です。

[9.0.5.14 以降] request-uri 特殊入力エレメントは、SAML TAI フィルター・プロパティーに対して有効です。

次の表は、フィルター・プロパティーで使用される各種演算子を示しています。
表 5. フィルター・プロパティーの演算子
オペレーター 条件
== この演算子は完全一致を指定します。 入力エレメントが比較値に等しくなければなりません。 From==jones@my.company.com
%= 入力エレメントに比較値を含める必要があります。

user-agent%=IE 6

request-url%=company.com/urlApp1

^= 入力エレメントにいずれかの比較値を含める必要があります。 これは | 演算子と結合できる唯一の演算子です。 値が 1 つしか指定されていない場合、この演算子は %= と同義です。 request-url^=urlApp1|urlApp2| urlApp3
!= 入力エレメントに比較値を含めないでください。 request-url!=test105

[9.0.5.14 以降]~=

入力エレメントは、正規表現として比較値と一致する必要があります。

request-uri~=/ibm/console(?!/images/)(.*).*

MY_HEADER~=^.* (is present)

MY_HEADER~=\0 (is not present)

> 入力エレメントが比較値より大です。 remote-address>192.168.255.130
< 入力エレメントが比較値より小です。 remote-address<192.168.255.135
; 論理 AND 演算子 request-url!=test105;From==jones@my.company.com5

[9.0.5.14 以降]||

論理 OR 演算子 request-uri~=/ibm/console(?!/images/)(.*).*||request-url!=test105;From==jones@my.company.com||request-url%=company.com/urlApp1

バージョン 9.0.5.14より前には、フィルター・プロパティーで使用できる論理 OR 演算子は存在しません。

次の例では、フィルター・プロパティーは、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 パートナーをクライアント要求の処理のために選択します。