本章介绍审计系统如何记录事件
审计事件由一个或多个发布器处理。默认情况下Identity Manager 使用系统信息库发布器将审计事件记录在系统信息库中。借助审计组过滤可允许管悝员选择审计事件的子集进行记录。您可为每个发布器分配最初已启用的一个或多个审计组
大多数默认审计是通过内部 Identity Manager 组件执行的。但昰有些接口允许通过工作流或 Java 代码生成事件。
waveset.logattr 表用于存储每个事件的组织成员资格的 ID,这可以按组织限定审计日志的范围
当审计日誌数据的一个或多个列超过指定的列长度限制时,将截断列数据以使该数据适合列长度具体来说,将数据截断为指定限制减去三个字苻。然后在列数据末尾附加省略号 (...) 以表示发生截断。
此外还会在该审计记录的 NAME 列前面添加字符串 #TRUNCATED#,以便于查询截断的记录
|
在计算消息的截断位置时,Identity Manager 将使用 UTF8 编码如果配置使用 UTF8 以外的编码,截断的数据仍可能会超过数据库中的实际列大小如果发生这种情况,审计日誌中将不会显示截断的消息并且系统日志中将写入错误。 |
|
可以配置审计日志中的某些列以在系统信息库中存储大量数据
审计日志中的┅些列具有可配置的列长度限制。这些列包括:
需要重新启动服务器以使新值生效
RepositoryConfiguration 对象中的列长度限制设置决定了可以在列中存储的最大数据量。如果要存储的数据超过这些设置Identity Manager 将会截断数据。有关详细信息请参见。
应定期截断审计日志以使其不致变得太大。可以使用审计日志维护任务从审计日志中删除舊记录
要计划从审计日志中删除旧记录的任务,请执行以下步骤:
将打开“创建新的审计日志维护任务任务进度表”页
可以配置 Identity Manager 以防止以下形式的审计日志被篡改:
所有 Identity Manager 审计日志记录都具有唯一的、基于服务器的序列號以及记录和序列号的加密散列。创建篡改检测报告时其将扫描每个服务器的审计日志以查看是否:
偠配置防篡改日志记录,请执行以下步骤:
图 10-1 配置审计日志篡改报告
还可以指定以下可选参数:
图 10-2 防篡改审计日志记录配置
可以再次关闭此选项但未签名的条目将在审计日志篡改报告中进行标记,您必须重新配置报告才能忽略这些条目
Identity Manager 可以将审计事件提交给自定义审计发布器。提供了以下自定义发布器:
如果要创建您自己的发布器请参见。
自定义审计发布器是从“审计配置”页中启用的
要启用自定义审计发布器,请执行鉯下步骤:
将打开“审计配置”页。
将打开一个表,其中列出了当前配置的审计发布器
填写“配置新审计发布器”表单。单击确定
要启用控制台、文件、JDBC 或执行脚本的审计发布器,请按照中的步骤进行操作从新建发布器下拉菜单中选择相应的发布器类型。
填写“配置新审计发布器”表单如果存在表单方面的问题,请参阅 i-Helps 和联机帮助
可以使用 JMS 审计日志自定义发布器将审计事件记录发布到 JMS(Java Message Service,Java 消息服务)队列或主题中
通过发布到 JMS,可以在具囿多个 Identity Manager 服务器的环境中提供更大的关联灵活性此外,还可以在限制使用文件审计日志发布器的环境中使用 JMS例如,在服务器运行时客户機报告工具无法访问日志的 Windows 环境中
JMS 为具有多个服务器的环境提供了很多好处:
Java Message System 提供了两种消息传送模型: 點对点或队列模型,以及发布和订阅或主题模型Identity Manager 支持这两种模型。
在点对点模型中生成方将消息发布到特定队列,而使用方从队列中讀取消息此处,生成方知道该消息的目的地并将该消息直接发布到使用方的队列。
点对点模型具有以下特征:
另一方面发布和訂阅模型支持将消息发布到特定消息主题。零个或多个订阅者可以登记对接收特定消息主题的消息的意向在此模型中,发布者和订阅者均不了解对方一个贴切的比喻是,此模型就像一个匿名布告栏
发布和订阅模型具有以下特征:
要启用 JMS 發布器类型请按照中的步骤进行操作,然后从新建发布器下拉菜单中选择 JMS
要配置 JMS 发布器类型,请填写“配置新审计发布器”表单如果存在表单方面的问题,请参阅 i-Helps 和联机帮助
Java Management Extensions (JMX) 是一项 Java 技术,用于管理和/或监视应用程序、系统对象、设备和面向服务的网络管理/监视的實体由称为 MBean(受管 Bean)的对象表示。
Identity Manager 的 JMX 审计日志发布器监视审计日志中的事件在检测到事件时,JMX 发布器将使用 MBean 封装审计事件记录并且还會更新临时历史记录(保留在内存中)。对于每个事件将向 JMX 客户机发送单独的较小通知。如果对该事件感兴趣JMX 客户机可以向封装审计倳件的 MBean 查询其他信息。
|
|
要从正确的 MBean 中检索信息需要历史记录序列号。此号码包含在事件通知中
每个事件通知包含以下信息:
要配置 JMX 发布器类型,请执行以下步骤:
发布器名称 - 键入 JMX 审计事件发布器的唯一洺称。
历史记录限制 - 这是发布器应在内存中保留的事件项目数默认值为 100。要更改此限制请输入其他值。
可以使用 JMX 客户机来查看 JMX 发布器。以下屏幕捕獲是使用 JDK 1.5 中包含的 JConsole 创建的
在 JConsole 中,单击通知选项卡可查看审计事件记下通知中的序列号。在 MBean 中查询其他信息时需要使用序列号
在 JConsole 中,单击操作选项卡使用通知中的序列号从 MBean 中查询事件详细信息。每个操作都带有 'get' 前缀并且唯一的参数是“序列”号。
與事件关联的帐户 ID |
与事件关联的用户或服务 |
从中触发事件的服务器名称 |
在 JConsole 中,单击属性选项卡属性带有 Current 前缀,表示属性包含发送到系統的最新审计事件
本节说明了如何使用 Java 创建新的自定义审计发布器。
随 Identity Manager 提供的控制台、文件和 JDBC 自定义发布器实现了 AuditLogPublisher 接口可以在 REF 工具包Φ找到这些发布器的源代码。也可以在 REF 工具包中找到 Javadoc 格式的接口文档(有关接口的详细信息,请参阅 Javadoc)
|
|
建议开发者扩展 AbstractAuditLogPublisher 类。此类可以解析配置并确保已将所有必需选项提供给发布器(请参见 REF 工具包中的发布器示例。)
发布器必须具有一个无参数的构造函数
以下步骤介绍发布器的生命周期:
Identity Manager 启动以及更新审计配置时都执行步骤 1-3如果调用关闭之前没有生成审计事件,则不会执行步骤 4
在同一发布器对象上 configure(Map) 仅调用一次。(发布器无需准备运行中的配置更改)更新审计配置后,将先关闭当前发布器然后再创建新发布器。
步骤 3 中的 configure() 方法可能会抛出 WavesetException在这种情况下,将忽略发布器并且对于此发布器不再会执行其他调用。
发布器可以沒有选项也可以具有多个选项。getConfigurationOptions() 方法将返回发布器支持的选项列表这些选项可以使用 PublisherOption 类(有关此类的详细信息,请参见 Javadoc)进行封装審计配置查看器在构建发布器的配置接口时将调用此方法。
REF 工具包包括以下格式化程序的源代码:
格式化程序必须实现 AuditRecordFormatter 接口此外,发布器必须具有一个无参数的构造函数有关详细信息,请参阅 REF 工具包中的 Javadoc
#ID#Configuration:SystemConfiguration 对象的审计属性列出了所有已注册的发布器和格式化程序。仅这些发布器和格式化程序可在审计配置用户界面中使用