Identity Manager 可以将审计事件提交给自定义审计发布器。
提供了以下自定义发布器:
控制台。将审计事件打印到标准输出或标准错误。
文件。将审计事件写入平面文件。
JDBC。在 JDBC 数据存储中记录审计事件。
JMS。在 JMS 队列或主题中记录审计事件。
JMX。发布审计事件,以使 JMX (Java Management Extensions) 客户机可以监视 Identity Manager 审计日志活动。
脚本化。允许使用自定义脚本存储审计事件。
如果要创建您自己的发布器,请参见开发自定义审计发布器。
本节中的信息包含以下主题:
自定义审计发布器是从“审计配置”页中启用的。
在管理员界面中,单击主菜单中的“配置”,然后单击次级菜单中的“审计”。
将打开“审计配置”页。
选择页面底部的“使用自定义发布器”选项。
将打开一个表,其中列出了当前配置的审计发布器。
要配置新的审计发布器,请从“新建发布器”下拉菜单中选择自定义发布器类型。
填写“配置新审计发布器”表单。单击“确定”。
要点!请单击“保存”以保存新的审计发布器!
要启用控制台、文件、JDBC 或执行脚本的审计发布器,请按照启用自定义审计发布器中的步骤进行操作。从“新建发布器”下拉菜单中选择相应的发布器类型。
填写“配置新审计发布器”表单。如果存在表单方面的问题,请参阅 i-Helps 和联机帮助。
控制台审计发布器用于将审计事件打印到标准输出或标准错误。
文件审计发布器用于将审计事件写入平面文件。
JDBC 审计发布器用于在 JDBC 数据存储中记录审计事件。
执行脚本的审计发布器允许使用 JavaScript 或 BeanShell 编写自定义脚本以存储审计事件。
可以使用 JMS 审计日志自定义发布器将审计事件记录发布到 JMS(Java Message Service,Java 消息服务)队列或主题中。
通过发布到 JMS,可以在具有多个 Identity Manager 服务器的环境中提供更大的关联灵活性。此外,还可以在限制使用文件审计日志发布器的环境中使用 JMS,例如,在服务器运行时客户机报告工具无法访问日志的 Windows 环境中。
JMS 为具有多个服务器的环境提供了很多好处:
JMS 消息存储集中处理(并简化)消息存储和检索。
JMS 体系结构不限制可访问服务的客户机数。
可通过防火墙和其他网络基础结构方便地发送 JMS 协议。
Java Message System 提供了两种消息传送模型:点对点或队列模型,以及发布和订阅或主题模型。Identity Manager 支持这两种模型。
在点对点模型中,生成方将消息发布到特定队列,而使用方从队列中读取消息。此处,生成方知道该消息的目的地,并将该消息直接发布到使用方的队列。
点对点模型具有以下特征:
只有一个使用方将获得消息。
不必在接收者使用消息时运行生成方,也不需要在发送消息时运行接收者。
接收者将确认成功处理的每条消息。
另一方面,发布和订阅模型支持将消息发布到特定消息主题。零个或多个订阅者可以登记对接收特定消息主题的消息的意向。在此模型中,发布者和订阅者均不了解对方。一个贴切的比喻是,此模型就像一个匿名布告栏。
发布和订阅模型具有以下特征:
多个使用方可以接收消息。
发布者和订阅者之间存在计时依赖关系。发布者必须先创建一个订阅,然后客户机才能进行订阅。在订阅后,除非已建立持久订阅,否则订阅者必须持续处于活动状态才能接收消息。对于持久订阅,在订阅者未连接时发布的消息将在订阅者重新连接时重新分发。
有关 JMS 的详细信息,请访问 http://www.sun.com/software/products/message_queue/index.xml
JMS 发布器将审计事件设置为 JMS TextMessage 格式。然后,根据配置情况将这些 TextMessage 发送到队列或主题。可以根据配置情况将文本消息的格式设置为 XML 或通用日志记录格式 (Universal Logging Format, ULF)。
要启用 JMS 发布器类型,请按照启用自定义审计发布器中的步骤进行操作,然后从“新建发布器”下拉菜单中选择 "JMS"。
要配置 JMS 发布器类型,请填写“配置新审计发布器”表单。如果存在表单方面的问题,请参阅 i-Helps 和联机帮助。
JMX 审计日志发布器发布审计事件,以使 JMX (Java Management Extensions) 客户机能够监视 Identity Manager 审计日志活动。
Java Management Extensions (JMX) 是一项 Java 技术,用于管理和/或监视应用程序、系统对象、设备和面向服务的网络。管理/监视的实体由称为 MBean(受管 Bean)的对象表示。
Identity Manager 的 JMX 审计日志发布器监视审计日志中的事件。在检测到事件时,JMX 发布器将使用 MBean 封装审计事件记录,并且还会更新临时历史记录(保留在内存中)。对于每个事件,将向 JMX 客户机发送单独的较小通知。如果对该事件感兴趣,JMX 客户机可以向封装审计事件的 MBean 查询其他信息。
有关审计事件记录的信息,请参见 com.waveset.object.AuditEvent Javadoc。开发自定义审计发布器中介绍的 REF 工具包中提供了该 Javadoc。
要从正确的 MBean 中检索信息,需要历史记录序列号。此号码包含在事件通知中。
每个事件通知包含以下信息:
类型。描述事件类型的字符串。该字符串采用 AuditEvent.<ObjectType>.<Action> 格式,其中 ObjectType 和 Action 是从 com.waveset.AuditEvent 返回的。例如,如果发送解除锁定事件,则类型为 AuditEvent.LighthouseAccount.Unlock。
序列号。用于从 MBean 查询信息的历史记录缓冲区键。
要启用 JMX 发布器类型,请按照启用自定义审计发布器中的步骤进行操作,然后从“新建发布器”下拉菜单中选择 "JMX"。
要配置 JMX 发布器类型,请填写“配置新审计发布器”表单。如果存在表单方面的问题,请参阅 i-Helps 和联机帮助。
发布器名称。为 JMX 审计事件发布器键入唯一名称。
历史记录限制。根据需要,更改默认值以指定发布器应在内存中保留的事件项目数。(默认值为 100。)
单击“测试”以验证发布器名称是否为可接受的名称。
单击“确定”。将关闭“配置新审计发布器”表单。
要点!单击“保存”。
可以使用 JMX 客户机来查看 JMX 发布器。JDK 1.5 中包含的 JConsole 用于创建以下屏幕捕获。
如果使用 JConsole,请选择连接到进程以查看 IDM:type=AuditLog MBean。有关配置 JConsole 以用作 JMX 客户机的信息,请参见《Sun Identity Manager 8.1 System Administrator’s Guide》中的“Viewing JMX Data”。
在 JConsole 中,单击“通知”选项卡可查看审计事件。记下通知中的序列号。在 MBean 中查询其他信息时需要使用序列号。
在 JConsole 中,单击“操作”选项卡。使用通知中的序列号从 MBean 中查询事件详细信息。每个操作都带有 'get' 前缀,并且唯一的参数是“序列”号。
实际上,MBean 是到 com.waveset.object.AuditEvent 类的一一映射。表 10–19 为 MBean 提供的每个属性/操作提供了说明。
表 10–19 MBeanInfo 属性/操作描述
属性/操作 |
描述 |
---|---|
AccountAttributesBlob |
已更改的属性的列表 |
AccountId |
与事件关联的帐户 ID |
Action |
在事件期间执行的操作 |
AuditableAttributes |
可审计属性 |
ErrorString |
任何错误字符串 |
Interface |
审计界面 |
MemberObjectGroupRefs |
成员对象组引用 |
ObjectName |
对象名 |
ObjectType |
对象类型 |
OverflowAttributes |
所有溢出属性 |
Parameters |
所有参数 |
Reason |
事件原因 |
ResourceName |
与事件关联的资源 |
RoleName |
与事件关联的角色 |
SubjectName |
与事件关联的用户或服务 |
Server |
从中触发事件的服务器名称。 |
Status |
审计事件的状态。 |
Timestamp |
审计事件的日期/时间 |
在 JConsole 中,单击“属性”选项卡。属性带有 Current 前缀,表示属性包含发送到系统的最新审计事件。