服务管理员可以启用安全审计以跟踪对 Essbase 服务器所做的更改。
Essbase 根据您在审计策略文件中指定的参数,收集有关对系统级别的安全性、构件、LCM 事件和执行的 MaxL 语句(包括导入)所做更改的信息。Essbase 将跟踪信息合并到审计日志文件中,或将其流式传输到外部数据库。每个事件的跟踪信息包括时间、客户端、用户、受影响的构件、持续时间、ID、应用程序和数据库名称、状态以及说明。
可使用 AUDITTRAIL SECURITY Essbase 配置设置启用对这些事件进行服务器级别的审计。
此工作流介绍如何使用 AUDITTRAIL SECURITY 在 Essbase 服务器上启用安全审计。启用审计后,便可定义 EssbaseSecurityAuditLogPolicy。您可以让 Essbase 将审计记录写入 CSV 文件或将其流式传输到外部数据库。
在此工作流中,Oracle 数据库是外部数据库,但您也可以使用 SQL Server、MySQL 或 DB2。
要完成该工作流,您必须是系统管理员,并且您需要访问 Essbase 服务器计算机上的 <Essbase Config Path>。
通过向 Essbase 服务器计算机上的 essbase.cfg 添加以下配置,启用对服务器事件的审计:
AUDITTRAIL SECURITY
更新配置后,重新启动 Essbase。
请参阅 "Set Server-Level Configuration Properties" 和 "Start, Stop, and Check Servers"。
Essbase 服务器上会创建默认的策略文件 (XML)。此文件 (EssbaseSecurityAuditLogPolicy.xml
) 位于您在部署配置阶段指定的用于存储 Essbase 配置的路径中(<Essbase Config Path>,这也是 essbase.cfg 所在位置)。
<?xml version="1.0" encoding="UTF-8"?> <security-audit-policy> <audit_events_to_capture>LOGIN,LOGINAS,LOGIN_FAIL,LOGOUT,SERVICE_ROLE_ASSIGN,SERVICE_ROLE_REVOKE,APPLICATION_ROLE_ASSIGN,APPLICATION_ROLE_REVOKE,ARTIFACT_UPLOADED,ARTIFACT_MODIFIED,ARTIFACT_DELETED,ARTIFACT_CREATE,ARTIFACT_RENAMED,APPLICATION_DELETED,APPLICATION_CREATE,APPLICATION_RENAMED,DATABASE_DELETED,DATABASE_CREATE,DATABASE_RENAMED,LCM_EXPORT_START,LCM_EXPORT_END,LCM_IMPORT_START,LCM_IMPORT_END,LCM_IMPORT_FAIL,DATA_LOAD_MAXL,LOAD_DATA_JOB_START,LOAD_DATA_JOB_END,LOAD_DATA_JOB_FAILED,DELETE_SESSION,EXECUTE_MAXL,APPLICATION_SET_ACTIVE,APPLICATION_START,APPLICATION_STOP,DATABASE_START,DATABASE_STOP</audit_events_to_capture> <audit_sinks> <audit_sink> <audit_sink_type>CSV</audit_sink_type> <max-file-size>50000000</max-file-size> <roll-nos>100</roll-nos> </audit_sink> </audit_sinks> </security-audit-policy>
<DOMAIN_HOME>/servers/serverName/logs/essbase/
。如果您不知道 <DOMAIN_HOME> 的位置,请参阅 "Environment Locations in the Essbase Platform"。SecurityAuditLog_n.csv
。
安全审计日志 CSV 文件示例:
如果您希望安全审计线索流式传输到外部数据库,请执行以下操作:
<?xml version="1.0" encoding="UTF-8"?> <security-audit-policy> <audit_events_to_capture>LOGIN,LOGINAS,LOGIN_FAIL,LOGOUT,SERVICE_ROLE_ASSIGN,SERVICE_ROLE_REVOKE,APPLICATION_ROLE_ASSIGN,APPLICATION_ROLE_REVOKE,ARTIFACT_UPLOADED,ARTIFACT_MODIFIED,ARTIFACT_DELETED,ARTIFACT_CREATE,ARTIFACT_RENAMED,APPLICATION_DELETED,APPLICATION_CREATE,APPLICATION_RENAMED,DATABASE_DELETED,DATABASE_CREATE,DATABASE_RENAMED,LCM_EXPORT_START,LCM_EXPORT_END,LCM_IMPORT_START,LCM_IMPORT_END,LCM_IMPORT_FAIL,DATA_LOAD_MAXL,LOAD_DATA_JOB_START,LOAD_DATA_JOB_END,LOAD_DATA_JOB_FAILED,DELETE_SESSION,EXECUTE_MAXL,APPLICATION_SET_ACTIVE,APPLICATION_START,APPLICATION_STOP,DATABASE_START,DATABASE_STOP</audit_events_to_capture> <audit_sinks> <audit_sink> <audit_sink_type>DATABASE</audit_sink_type> <db_connection_name>OraclePDB</db_connection_name> </audit_sink> </audit_sinks> </security-audit-policy>
测试审计详细信息流式传输到数据库。
Essbase 应在外部数据库方案中创建一个名为 ESSBASE_SECURITY_AUDIT_EVENT_LOG 的审计表。
select * from ESSBASE_SECURITY_AUDIT_EVENT_LOG
使用数据可视化工具查看并分析安全审计记录。您可以使用 Smart View、Oracle Data Desktop(通过 Oracle 技术网许可证获取)、开源或非 Oracle 数据库供应商提供的开源可视化工具。
审计策略在 XML 文件中定义,您可以根据需要对其进行编辑。您可以在此文件中指定要跟踪的 Essbase 服务器事件,以及是否将数据写入安全审计日志或将其流式传输到外部数据库。如果要将数据写入审计日志,您可以指示最大文件大小和要保留的安全审计日志文件数。
当您在启用安全审计后重新启动 Essbase 时,Essbase 会创建 EssbaseSecurityAuditLogPolicy.xml
。您随后可以根据需要编辑该文件以细化审计策略。该文件位于您在部署配置阶段指定的用于存储 Essbase 配置的路径(<Essbase Config Path>,这也是 essbase.cfg 所在位置)中。如果您不知道这在环境中的位置,请参阅 "Environment Locations in the Essbase Platform" 查看说明。
导航到 EssbaseSecurityAuditLogPolicy.xml
。该文件所在的应用程序目录是在 Essbase 部署配置阶段指定的。
在文本编辑器中打开该文件。
编辑审计输出、日志记录详细信息和要跟踪的事件。
(可选)添加 <audit_sink_type>
DATABASE</audit_sink_type>
(如果要将数据流式传输到外部数据库)。
如果在步骤 a 中指示了审计输出类型 DATABASE,则在下一行中添加包含您在为 Essbase 服务器启用安全审计的工作流中定义的数据库连接名称的 <db_connection_name>ConnectionName</db_connection_name>。
如果要将数据写入审计日志文件,可使用 <max-file-size>n</max-file-size>
更改最大文件大小(可选),其中 n = 字节数。默认值为 50000000 字节。
如果要将数据写入审计日志文件,则使用 <roll-nos>n</roll-nos>
指示要保存多少个安全审计日志 CSV 文件,其中 n = 文件数。
使用 <audit_events_to_capture>events_list</audit_events_to_capture>
指示要捕获哪些审计事件。
对于您在审计策略文件中指示的事件,将在安全审计日志文件中进行跟踪,或流式传输到外部数据库。
您可以在审计策略文件中指示捕获以下事件:
事件 | 说明 |
---|---|
LOGIN | 用户 [x] 已成功登录 |
LOGIN_AS | 用户 [x] 以 [y] 身份登录 |
LOGOUT | 用户 [x] 已注销 |
LOGIN_FAIL | 用户 [x] 登录失败 |
SERVICE_ROLE_ASSIGN | 已将 Essbase 服务角色 [x] 分配给 [y] |
SERVICE_ROLE_REVOKE | 已从 [y] 撤消 Essbase 服务角色 [x] |
APPLICATION_ROLE_ASSIGN | 已在应用程序 [z] 上为用户/组 [x] 预配角色 [y] |
APPLICATION_ROLE_REVOKE | 已在应用程序 [z] 上撤消用户/组 [x] 的角色 [y] |
ARTIFACT_CREATE | 已创建类型为 [y] 的构件 [x] |
ARTIFACT_UPLOADED | 针对应用程序 [a]、数据库 [b]、对象名称 [c]、对象类型 [d] 调用了构件上载请求 |
ARTIFACT_MODIFIED | 已修改类型为 [y] 的构件 [x] |
ARTIFACT_DELETED | 已删除类型为 [y] 的构件 [x] |
ARTIFACT_RENAMED | 已将类型为 [y] 的构件 [x] 重命名为 [z] |
APPLICATION_DELETED | 已删除应用程序 [x] |
APPLICATION_CREATE | 已创建应用程序 [x] |
APPLICATION_RENAMED | 应用程序 [x] 已重命名为 [y] |
DATABASE_DELETED | 已删除应用程序 [y] 中的数据库 [x] |
DATABASE_CREATE | 已在应用程序 [y] 中创建数据库 [x] |
DATABASE_RENAMED | 应用程序 [z] 中的数据库 [x] 已重命名为 [y] |
LCM_EXPORT_START | LCM 导出作业已开始,文件名为 [x] |
LCM_EXPORT_END | LCM 导出作业已完成,文件名为 [x],作业状态为 [y] |
LCM_IMPORT_START | 应用程序 [x] 的 LCM 导入已开始,文件名为 [y] |
LCM_IMPORT_END | 应用程序 [x] 的 LCM 导入已完成,文件名为 [y] |
LCM_IMPORT_FAIL | 应用程序 [x] 的 LCM 导入失败,文件名为 [y] |
DATA_LOAD_MAXL | 用户 [z] 对应用程序 [x]、数据库 [y] 执行了 MaxL 导入数据语句 |
EXECUTE_MAXL | 已从用户 [y] 执行 MaxL 语句 [x] |
LOAD_DATA_JOB_START | 已使用数据文件 [x] 和规则文件 [y] 启动数据加载作业 |
LOAD_DATA_JOB_END | 使用数据文件 [x] 和规则文件 [y] 执行的数据加载作业已完成,状态为 [z] |
LOAD_DATA_JOB_FAILED | 由于 [x],数据加载作业失败 |
DELETE_SESSION | 已删除会话 [x] |
安全审计事件在安全审计日志文件中进行跟踪,或者流式传输到外部数据库,具体取决于您在审计策略文件中指示采用哪种方式。
有关打开安全审计日志或外部数据库方案中的审计表的说明,请参见为 Essbase 服务器启用安全审计的工作流。
“说明”字段内容已本地化。
示例:123e4567-e89b-12d3-a456-426614174000