Sun Identity Manager 8.1 ビジネス管理者ガイド

タイミング監査イベントをログするためのワークフローの変更

ワークフローレポートのサポートとして、計時イベントをログに記録するようにワークフローを変更できます (「ワークフローレポート」)。標準監査イベントではイベントが発生したことのみをログしますが、タイミング監査イベントではイベントの開始時刻と停止時刻を記録して、時間計算の実行を可能にします。計時イベントデータに加えて、標準監査イベントでログに記録される情報の大部分が格納されます。詳細については、「タイミング監査イベントで格納される情報」を参照してください。


注 –

タイミング監査イベントをログに記録するには、監査を行うワークフロータイプごとに、ワークフローの監査を有効にする必要があります。

ワークフローの監査を行うとパフォーマンスは低下します。


例 10–3 に、タイミング監査イベントの作成に必要なコードを示します。タイミング監査イベントをログするには、op 引数を auditWorkflow に設定します。

action 引数も必須で、次のいずれかの値に設定します。

auditconfig.xml にそのほかの action 引数も定義できます。

例: ワークフローでの監査イベントの開始と停止

例 10–3 は、ワークフローでタイミング監査イベントを有効にする場合を示しています。ワークフローを設定するには、ワークフロー、プロセス、アクティビティーの最初と最後に auditWorkflow イベントを追加してください。

auditWorkflow の処理は com.waveset.session.WorkflowServices で定義されています。詳細については、com.waveset.session.WorkflowServices アプリケーション」を参照してください。


例 10–3 ワークフローでのタイミング監査イベントの開始


<Action application=’com.waveset.session.WorkflowServices’> 
<Argument name=’op’ value=’auditWorkflow’/> 
<Argument name=’action’ value=’StartWorkflow’/> 
</Action>

ワークフローでタイミング監査イベントのログを停止するには、ワークフローの終わりにある pre-end アクティビティーに例 10–4 のコードを追加します。ワークフローまたはプロセスの設定時には、end アクティビティーには何も追加できません。最後の auditWorkflow イベントの実行後、無条件に end イベントに移行する pre-end アクティビティーを作成してください。


例 10–4 ワークフローでのタイミング監査イベントの停止


<Action application=’com.waveset.session.WorkflowServices’> 
<Argument name=’op’ value=’auditWorkflow’/> <Argument name=’action’ value=’EndWorkflow’/> 
</Action>

タイミング監査イベントで格納される情報

デフォルトでは、タイミング監査イベントは、次に示す属性など通常の監査イベントで保存されるほとんどの情報をログに記録します。

属性  

説明  

WORKFLOW

実行中のワークフローの名前 

PROCESS

実行中の現在のプロセスの名前 

INSTANCEID

実行中のワークフローの一意のインスタンス ID 

ACTIVITY

イベントがログされているアクティビティー 

MATCH

ワークフローインスタンス内での一意の識別子 

これらの属性は auditableAttributesList にあり、logattr テーブルに格納されます。Identity Manager は、workflowAuditAttrConds 属性が定義されているかどうかもチェックします。

プロセスまたはワークフローの 1 つのインスタンス内でアクティビティーを複数回呼び出すことができます。監査イベントを特定のアクティビティーインスタンスと対応させるために、ワークフローインスタンス内で一意の識別子が logattr テーブルに格納されます。

ワークフローの logattr テーブルに追加の属性を格納するには、workflowAuditAttrConds リストを定義します。 これは GenericObjects のリストと見なされます。workflowAuditAttrConds リストに attrName 属性を定義すると、Identity Manager はコード内のオブジェクトから attrName を取得します。最初に attrName をキーとして使用し、続いて attrName 値を保存します。すべてのキーと値は、大文字の値として記録されます。