IBM Cognos 最佳实践: IBM Cognos 8 审计扩展

文档性质:可靠实践;产品:IBM Cognos 8 BI;关注领域:安全性、基础架构、开发

一种 IBM Cognos 8 SDK 应用程序能为 IBM Cognos 8 BI 提供增强了的审计功能。这个应用程序的版本是 1.5.05,能很好地运行于 IBM Cognos 8 BI 版本 8.3 及更高版本。

Cognos Proven Practices Team, Cognos 最佳实践团队, IBM

Cognos 最佳实践团队。



2011 年 7 月 22 日

免费下载:IBM® Cognos® Express V9.5 或者 Cognos® 8 Business Intelligence Developer Edition V8.4 试用版
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

简介

目的

IBM Cognos BI 开箱即用的标准审计特性涵盖了操作的很多方面。但是,有些领域比如用户以及功能分配的审计并未涵盖在内。c8AuditExtension 应用程序的目标就是为这些领域提供额外的审计功能。

此应用程序目前涵盖的功能如下:

帐户审计

对在所有已配置的名称空间中找到的用户帐户及这些帐户某一属性(基本细节、门户页面、创建及修改的日期等)的审计。可以实现有关 Cognos 用户群的报告并提供额外的信息以便在角色/功能审计时使用。这类审计也将默认记录用户 My Folders 中的内容。

内容审计

对存在于主 Content Store 内的对象的审计。该审计会遍历 content store 树并会记录它所找到的所有对象(文件夹、报告、查询等)。它还会记录基本信息(比如名称、搜索路径、对象许可、创建和修改日期)以及特定于项类型的某些细节(比如报告和查询的规范 XML、任何应用到已保存报告的已保存参数值以及报告输出版本的细节)。

若要记录 Content Store 内位于各个用户 My Folders 区域的项,这类审计应该与帐户审计(见上)联合使用。

状态审计

对服务器及相关调度程序的当前状态的审计。对于在目标系统内注册的每个调度程序,相应的配置及动作都将被记录,诸如连接花费的时间、活动过程的数量和请求持续时间等信息会被保存。

使用

此应用程序通过一个 web 前端管理,这个前端允许服务器及名称空间信息的配置,并且可用来开启或关闭给定服务器的各类审计。

审计可以通过三种方式发起:

  • 通过管理 web 界面
  • 通过一个简单的 URL/web 表单调用
  • 通过一个 web 服务调用(比如从 Event Studio)

每个审计的结果都会记录到一个数据库,并且会有一个 IBM Cognos Framework Manager 模型来帮助报告数据。

适用性

此应用程序专为 IBM Cognos 8 BI 版本 8.1 MR1、8.2、8.3、8.4 和 8.4.1 设计,并使用了 IBM Cognos 8 BI SDK 来与各种 IBM Cognos 8 BI 组件交流。它亦能与任何可通过 web 服务发出命令的第三方应用程序交互。

此外,它还对 IBM Cognos ReportNet 1.1 服务器提供有限的支持,但产品特性上的差异意味着并非所有的审计特性都会受到支持。

例外与除外责任

根据提供者的具体实现,此应用程序必须与所有 Custom Authentication Providers 兼容 —— 比如,通常它会期望一个提供者/名称空间要求使用用户名和密码登录 —— 如果某定制提供者使用了其他形式的凭证,那么这个审计扩展可能就不能验证通过该名称空间,也就不能审计它了。这不会影响到受信的单点登录类型的定制提供者,前提是底层的提供者可以正常方式验证通过。

此应用程序所支持的数据库有:

  • DB2 8.1 和 9.x
  • MS SQL Server 2000 和 2005
  • Oracle 10g
  • MySQL 5
  • Apache Derby 10

状态审计依赖于 IBM Cognos 8 服务器提供的某些信息(易发生变化)且有可能受 IBM Cognos 8 未来升级的影响。

此应用程序只适用于 JRE 1.5 或更高版本。若安装了 IBM Cognos 8 BI 版本 8.3 或更高版本,会随之提供一个合适的 JRE。

使用、支持和反馈

此应用程序只能作为适当的服务包的一部分提供给客户以确保结果的成功实现和解释。

此应用程序和模型严格 “按原样” 提供,且 IBM Cognos Support 并不能为它提供任何支持。不过,我们欢迎任何的反馈、bug 报告或建议。


应用程序细节

过程概览和架构

此应用程序是一个以 Java/AXIS 编写的 web 应用程序和 web 服务。可安装在一个 IBM Cognos 8 机器上,运行在 IBM Cognos 8 Tomcat 实例内或自己的应用服务器内。

安装之后,此应用程序会创建自己的数据库表(如果数据库表不存在)并将提供一个界面以允许管理员输入 IBM Cognos 8 服务器和名称空间的细节。通常每个使用同一个 Content Store 的 IBM Cognos 8 服务器组只能有一个服务器入口。不过,通常不同的功能组,比如产品和开发组,会使用单独的服务器入口。

此应用程序的安全性是从管理界面通过定义一个本地密码以便访问界面或运行审计时使用得到确保的。之所以使用一个本地密码而不是尝试使用 IBM Cognos 8 安全性,是因为此应用程序可以与多个 IBM Cognos 8 安装交互,所以不能将它系于一个 IBM Cognos 8 安全性名称空间。

当管理员输入一个新 IBM Cognos 8 Dispatcher 的细节时,此应用程序将会连接到该 Dispatcher 并收集配置好的安全性名称空间的细节。这些细节将会被添加到该 Dispatcher 的属性页,并且可以进行编辑。对于 Content Store 内用于对象安全性或功能分配的每个名称空间,都必须有一个具备有效登录细节的项存在以确保它们可被审计。这是因为此应用程序需要能够验证通过此名称空间才能审计其内容。如果此应用程序不能验证通过用于对象安全性或用户的一个名称空间,那么其对象就不能被审计。如果在单个服务器项内指定多个名称空间,那么必须验证通过所有的名称空间,否则此应用程序将会终止这次的验证。

名称空间登录的细节将会加密并存储于应用程序数据库。


安装

此应用程序作为一个 WAR 文件部署,可与任何合适的 servlet 容器或应用程序服务器,比如 IBM WebSphere,联合使用。您必须首先使用所提供的脚本在 IBM Cognos 8 内构建此 WAR 文件,然后再将这个文件部署到您的服务器。

本文所概述的过程涵盖了将此应用程序部署到 Tomcat servlet 容器(通常与 IBM Cognos 8 服务器一同安装的)。参考特定应用服务器/servlet 容器的文档获得有关将一个 WAR 文件部署到其他目的地的指导。

总而言之,在产品环境中,最好是在其自己的 Tomcat 或 WAS 实例中运行这个应用程序。请参考 Tomcat、WAS 或其他的应用服务器文档以获得有关如何部署 Web 应用程序的细节。

安装的过程如下所示:

  • 将此安装解包到一个 IBM Cognos 8 服务器
  • 定制想要修改的所有文件
  • 导入想要使用的任何第三方 JDBC 驱动程序
  • 构建 WAR 文件
  • 将这个 WAR 文件部署到应用服务器或 servlet 容器
  • 使用此 web 用户界面配置此应用程序

打开安装包并将其复制到 IBM Cognos 8 服务器

将包含了此 Audit Extension 应用程序的 zip 文件解压到一个适当的临时位置。包含两个主要文件夹:

reporting
此文件夹包含的资料可供您报告 Cognos 8 内的 Audit Extension 输出,此外还包含了一个 Framework Manager 模型和一个 Cognos 8 部署归档文件。在这个阶段,您无需进行任何操作。

war
此文件夹内包含应用程序本身,位于一个名为 AuditExt 的子目录内。您需要使用它来构建这个 WAR 文件。

war/AuditExt 目录放入位于 <c8install>/war 下的 IBM Cognos 8 安装目录。比如:

图 1.
<c8install>构建 c8AuditExtension WAR 文件之前的 /war 目录结构

此时,您可以定制此应用程序然后再构建 WAR 文件。对于大多数用户,默认设置应该就很好,但是如果您需要对 c8AuditExtension.properties 文件内(参见节 3.6)的配置设置或 log4j.properties 文件内(参见节 5.1)的日志设置进行更改,这两个文件就位于 <c8install>/war/AuditExt/classes 目录内。

图 2.
c8AuditExtention.properties 和 log4j.properties 文件的位置

安装所需的 JDBC 驱动程序

如果您使用一个 IBM DB2 或 Apache Derby 数据库来存储 Audit Extension 数据,则无需安装任何额外的 JDBC 驱动程序,因为 DB2 Universal Driver 包含在此发布内。如果计划使用 Microsoft SQL Server、MySQL 或 Oracle,那么将需要获得正确的驱动程序文件并安装它。

获得了数据库正确的 jar 文件后,就可以将其置于 <c8install>/war/AuditExt/lib 目录内。比如,下面显示了添加 Microsoft SQL Server 驱动程序。

图 3.
添加 Microsoft SQL Server 驱动程序以包括在 WAR 文件内

如果在这个阶段,没有安装正确的驱动程序,那么初次尝试配置此数据库时,应用程序将会给出警告。

构建并部署此 WAR 文件

通过运行 <c8install>/war/AuditExt/build.bat (Windows) 或 <c8install>/war/AuditExt/build.sh (UNIX/Linux) 脚本构建此 war 文件。

图 4.
build.bat 和 build.sh 文件的位置

这会创建 WAR 文件 <c8install>/war/AuditExt/AuditExt.war。将此文件放入 <c8install>/webapps 目录:

图 5.
位于 <c8install>/webapps 目录的 AuditExt WAR 文件

稍后,IBM Cognos 8 Tomcat 服务器就会自动解包此 WAR 文件:

图 6.
AuditExt WAR 文件部署后的 <c8install>/webapps 目录

至此,该应用程序就准备好可以配置了。

通过 UI 进行配置

访问位于 http://servername:9300/AuditExt/ 的 web 管理 URL。提示数据库连接细节的屏幕将会出现。

图 7.
输入信息以连接到此 AuditExt 数据库

c8AuditExtension 应用程序可使用一个已有的 IBM Cognos 8 审计数据库或一个为此应用程序特别创建的单独的数据库。强烈建议不要使用 IBM Cognos 8 Content Store 所用的数据库。

重点:在 Database 名称字段内指定的数据库必须在连接之前已经存在。此应用程序将会在该数据库下创建所需表。

根据数据库的速度,创建和填充数据库表的过程可能会花费一些时间。单击 OK 后,等待屏幕刷新后继续,不要多次单击 OK。

数据库准备

为了准备好数据库以供此应用程序使用,应该配置此数据库,配置方式与 IBM Cognos Installation and Configuration Guide 中描述的相同,就如同此数据库用于 Content Store 一样。可能还需要使用一个标准的 IBM Cognos 8 审计记录数据库,且此数据库也要以这种方式配置。

重点:对于 DB2,必须创建一个额外的、页面大小为 16 KB 的常规用户表空间。如果使用的数据库已经针对 IBM Cognos 8 审计记录设置,那么可能已经完成了。

重点:对于 Oracle,可能需要提高受数据库支持的开放游标的最大数量。默认值是 50,可能不够此应用程序使用 —— 更合适的值是 500。更多信息,请参看 http://www.orafaq.com/node/758

重新配置

为了重新配置主数据库连接,在位于 Manage Servers 页的 Reset configuration 链接上单击。这会重返数据库连接细节。此外,也可以通过如下步骤手动重置这个主数据库连接:

  • 停止 IBM Cognos 8 服务
  • 编辑文件 <c8install>/webapps/AuditExt/WEB-INF/classes/c8AuditExtension.properties
  • 重置 JDBC 连接细节,如下所示
    # JDBC connection details:
    jdbc.url=
    jdbc.user=
    jdbc.password=
  • 重启 IBM Cognos 8。

IBM Cognos 8 重启后且管理 URL 被再次访问后,提示 JDBC 连接细节的屏幕将会出现。

配置文件引用

主要的配置文件名为 c8AuditExtension.properties,可在 <c8install>/webapps/AuditExt/WEB-INF/classes 找到。这个配置文件包含如下参数:

jdbc.url

jdbc.user

jdbc.password
由此审计扩展应用程序使用的数据库的连接细节。它们是由应用程序配置接口生成且不应手动编辑,除非是为了重新配置而重置为空。请注意密码存储格式是一个加密的格式。

option.ca.include.specifications
一个内容审计选项,用来决定审计是否应记录它所找到的所有报告/查询/分析的规范 XML。可能值为 truefalse。默认值为 true。如果此参数被设为 false,则使用的数据库空间将比较少。

option.ca.include.output
一个内容审计选项,用来决定审计是否记录所找到的报告对象的报告版本和输出的细节。可能值为 truefalse。默认值为 true。如果此参数被设为 false,则使用的数据库空间将较少且审计可能会运行得更快。

option.ca.max.items
一个内容审计选项,用来限制审计所处理条目的最大数量。如果超出此数量,此审计就会被终止并记录为故障。默认值为 0(零),这意味着不应用任何限制。

option.ca.max.duration
一个内容审计选项,用来限制审计运行的最大时长,以秒为单位。如果超出此时限,审计就会被终止并记录为故障。如果将此值设为 0(零),则不应用任何时间限制。默认值为 900(15 分钟)。

option.ca.policy.calculation
一个内容审计选项,用来决定安全性策略计算是否在 FM 内完成。可能值为 truefalse。如果设为 false,则该计算在运行时完成。默认值为 true,意味着没有任何计算在运行时完成。

option.aa.max.items
一个帐户审计选项,用来限制审计所处理条目的最大数量。如果超出此数量,此审计就会被终止并记录为故障。如果将其设置为零值,则不应用任何限制。默认值是 10000

option.aa.max.duration
一个帐户审计选项,用来限制审计运行的最大时长,以秒为单位。如果超出此时限,审计就会被终止并记录为故障。如果将此值设为 0(零),则不应用任何时间限制。默认值为 900(15 分钟)。

option.aa.include.content
一个帐户审计选项,用来决定审计是否应处理用户 My Folders 的内容。如果设置,就会引起为每个用户的内容(如果存在)运行一次微型的内容审计。可能值为 truefalse。默认值为 true

option.sa.include.configuration
一个状态审计选项,用来决定审计是否记录调度程序的配置信息。这包括诸如最大过程数之类的信息。可能值为 truefalse。默认值为 true。如果此参数设置为 false,则使用的数据库空间将比较少。

option.sa.include.rawstatus
一个状态审计选项,用来指定审计是否记录它找到的服务的原始状态 XML。可能值为 truefalse。默认值为 true。如果此参数设置为 false,则使用的数据库空间将比较少。

option.sa.include.ping
一个状态审计选项,用来指定审计是否应对向服务器注册的调度程序执行额外的基础网络测试。可能值为 truefalse。默认值为 true

security.keystore.filename
用于安全性的 keystore 文件的位置。如果此文件没有位于此位置,就会生成一个新的文件。请注意此位置必须是一个可写位置,否则此应用程序就会出现故障。默认值会通过一个相对文件路径将这个文件置于此 IBM Cognos 8 安装的 configuration 目录。如果这个应用程序部署于有别于与 IBM Cognos 8 一同安装的 Tomcat servlet 容器的其他位置,那么就需要编辑此值。

option.db.setdefault.audittypes
一个数据库选项,用来决定此应用程序是否应在数据库内的审计类型描述改变后将这些描述重置为其默认值。可能值为 truefalse。默认值为 false

option.db.setdefault.statusresulttypes
一个数据库选项,用来决定此应用程序是否应在数据库内的状态结果类型描述改变后将这些描述重置为其默认值。可能值为 truefalse。默认值为 false

option.db.setdefault.serverversiondesc
一个数据库选项,用来决定此应用程序是否应在数据库内的服务器版本描述改变后将这些描述重置为其默认值。可能值为 truefalse。默认值为 false

option.db.setdefault.pingtypev
一个数据库选项, 用来决定此应用程序是否应在数据库内的 ping 测试类型描述改变后将这些描述重置为其默认值。可能值为 truefalse。默认值为 false

option.db.setdefault.pingresult
一个数据库选项,用来决定此应用程序是否应在数据库内的 ping 测试结果描述改变后将这些描述重置为其默认值。可能值为 truefalse。默认值为 false

option.db.dimension.time.populate
一个数据库选项,用来决定此应用程序是否应在时间维度表首次启动被创建时完全填充此表。请注意任何遗漏的时间只要审计在该时间运行都会被添加进来,所以不需要预填充,虽然它有利于报告。可能值为 truefalse。默认值为 true

option.db.dimension.date.initdays
一个数据库选项,用来指定日期维度表在初次启动被创建时预填充的天数(从当前日期开始)。请注意任何遗漏的日期只要审计在该时间运行都会被添加进来,所以不需要完全的预填充,虽然它有利于报告。默认值为 730(2 年)。

option.db.maxbatch
一个选项,用来指定在数据库写之前应处理的最大条目数。这适用于所有的审计类型,且旨在减少超大型审计总的内存消耗。默认值为 2000。

option.db.random-audit-id
一个选项,用来控制为每个审计生成的数据库 ID 应该是一个伪随机数(值为 true)还是一个序列(值为 false)。默认值为 false

为部署到另一个应用服务器的若干考虑

如上所述,如果安装到一个使用繁忙的产品环境,又或者 IBM Cognos 8 安装使用的 JRE 版本高于 1.5,那么就应该考虑安装到另一个 servlet 容器。可以是一个独立的 Tomcat 实例(http://tomcat.apache.org/download-55.cgi),也可以是一个完整的应用服务器,比如 IBM WebSphere Application Server。

通常,所涉及的步骤与部署其他应用程序一样简单 – 如果是 Tomcat,只需将 WAR 文件放入 webapps 目录,类似于 IBM Cognos 8 的情况。这时,有两个文件路径需要考虑:

  1. WEB-INF/classes/log4j.properties,日志文件名使用相对路径 ../logs/c8AuditExtension.log 指定。虽然这可用在 IBM Cognos 8 ,但是仍然可以将此更改为一个不同的相对路径或一个完整的路径,比如 C:/logs/c8AuditExtension.log
  2. 文件 WEB-INF/classes/lc8AuditExtension.properties 包含 security.keystore.filename 属性(../configuration/c8AuditExtension.keystore)内的一个相对路径。请验证此路径能够工作于您的环境,如果需要对它进行更新。请记住为路径名使用前向斜杠。

另一种配置是安装到一个专用的 IBM Cognos 8 安装。因为此审计扩展能够与多个 IBM Cognos 8 服务器交流,而不只是它所安装到的那个服务器,所以可以有一个专用的 IBM Cognos 8 实例来运行此审计并报告结果。验证您的许可来决定这是否是一个可行的方案。

删除和卸载

要卸载此应用程序,停止 IBM Cognos 8 并删除如下:

  • the <c8install>/webapps/AuditExt.war file
  • the <c8install>/webapps/AuditExt directory

可选地,此 keystore 文件也可以删除。默认地,keystore 文件位于 <c8install>/configuration/c8AuditExtension.keystore,但如果此应用程序部署于与 IBM Cognos 8 共同安装的 Tomcat servlet 容器之外,那么此位置将会不同。

重点:如果 keystore 文件删除或此应用程序安装在另一个机器上且未将这个 keystore 文件复制到这个新机器,那么将不再能够访问已保存的密码,运行和管理审计也可能会有错误。

可选地,可以删除由此应用程序创建的数据库表。数据库表均冠以前缀 "AE_"。


使用此应用程序

管理服务器

应用程序配置后,主界面是 Manage Servers 页,可通过 http://servername:9300/AuditExt/ 访问。初始的 Manage Servers 页将不包含任何服务器。

图 8.
初始的 Manage Servers 页

添加一个服务器

在 Manage Servers 页,通过填写标签 Add new server 旁的那些字段并单击 Add 按钮添加一个新的服务器。这些要填写的字段是:

ID:服务器的一个文本标识符。可以是一个主机名或简单的标识符,比如 "PrimaryServer"。此标识符的值可用来在命令中引用此服务器,建议此值采用由标准字符组成的简短字符串。 URL: 此应用程序用来连接到 IBM Cognos 8 的 URL。此 URL 可以直接指到 IBM Cognos 8 Dispatcher,也可以指到 IBM Cognos 8 SDK 应用程序的专用网关。 Version:运行在此服务器上的 IBM Cognos 8 的版本。
图 9.
在 Manage Servers 页上添加一个 IBM Cognos 8 服务器

一个新服务器成功添加后,适用于刚添加的 IBM Cognos 8 服务器的属性页将会自动显示。

图 10.
IBM Cognos 8 服务器的属性页面

所有为新服务器配置的名称空间都将被自动添加到属性页,无需密码。

注意:如果在一个测试或开发环境内使用此应用程序,且启用了 IBM Cognos 8 实例上的匿名访问,那么配置好的名称空间将会自动出现。通过填写标签 Add new namespace login 下的字段可手动添加配置好的名称空间。

新服务器添加后,Manage Servers 页将会包含可由此应用程序审计的所有服务器的列表。

图 11.
在 Manage Servers 页列出所有服务器

删除一个服务器

服务器可从 Manage Servers 页删除。要删除一个服务器,单击服务器项旁的 Delete Server 图标。将会出现一个页面,询问用户确认或取消删除。确认后,Manage Servers 屏将会重新出现,其中被删除服务器已经从此列表删除。

管理服务器名称空间

对于每个服务器,名称空间都可以通过此特定的服务器的属性页管理。如果新服务器刚刚添加,属性页将会自动显示。为了访问和编辑 Manage Servers 页上的列表内所列的任何服务器的属性页,单击目标服务器旁的 Set Properties 图标。每个服务器的属性页将类似于如下所示的这个页面:

图 12.
服务器的属性页

在一个名称空间被包括在一个审计之前,必须提供此应用程序要使用的登录凭证。逐个为名称空间输入用户名和密码,然后在每次输入完毕后单击名称空间项旁的 Save 图标。若试图同时保存多个名称空间的凭证,只有那些单击了 Save 按钮的凭证会被保存。请注意所保存的名称空间将只显示所保存的用户,而不会显示所保存的密码。

对于任何不想要的名称空间,可以通过单击 Delete Login 图标将其删除。比如,用于单次登录的名称空间就是这样的一个例子。

要添加一个新的名称空间,在屏幕底部标签为 Add new namespace login 的部分输入细节。Namespace ID 字段的值与此名称空间最初在 IBM Cognos Configuration 内定义时为 Namespace ID 指定的值相同。

完成了服务器的属性页后,单击 Return 按钮回到 Manage Servers 页。

配置服务器属性和审计类型

在服务器属性页,可以为服务器设置额外属性,比如:

  • 更新调度程序 URL
  • 添加或修改服务器的描述
  • 设置应该为该服务器运行哪类审计
  • 将过滤器应用到审计

单击 Update 按钮保存所修改的属性。

设置审计过滤器

对于帐户和内容审计,可以通过指定过滤器来将审计的范围限制于名称空间/内容 store 的一部分。这些过滤器在服务器属性页的过滤器框指定 。如果不应用任何过滤器(默认),保持过滤器值为空。

过滤器采取的是一系列的正则表达式,以前向斜杠分隔以表示文件夹。依据内容审计或帐户审计,使用稍有不同。有关正则表达式的更多信息可以在 http://www.regular-expressions.info/ 找到。

帐户审计

假设过滤器开始于名称空间层,所以过滤器内的第一项指的就是此名称空间。比如,为了将此审计限定为 Accounts 内的 Users 文件夹的成员,对于所有已配置的名称空间,过滤条件应是:

*/Accounts/Users

第一项中的星号意味着匹配所有的名称空间。当然,也可以将此审计限定为相同的一组文件夹且名称空间 ID 为 "ADNamespace" 的成员,过滤条件将是:

ADNamespace/Accounts/Users

而如下的这个过滤条件限制性稍小,它会过滤出 Accounts 下的所有项:

*/Accounts

任何正则表达式都可以使用。但是,有一点很重要,需要记住,即 ‘/’ 符号很特殊,充当的是一个文件夹分隔符。

内容审计

假设过滤器开始于顶部的内容(包)层。例如,如下的过滤器会将内容限定为 "GO Sales and Retailers" 包内的所有内容:

GO Sales and Retailers

若要将内容更进一步限定为此包内 "Report Studio Report Samples" 文件夹内的内容,过滤器应为:

GO Sales and Retailers/Report Studio Report Samples

若要将内容审计限定为以 "GO" 开始的所有包,可以使用如下:

GO*

请注意过滤器是区分大小写的。

设置安全性

如之前提到的,此应用程序使用的是其自身的安全性机制。单击主 Manage Servers 页上的 Set admin password 链接来指定运行此应用程序所需的密码。

图 13.
设置管理密码页

设置密码后,系统就会提示用户输入它以便访问这个应用程序。

图 14.
输入密码访问 Manage Servers 页

通过 web 界面运行审计

为了通过 web 界面运行审计,转到 Manage Servers 页。每个服务器项都有一个 Run 按钮,用来为该服务器运行所配置的审计。若要为所有配置好的服务器运行审计,可以单击 All servers 字段旁的 Execute 按钮。

通过 URL 运行审计

若要使用 URL 为一个服务器 ID 运行一个审计,可以使用如下语法:

http://servername:9300/AuditExt/AuditServlet?action=run_audit&server_id=serverId

若要使用 URL 为在 Manage Servers 页内指定的所有服务器运行一个审计,可以使用如下语法:

http://servername:9300/AuditExt/AuditServlet?action=run_audit&server_id=serverId

通过 web 服务调用运行审计

web 服务接口的 WSDL 可以在如下的这个 URL 处找到:

http://servername:9300/AuditExt/services/AuditService?wsdl

在这个 web 服务接口内有两种方法可用:

  • runAudit – 接受一个参数,即服务器 ID 并为该服务器运行配置好的审计。
  • runAuditAll – 不接受参数,为所有服务器运行配置好的审计。

此 web 服务可以从任何的应用程序调用,但这里所给出的例子会使用 Event Studio 创建一个 IBM Cognos 8 agent 以调用此 web 服务接口来运行一个审计。本例使用的是随此应用程序附带的样例包。

当调用 Event Studio 创建一个新的 agent 时,出现的第一个屏幕是 Specify an event condition…。在已知的大于零或非空模型中使用一个量度。它会使事件条件成真以保证此 agent 根据需要或按计划运行。

图 15.
Event Studio - 指定一个事件条件

从 "Add a Task" 列表,选择 Advanced > Call a Web service…

图 16.
Event Studio - 调用一个 web 服务

输入到此 WSDL 的 URL 并单击 Retrieve 按钮获得可用的方法。

图 17.
Event Studio - 检索 WSDL

在本例中,选中了 runAudit 方法。输入一个之前配置好的服务器 ID 作为 serverIdentifier 实参。

图 18.
Event Studio - 选择 runAudit 方法

保存这个 agent。

图 19.
Event Studio - Save the agent

此 agent 现在就可以通过 IBM Cognos Connection 和 IBM Cognos 8 调度服务加以调度了。

示例部署

此应用程序附带了一个 IBM Cognos 8 部署归档文件,由一个包组成,内含样例报告以及针对示例 Framework Manager 模型创建的 agent。样例部署和模型包含在文件 AuditExt_reporting_ver_yyyymmdd.zip 内,其中名字的 ver 部分是要使用的 IBM Cognos 8 的版本号,名字的 yyyymmdd 部分代表的是此报告包发布的日期。

要导入此示例部署以备 IBM Cognos 8 studios 使用,可以

  • 将文件 AuditExt_deployment_ver_yyyymmdd.zip 复制到 IBM Cognos 8 部署目录 usually <c8_install>/deployment。
  • 在 IBM Cognos Administration 内,单击 Configuration 选项卡,选择 Content Administration 并单击 New Import 图标。选择名为 AuditExt_deployment_ver yyyymmdd 的部署归档文件。之后,遵循 New Import 向导给出的指导和选项。在很多情况下,默认设置就已足够。请注意内部部署的名称为 Cognos_Audit_Extension

在使用该包之前,有必要在 IBM Cognos 8 Content Store 内创建一个新的可以与在此应用程序初始安装时指定的那个审计数据库交互的数据源。

  • 在IBM Cognos Administration 内,单击 Configuration 选项卡并选择 Data Source Connection。单击 New Data Source 图标并将新数据源的名称指定为 c8_audit。之后,遵循 New Data Source 向导给出的指导和选项来创建这个新数据源。

现在,这个包就可以由 IBM Cognos 8 studios 使用了。

示例 Framework Manager 模型

此应用程序还附带了一个示例 Framework Manager 模型作为进一步开发的基础。这个示例模型由文件 AuditExt_model_yyyymmdd.zip 提供,名称的 yyyymmdd 部分代表的是模型发布的日期。

使用模型之前,IBM Cognos 8 Content Store 内必须存在一个名为 c8_audit 的数据源。这个数据源与示例部署一节内描述的数据源相同。

将此示例模型解压缩到一个适当的目录,从 Framework Manager,打开项目文件 AuditExt.cpf

图 20.
从 Framework Manager 打开 AuditExt.cpf 项目

其他

日志

此应用程序使用 log4j 来提供日志服务。要更改日志设置,可编辑文件 <c8-install>/webapps/c8AuditExtension/WEB-INF/classes/log4j.properties。日志文件默认为 <c8install>/logs/c8AuditExtension.log。

参阅 http://logging.apache.org/log4j/docs/ 处的 log4j 文档获得有关如何配置 log4j 的更多信息。

数据库表

此应用程序创建/使用如下的表:

一般配置

AE_CONFIG_MAIN
包含已配置服务器的主应用程序配置。

AE_CONFIG_NS
为每个服务器所配置的已保存的名称空间。

AE_AUDIT_TYPES
可能的审计类型列表。

AE_SERVER_VERSIONS
受支持的 Cognos 服务器版本列表。

AE_CONFIG_AUDIT_TYPES
为每个服务器配置的审计类型。

AE_SECURITY
包含了加密的管理密码表。

帐户审计

AE_ACCOUNTAUDIT_MAIN
主细节表。

AE_ACCOUNTAUDIT_PORTALPAGES
所有用户门户页面的记录。

内容审计

AE_CONTENTAUDIT_MAIN
主细节表。 AE_CONTENTAUDIT_PARAMS
报告和视图的已保存参数的记录。

AE_CONTENTAUDIT_POLICIES
应用于所有对象的所有安全性策略的记录。

AE_CONTENTAUDIT_SPEC
报告、查询和分析规范的记录。

AE_CONTENTAUDIT_REPORT_VERSIONS
Content Store 内保存的报告输出版本的记录。

AE_CONTENTAUDIT_REPORT_OUTPUTS
Content Store 内保存的报告输出的记录。

状态审计

AE_STATUSAUDIT_MAIN
主细节表。

AE_STATUSAUDIT_RESULT_TYPES
结果类型码的查找表。

AE_STATUSAUDIT_DISP
在 content store 内注册的每个调度程序的主要审计细节。

AE_STATUSAUDIT_DISP
在 content store 内注册的每个调度程序的主要审计细节。

AE_STATUSAUDIT_DISP_CONFIG
在 content store 内注册的每个调度程序的额外配置细节。

AE_STATUSAUDIT_DISP_SERVICES
为在 content store 内注册的每个调度程序运行服务的细节。

AE_STATUSAUDIT_DISP_PING
对调度程序进行的简单网络测试的结果。

AE_STATUSAUDIT_PING_TEST_TYPES
可以在调度程序上执行的简单网络测试的可能类型。

AE_STATUSAUDIT_PING_RESULT_TYPES
简单调度程序网络测试的可能结果代码和描述。

一般的审计数据

AE_STATUS
审计运行的历史和状态。

AE_AUDIT_TYPE_LOG
为每个审计运行的审计类型日志。

AE_ITEM_LOOKUP
匹配 item store ID 与名称的查找表。

AE_ITEM_LOOKUP_FAILURES
不可查找的所有条目的记录(比如,条目从 content store 删除但却在审计内找到,作为其他条目的所有者)。

AE_MAP_DATETIME
时间戳(比如审计开始和结束的时间)与日期和时间维度表键的映射表。

AE_DIM_DATE
日期维度表。粒度是天。

AE_DIM_TIME
时间维度表。粒度是分钟。

AE_SECURITY_MEMBERS
在 option.ca.policy.calculation 选项设为 false 时在帐户和内容审计期间生成的安全性策略上的可选数据。


变更史

版本 1.0

  • 最初发布。

版本 1.1

  • 添加了状态审计特性。
  • 添加了将审计范围限定为内容和帐户审计的功能。
  • 数据库结构更改,从主键删除了搜索路径。从头重新创建任何的 1.0 数据库或联系 Proven Practices 团队获得最新的 SQL 脚本。

版本 1.2

  • 对 Oracle 数据库的支持。
  • 一些数据库命名更改。
  • 对内容审计的增强。

版本 1.3

  • 对 IBM DB2 数据库的支持。
  • 性能和可伸缩性优化。

版本 1.4

  • 对 Apache Derby 和 MySQL 数据库的支持。
  • 对用户 My Folders 的内容审计。
  • 对 IBM Cognos 8.4 BI 的支持。

版本 1.5

  • 删除了对 Java 1.4 的支持。
  • 从安装 war 文件删除了第三方 JDBC 驱动程序。
  • 额外的用户审计功能。
  • 各种内部更改。

下载

描述名字大小
本文样例脚本c8AuditExtensionPublicPackage.zip5839KB

参考资料

学习

获得产品和技术

讨论

  • 参与 developerWorks 博客 并加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=676815
ArticleTitle=IBM Cognos 最佳实践: IBM Cognos 8 审计扩展
publish-date=07222011