オブジェクトイベントの監査
Liferay 7.4 U72+/GA72+
Liferayの監査フレームワークを使用すると、カスタムオブジェクト定義とそのエントリに関するイベントを追跡できます。 エントリーイベントを追跡するには、オブジェクト定義のエントリー履歴を有効にする必要があります。 有効になっている間は、 監査アプリケーション または REST APIを介してエントリの履歴を表示できます。
監査アプリケーションの使用
変更通知を受け取る(購読する)
監査アプリケーションにアクセスするには、 グローバルメニュー (
) → コントロールパネル を開き、 監査 をクリックします。
![[コントロールパネル]の[監査]をクリックすると、オブジェクト定義に関連するイベントが表示されます。](https://resources.learn.liferay.com/images/dxp/latest/en/low-code/objects/creating-and-managing-objects/auditing-object-events/images/01.png)
イベントは表形式で表示されます。
| 列 | Description |
|---|---|
| ユーザーID | 代理ユーザーのID。 |
| ユーザー名 | 代理ユーザーのID。 |
| リソースID | 影響を受けるリソースのID。 |
| リソース名 | 影響を受けるリソースの名前とそのID(例:ObjectDefinition#44168)。 |
| リソースアクション | 実行されたアクション (ADD、 UPDATE、または DELETE)。 |
| クライアントIP | アクションの役割を担うIPアドレス。 |
| 作成日時 | イベントレコードが作成された日時。 |
イベントフィールドをクリックすると、具体的なアクションの詳細を含む、より完全な記録が表示されます。 キーワードやその他の用語を使って検索結果を検索・絞り込むことができます。
オブジェクトエントリイベントでは、 ObjectDefinition#[ObjectID] という命名パターンが使用されます。

追跡対象エンティティとイベント
監査アプリケーションは、以下のオブジェクト関連エンティティのイベントを追跡します。
-
ObjectDefinition、ObjectField、ObjectFieldSetting、ObjectRelationship、ObjectValidationRule、およびObjectActionのスキーマ変更。 -
ObjectLayout(ボックス、列、行、タブを含む) およびObjectView(列とソート列を含む) の UI 構成変更。 -
ObjectEntryおよびObjectEntryVersionのエントリが変更されます(イベントのみ削除)。
オブジェクトエントリを監査するには、エントリ履歴を有効にする必要があります。 エントリー・バージョンの削除を監査するには、オブジェクト定義のオブジェクト・エントリーのバージョニングも有効にする必要があります。
REST APIの使用
nestedFields パラメーターと auditEvents 値を使用すると、GET API 呼び出しでエントリの履歴を返すことができます (例: http://localhost:8080/o/c/tickets/?nestedFields=auditEvents)。 基本的なチュートリアルについては、 nestedFields を使用してエントリ履歴を監査する を参照してください。
REST API を使用してエントリの履歴を表示するには、エントリに対して View と Object Entry History の両方の権限が必要です。 詳細については、 権限フレームワーク統合 を参照してください。
エントリー履歴を有効にする
デフォルトでは、カスタムオブジェクトのエントリー履歴は無効になっています。 7.4 U72+/GA72+の場合、この設定はいつでも変更できます。 以前のバージョンでは、この設定はオブジェクト定義をパブリッシュする前にしか構成できませんでした。
エントリ履歴を有効にするには、
-
グローバルメニュー(
)を開き、[コントロールパネル]タブに移動し、[オブジェクト]をクリックします。 -
目的のオブジェクト定義の編集を開始します。
-
詳細タブで、 エントリ履歴を有効にする を切り替えます。

-
[保存]をクリックします。
有効にすると、Liferayはエントリイベントの履歴を保持し、監査アプリケーションまたはREST API呼び出しを介してその履歴を表示できます。