SAML アサーション レスポンスのカスタマイズ(オプション)
目次
sm1252sp1jjp
目次
2
sm1252sp1jjp
アサーション ジェネレータ プラグインを使用して、アサーションの内容を変更できます。プラグインでは、パートナーとの間の業務契約およびベンダーとの間の業務契約を使用して、アサーションの内容をカスタマイズできます。パートナーごとに、1 つのプラグインが許可されます。
アサーション ジェネレータ プラグインを設定する手順は次のとおりです。
- SDK をインストールします(未インストールの場合)。
- AssertionGeneratorPlugin.java インターフェース(SDK に含まれています)を実装します。
- アサーション ジェネレータ プラグイン実装クラスを展開します。
- 管理 UI でアサーション ジェネレータ プラグイン パラメータを有効にします。
アサーション ジェネレータ プラグインに関する追加の情報は、以下を参照してください。
- 参照情報(メソッドの署名、パラメータ、戻り値、データ型)、および UserContext クラスの新規コンストラクタが「Javadoc Reference」にあります。Javadoc の AssertionGeneratorPlugin インターフェースを参照してください。
- 認証および認可の API に関する概要および概念情報については、「Java 用 プログラミング ガイド」を参照してください。
AssertionGeneratorPlugin の実装
sm1252sp1jjp
カスタム アサーション ジェネレータ プラグインの作成の最初の手順は、AssertionGeneratorPlugin インターフェースの実装です。
以下の手順に従います。
- パラメータが含まれない公のデフォルト コンストラクタ メソッドを提供します。
- 実装がステートレスになるように、コードを提供します。多数のスレッドが 1 つのプラグイン クラスを使用できる必要があります。
- 要件を満たすようにインターフェースにメソッドを実装します。実装には、customizeAssertion メソッドへのコールが含まれる必要があります。既存の実装を上書きできます。例については、以下のサンプル クラスを参照してください。SAML 1.x / WS フェデレーションAssertionSample.javaSAML 2.0SAML2AssertionSample.javaサンプル クラスは、/sdk/samples/assertiongeneratorplugin ディレクトリにあります。実装によって customizeAssertion メソッド内に渡されるパラメータ文字列のコンテンツは、カスタム オブジェクトから提供されます。
アサーション ジェネレータ プラグインの展開
sm1252sp1jjp
AssertionGeneratorPlugin インターフェースの実装クラスをコード化した後、それをコンパイルし、が実行可能ファイルを検索できることを確認します。
アサーション ジェネレータ プラグインを展開する方法
- アサーション プラグイン Java ファイルをコンパイルします。コンパイルには以下の .jar ファイルが必要となります。これらのファイルは、ポリシー サーバと共にインストールされています。
- policy_server_home/bin/jars/SmJavaApi.jar
- policy_server_home/bin/thirdparty/xercesImpl.jar
- policy_server_home/bin/endorsed/xalan.jar
- JVMOptions.txt ファイルで、プラグインのクラスパスをインクルードするように、-Djava.class.path 値を変更します。この変更により、変更されたクラスパスによるプラグインのロードが可能になります。installation_home\siteminder\config ディレクトリの JVMOptions.txt ファイルの場所を特定します。注: xercesImpl.jar、xalan.jar、SMJavaApi.jar のクラスパスを変更しないでください。
- プラグインを有効化します。
アサーション ジェネレータ プラグインの有効化
アサーション ジェネレータ プラグインを記述してコンパイルしたら、管理 UI で設定することによりこのプラグインを有効にします。UI パラメータにより、はプラグインの場所を認識できます。
プラグインを展開するまで、プラグイン設定を実行しないでください。
以下の手順に従います。
- 管理 UI にログオンします。
- [フェデレーション]-[レガシー フェデレーション]-[アフィリエイト]をクリックします。
- 既存のアフィリエイト エントリを選択するか、新規に作成します。
- [一般]設定に移動します。
- [アサーション ジェネレータ プラグイン]セクションで、以下のフィールドに入力します。
- Java クラス名既存のプラグインの Java クラス名を指定します。プラグイン クラスは、アサーションの解析および変更を行った後、最終的な処理のために結果をアサーション ジェネレータに返すことができます。各アフィリエイトには 1 つのプラグインのみが対応します。たとえば、次のようになります。com.mycompany.assertiongenerator.AssertionSample
- パラメータ(オプション)[Java クラス名]フィールドで指定されたプラグインに渡されるパラメータ文字列を指定します。
注:管理 UI によってアサーション プラグインを有効にする代わりに、ポリシー管理 API (C または Perl)を使用して、プラグインを統合することができます。 - ポリシー サーバを再起動します。ポリシー サーバを再起動することにより、再コンパイル後に最新のアサーション プラグインのバージョンが選択されます。