SAML アサーション レスポンスのカスタマイズ(オプション)

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