エージェントキーは通常以下の4種類が1セットとなります。
- PERSISTENT
- NEXT
- LAST
- CURRENT
これはWeb Agent起動時のAgentログ出力で確認できます。INFOレベルのメッセージとして以下の内容メッセージ(抜粋)が各キーについて2行ずつ計8行出力されます。
ADMIN: Received key update attribute 'KEY_UPDATE_PERSISTENT'.
ADMIN: Successfully processed key update attribute 'PERSISTENT'.
ADMIN: Received key update attribute 'KEY_UPDATE_LAST'.
ADMIN: Successfully processed key update attribute 'LAST'.
ADMIN: Received key update attribute 'KEY_UPDATE_NEXT'.
ADMIN: Successfully processed key update attribute 'NEXT'.
ADMIN: Received key update attribute 'KEY_UPDATE_CURRENT'.
ADMIN: Successfully processed key update attribute 'CURRENT'.
しかし、何らかの要因でエージェントキーが重複して複数セットが存在すると、このメッセージ出力も重複して16行や24行などの出力となることがあります。このような場合、認証・許可処理において予期せぬエラーが発生する可能性があります。
Release: r12.5x
Component: SMPLC
以下の手順を実行してエージェントキーが4種類1セットの正しい構成となるようにしてください。
1. 既存のキーストア情報をエクスポートする(バックアップのため)。
実行コマンド: smkeyexport -o<output_file> -d<admin_name> -w<admin_password>
2. 一つのPolicy Serverのみ「エージェントキー生成を有効にする」設定とする(管理コンソールで実行)。
更に、「エージェントキー生成を有効にする」の設定をオフにしたPolicy Serverについては、追加のレジストリEnableKeyUpdateの設定が必要です。
Windows 32 bit: "HKEY_LOCAL_MACHINE\software\netegrity\SiteMinder\CurrentVersion\ObjectStore"
Windows 64 bit: "HKEY_LOCAL_MACHINE\software\wow6432node\netegrity\SiteMinder\CurrentVersion\ObjectStore"
キーと値: EnableKeyUpdate=1
3. (複数のPolicy Serverが存在する場合)全てのPolicy Serverを停止する。
4. キーストア上の全てのエージェントキーを削除する。
a) LDAPの場合
Directoryサーバの管理ツールを用いて以下の属性を持つオブジェクトを削除します。またはldapmodifyコマンドを用いて削除します。
objectClass: smAgentKey4
b) RDBMSの場合
RDBMSの管理ツールまたはSQL文を用いてsmagentkey4テーブルのエントリを削除します。
5. ステップ2においてエージェントキーの生成が有効となっているPolicy Serverのみを起動し、エージェントキーが生成されていることを確認する。
6. 管理UIから「管理」タブ→「ポリシーサーバ」→「キー管理」→「エージェントキー管理」と進み、キーの生成方法を指定する(スタティックキーの使用にあたってはロールオーバーを実施)。
7. (複数のPolicy Serverが存在する場合)他のPolicy Serverを起動する。
8. Web Agentを起動し、Agentログにおいて4種類が1セットのエージェントキーがアップデートされていることを確認する。
この情報は、サポートオンラインに掲載されている以下のナレッジベースを翻訳したものです。
Article Id: 50770 - How to Clean up a SiteMinder Key Store?