14.3. 审计日志
审计日志可让您跟踪数据网格服务器部署的更改,以便您了解何时更改以及哪些用户对其进行更改。启用并配置审计日志记录服务器配置事件和管理操作。
org.infinispan.AUDIT
-
将安全审核消息写入
$RHDG_HOME/server/log
目录中的audit.log
文件中的日志记录类别。
14.3.1. 启用审计日志记录
要记录安全审计消息,您需要在 log4j2.xml
中启用日志记录类别。
流程
-
使用任何文本编辑器打开
$RHDG_HOME/server/conf/log4j2.xml
。 -
将
org.infinispan.AUDIT
logging 类别的级别更改为INFO
。 -
保存并关闭
log4j2.xml
。
<!-- Set to INFO to enable audit logging --> <Logger name="org.infinispan.AUDIT" additivity="false" level="INFO"> <AppenderRef ref="AUDIT-FILE"/> </Logger>
14.3.2. 配置审计日志的附加器
Apache Log4j 提供不同的附加器,可用于将审计消息发送到默认日志文件以外的目的地。例如,如果要将审计日志发送到 syslog 守护进程、JDBC 数据库或 Apache Kafka 服务器,您可以在 log4j2.xml
中配置附加程序。
流程
-
使用任何文本编辑器打开
$RHDG_HOME/server/conf/log4j2.xml
。 注释或删除默认
AUDIT-FILE
滚动文件 appender。<!--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
。
其他资源
14.3.3. 使用自定义审计日志记录实现
如果配置 Log4j 附加器没有满足您的需要,您可以创建 org.infinispan.security.AuditLogger
API 的自定义实现。
先决条件
-
根据需要实施
org.infinispan.security.AuditLogger
,并将它打包在 JAR 文件中。
流程
-
将您的 JAR 添加到 Data Grid Server 安装中的
server/lib
目录中。 指定自定义审计日志记录器的完全限定类名称,作为 cache 容器安全配置中
authorization
元素的值。例如,以下配置定义了
my.package.CustomAuditLogger
作为日志记录审核信息的类:<infinispan> <cache-container> <security> <authorization audit-logger="my.package.CustomAuditLogger"/> </security> </cache-container> </infinispan>