14.3. 审计日志

审计日志可让您跟踪数据网格服务器部署的更改,以便您了解何时更改以及哪些用户对其进行更改。启用并配置审计日志记录服务器配置事件和管理操作。

org.infinispan.AUDIT
将安全审核消息写入 $RHDG_HOME/server/log 目录中的 audit.log 文件中的日志记录类别。

14.3.1. 启用审计日志记录

要记录安全审计消息,您需要在 log4j2.xml 中启用日志记录类别。

流程

  1. 使用任何文本编辑器打开 $RHDG_HOME/server/conf/log4j2.xml
  2. org.infinispan.AUDIT logging 类别的级别更改为 INFO
  3. 保存并关闭 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 中配置附加程序。

流程

  1. 使用任何文本编辑器打开 $RHDG_HOME/server/conf/log4j2.xml
  2. 注释或删除默认 AUDIT-FILE 滚动文件 appender。

    <!--RollingFile name="AUDIT-FILE"
      ...
    </RollingFile-->
  3. 为审计消息添加所需的日志记录附加程序。

    例如,您可以为 Kafka 服务器添加日志附加程序,如下所示:

    <Kafka name="AUDIT-KAFKA" topic="audit">
      <PatternLayout pattern="%date %message"/>
      <Property name="bootstrap.servers">localhost:9092</Property>
    </Kafka>
  4. 保存并关闭 log4j2.xml

其他资源

14.3.3. 使用自定义审计日志记录实现

如果配置 Log4j 附加器没有满足您的需要,您可以创建 org.infinispan.security.AuditLogger API 的自定义实现。

先决条件

  • 根据需要实施 org.infinispan.security.AuditLogger,并将它打包在 JAR 文件中。

流程

  1. 将您的 JAR 添加到 Data Grid Server 安装中的 server/lib 目录中。
  2. 指定自定义审计日志记录器的完全限定类名称,作为 cache 容器安全配置中 authorization 元素的值。

    例如,以下配置定义了 my.package.CustomAuditLogger 作为日志记录审核信息的类:

    <infinispan>
       <cache-container>
          <security>
             <authorization audit-logger="my.package.CustomAuditLogger"/>
          </security>
       </cache-container>
    </infinispan>