トラスト・アソシエーション・インターセプター (TAI) を使用して、サード・パーティーのセキュリティー・サービスと統合するように Liberty を構成できます。TAI は、シングル・サインオンの前または後に呼び出すことができます。
始める前に
リバース・プロキシー・サーバーとしてサード・パーティーの
セキュリティー・サーバーを既にインストール済みであることを確認してください。このサード・パーティーのセキュリティー・サーバーは、プロキシー・サーバーによって渡された結果のクレデンシャルに対して
Liberty サーバーが独自の許可ポリシーを適用する場合に、フロントエンド認証サーバーとして機能することができます。また、
com.ibm.wsspi.security.tai.TrustAssociationInterceptor インターフェースを実装するカスタム TAI クラスを含んでいる JAR ファイルも必要です。
注: この JAR ファイルの変更をモニターすることはサポートされていません。
このタスクについて
TAI は、サード・パーティーのセキュリティー・サーバーと Liberty サーバーの間で HTTP 要求を検証するために使用されます。TAI は、サード・パーティーのセキュリティー・サーバー
からの HTTP 要求を検査して、要求にセキュリティー属性が
含まれているかどうかを調べます。TAI による要求検証プロセスが成功すると、Liberty サーバーは、リソースにアクセスするための必要なアクセス権をクライアント・ユーザーが持っているかどうかを確認することによって、要求を許可します。
カスタム TAI について、および LTPA を使用した SSO 構成
について詳しくは、『Liberty のカスタム TAI の開発』および『Liberty での LTPA Cookie を使用した SSO 構成のカスタマイズ』を参照してください。
手順
- server.xml ファイルで appSecurity-2.0
Liberty フィーチャーを使用可能にします。
<featureManager>
<feature>appSecurity-2.0</feature>
</featureManager>
- アプリケーションを Liberty サーバーにデプロイし、jsp-2.2 および jdbc-4.0 などのすべての Liberty フィーチャーを使用可能にします。
- TAI 実装ライブラリー simpleTAI.jar をサーバー・ディレクトリーに配置します。
- TAI 構成オプションと TAI 実装ライブラリーのロケーションによって、server.xml ファイルを更新します。
以下の
server.xml ファイルでは、カスタム TAI が使用可能になっていますが、保護されていない URI の認証は行われず、TAI 認証が失敗した場合、アプリケーション認証メソッドへのフォールバックは許可されません。例に示すように、TAI をサポートするために以下の構成エレメントが提供されています。
- trustAssociation
- interceptors
- properties
<trustAssociation id="myTrustAssociation" invokeForUnprotectedURI="false"
failOverToAppAuthType="false">
<interceptors id="simpleTAI" enabled="true"
className="com.sample.SimpleTAI"
invokeBeforeSSO="true" invokeAfterSSO="false" libraryRef="simpleTAI">
<properties prop1="value1" prop2="value2"/>
</interceptors>
</trustAssociation>
<library id="simpleTAI">
<fileset dir="${server.config.dir}" includes="simpleTAI.jar"/>
</library>
...
注: プロパティー名の先頭をピリオド (.)、config.、および service にすることはできません。
また、プロパティー名 id および ID は許可されません。
注: デフォルトで、invokeBeforeSSO プロパティーは true に設定されています。この設定を使用すると、SSO トークンが存在し、有効な場合でも、TAI が呼び出されます。ただし、SSO トークンが無効か存在しない場合にのみ TAI を呼び出すという動作を予期している場合は、このプロパティーを false に設定し、invokeAfterSSO プロパティーを使用可能にすることにより、このプロパティーを使用不可にすることができます。この設定を使用すると、SSO トークンが存在しないか無効な場合にのみ、TAI が呼び出されます。場合によっては、このセットアップによりシステムのパフォーマンスが向上する可能性があります。
<trustAssociation> エレメント、
<interceptors> エレメント、および <properties> エレメントについて詳しくは、JMX REST Connector 1.0 を参照してください。