15.3. 監査ログ
監査ログを使用すると、Data Grid Server デプロイメントへの変更を追跡できるため、変更がいつ発生し、どのユーザーが変更を加えたかを知ることができます。監査ロギングを有効にして、サーバー設定イベントと管理操作を記録するように設定します。
org.infinispan.AUDIT
-
セキュリティー監査メッセージを
$RHDG_HOME/server/log
ディレクトリーのaudit.log
ファイルに書き込むロギングカテゴリー。
15.3.1. 監査ログの有効化
セキュリティー監査メッセージを記録するには、log4j2.xml
でロギングカテゴリーを有効にする必要があります。
手順
-
任意のテキストエディターで
$RHDG_HOME/server/conf/log4j2.xml
を開きます。 -
org.infinispan.AUDIT
のロギングカテゴリーのレベルをINFO
に変更します。 -
log4j2.xml
を保存し、閉じます。
<!-- Set to INFO to enable audit logging --> <Logger name="org.infinispan.AUDIT" additivity="false" level="INFO"> <AppenderRef ref="AUDIT-FILE"/> </Logger>
15.3.2. 監査ロギングアペンダーの設定
Apache Log4j は、監査メッセージをデフォルトのログファイル以外の宛先に送信するのに使用するさまざまなアペンダーを提供します。たとえば、監査ログを syslog デーモン、JDBC データベース、または Apache Kafka サーバーに送信する場合は、log4j2.xml
にアペンダーを設定できます。
手順
-
任意のテキストエディターで
$RHDG_HOME/server/conf/log4j2.xml
を開きます。 デフォルトの
AUDIT-FILE
ローリングファイルアペンダーをコメント化するか削除します。<!--RollingFile name="AUDIT-FILE" ... </RollingFile-->
監査メッセージに必要なロギングアペンダーを追加します。
たとえば、以下のように Kafka サーバーのロギングアペンダーを追加できます。
<Kafka name="AUDIT-KAFKA" topic="audit"> <PatternLayout pattern="%date %message"/> <Property name="bootstrap.servers">localhost:9092</Property> </Kafka>
-
log4j2.xml
を保存し、閉じます。
関連情報
15.3.3. カスタム監査ロギング実装の使用
Log4j アペンダーの設定がニーズを満たさない場合は、org.infinispan.security.AuditLogger
API のカスタム実装を作成できます。
前提条件
-
必要に応じて
org.infinispan.security.AuditLogger
を実装し、JAR ファイルにパッケージ化します。
手順
-
JAR を Data Grid Server インストールの
server/lib
ディレクトリーに追加します。 カスタム監査ロガーの完全修飾クラス名を、キャッシュコンテナーのセキュリティー設定の
authorization
要素のaudit-logger
属性の値として指定します。たとえば、以下の設定では、ロギング監査メッセージのクラスとして
my.package.CustomAuditLogger
を定義します。<infinispan> <cache-container> <security> <authorization audit-logger="my.package.CustomAuditLogger"/> </security> </cache-container> </infinispan>