SECMAINT 事件的审计记录布局

SECMAINT 事件字段记录了授予或撤销权限和授权的操作。

样本审计记录:
timestamp=1998-06-24-11.57.45.188101;
category=SECMAINT;
audit event=GRANT;
event correlator=4;
event status=0;
database=FOO;
userid=boss;
authid=BOSS;
application id=*LOCAL.boss.980624155728;
application name=db2bp;
package schema=NULLID;
package name=SQLC28A1;
package section=0;
object schema=BOSS;
object name=T1;
object type=TABLE;
grantor=BOSS;
grantee=WORKER;
grantee type=USER;
privilege=SELECT;

表中每项的显示顺序与抽取操作后各项在定界文件中的输出顺序相同。

表 1. SECMAINT 事件的审计记录布局
NAME FORMAT 描述
时间戳记 CHAR(26) 审计事件的日期和时间。
类别 CHAR(8) 审计事件的类别。 可能的值包括:
SECMAINT
审计事件 VARCHAR(32) 特定的审计事件。

有关可能值的列表,请参阅审计事件中 SECMAINT 类别一节。

事件相关因子 INTEGER 正在审计的操作的相关标识。 可用来标识哪些审计记录与单个事件关联。
事件状态 INTEGER 审计事件的状态,由 SQLCODE 表示,其中
成功事件 > = 0
失败事件 < 0
数据库名称 CHAR(8) 为其生成了事件的数据库的名称。 如果它是实例级别审计事件,那么为空白。
用户标识 VARCHAR(1024) 审计事件发生时的用户标识。
授权标识 VARCHAR(128) 审计事件发生时的授权标识。
原始节点号 SMALLINT 审计事件发生时所在的成员号。
协调程序节点号 SMALLINT 协调程序成员的成员号。
应用程序标识 VARCHAR(255) 审计事件发生时正在使用的应用程序标识。
应用程序名称 VARCHAR(1024) 审计事件发生时正在使用的应用程序名。
程序包模式 VARCHAR(128) 审计事件发生时正在使用的程序包的模式。
程序包名 VARCHAR(128) 审计事件发生时正在使用的程序包的名称。
程序包节号 SMALLINT 审计事件发生时使用的软件包中的分段编号。
对象模式 VARCHAR(128) 为其生成审计事件的对象的模式。

如果对象类型字段为 ACCESS_RULE,那么此字段包含与规则关联的安全策略名。 规则的名称存储在“对象名”字段中。

如果对象类型字段为 SECURITY_LABEL,那么此字段包含含有安全标号的安全策略的名称。 安全标号的名称存储在“对象名”字段中。

对象名称 VARCHAR(128) 为其生成审计事件的对象的名称。
当审计事件为下列任何一项时,表示角色名称:
  • ADD_DEFAULT_ROLE
  • DROP_DEFAULT_ROLE
  • ALTER_DEFAULT_ROLE
  • ADD_USER
  • DROP_USER
  • ALTER_USER_ADD_ROLE
  • ALTER_USER_DROP_ROLE
  • ALTER_USER_AUTHENTICATION

如果对象类型字段为 ACCESS_RULE,那么此字段包含规则的名称。 与规则关联的安全策略名存储在“对象模式”字段中。

如果对象类型字段为 SECURITY_LABEL,那么此字段包含安全标号的名称。 含有安全标号的安全策略的名称存储在“对象模式”字段中。

对象类型 VARCHAR(32) 为其生成审计事件的对象的类型。 可能的值包括:标题为审计记录对象类型的主题中显示的值。
当审计事件为下列任何一项时,值为 ROLE:
  • ADD_DEFAULT_ROLE
  • DROP_DEFAULT_ROLE
  • ALTER_DEFAULT_ROLE
  • ADD_USER
  • DROP_USER
  • ALTER_USER_ADD_ROLE
  • ALTER_USER_DROP_ROLE
  • ALTER_USER_AUTHENTICATION
授权者 VARCHAR(128) 特权或权限的授权者或撤销者的标识。
被授权者 VARCHAR(128) 被授予或撤销特权或权限的被授权者标识。
当审计事件为下列任何一项时,表示可信上下文对象:
  • ADD_DEFAULT_ROLE
  • DROP_DEFAULT_ROLE
  • ALTER_DEFAULT_ROLE
  • ADD_USER 或 DROP_USER
  • ALTER_USER_ADD_ROLE
  • ALTER_USER_DROP_ROLE
  • ALTER_USER_AUTHENTICATION
被授权者类型 VARCHAR(32)
被授予或撤销权限的被授权者的类型。 当审计事件为下列任何一项时,可能的值包括 USER、GROUP、 ROLE、 AMBIGUOUS 和 TRUSTED_CONTEXT:
  • ADD_DEFAULT_ROLE
  • DROP_DEFAULT_ROLE
  • ALTER_DEFAULT_ROLE
  • ADD_USER
  • DROP_USER
  • ALTER_USER_ADD_ROLE
  • ALTER_USER_DROP_ROLE
  • ALTER_USER_AUTHENTICATION
特权或权限
CHAR(34)
指示授予或撤销的特权或权限的类型。 可能的值包括:题为可能的 SECMAINT 特权或权限列表的主题中显示的值。
当审计事件为下列任何一项时,值为 ROLE MEMBERSHIP:
  • ADD_DEFAULT_ROLE 或 DROP_DEFAULT_ROLE
  • ALTER_DEFAULT_ROLE
  • ADD_USER
  • DROP_USER
  • ALTER_USER_ADD_ROLE
  • ALTER_USER_DROP_ROLE
  • ALTER_USER_AUTHENTICATION
程序包版本 VARCHAR(64) 审计事件发生时正在使用的程序包的版本。
访问类型 VARCHAR(32) 授予对安全标号的访问类型。
可能的值为:
  • 读取
  • WRITE
  • 全部
改变其安全策略的访问类型。 可能的值为:
  • USE GROUP AUTHORIZATIONS
  • IGNORE GROUP AUTHORIZATIONS
  • USE ROLE AUTHORIZATIONS
  • IGNORE ROLE AUTHORIZATIONS
  • OVERRIDE NOT AUTHORIZED WRITE SECURITY LABEL
  • RESTRICT NOT AUTHORIZED WRITE SECURITY LABEL
可采用的授权标识 VARCHAR(128) 当授予的特权为 SETSESSIONUSER 特权时,这是允许被授权者设置为会话用户的授权标识。
本地事务标识 VARCHAR(10) FOR BIT DATA 审计事件发生时正在使用的本地事务标识。 这是作为事务日志一部分的 SQLU_TID 结构。
全局事务标识 VARCHAR(30) FOR BIT DATA 审计事件发生时正在使用的全局事务标识。 这是作为事务日志一部分的 SQLP_GXID 结构中的数据字段。
授权者类型 VARCHAR(32) 授权者的类型。 可能的值包括:USER。
客户机用户标识 VARCHAR(255) 审计事件发生时 CURRENT CLIENT USERID 专用寄存器的值。
客户机工作站名称 VARCHAR(255) 审计事件发生时 CURRENT CLIENT_WRKSTNNAME 专用寄存器的值。
客户机应用程序名称 VARCHAR(255) 审计事件发生时 CURRENT CLIENT_APPLNAME 专用寄存器的值。
客户机记帐字符串 VARCHAR(255) 审计事件发生时 CURRENT CLIENT_ACCTNG 专用寄存器的值。
可信上下文用户 VARCHAR(128) 标识当审计事件为 ADD_USER 或 DROP_USER 时的可信上下文用户。
可信上下文用户认证 整数 指定当审计事件为 ADD_USER、DROP_USER 或 ALTER_USER_AUTHENTICATION 时的可信上下文用户的认证设置。
1: 认证是必需的
0: 认证不是必需的
可信上下文名称 VARCHAR(255) 与可信连接关联的可信上下文的名称。
连接信任类型 CHAR(1)
可能的值为:

''-NONE
'1'-IMPLICIT_TRUSTED_CONNECTION
'2'-EXPLICIT_TRUSTED_CONNECTION
继承的角色 VARCHAR(128) 通过可信连接继承的角色。
关联的对象名称 VARCHAR(128) 存在关联项的对象。 关联的含义取决于事件的对象类型。 如果 对象类型为 PERMISSION 或 MASK,那么 关联的对象 是已在其上 创建权限或掩码的表。
关联的对象模式 VARCHAR(128) 存在关联项的对象模式的名称。 关联的含义取决于事件的对象类型。
关联的对象类型 VARCHAR(128) 存在关联项的对象的类型。 关联的含义取决于事件的对象类型。
关联的子对象类型 VARCHAR(128) 存在关联项的子对象的类型。 关联的含义取决于事件的对象类型。 如果对象类型为 MASK 且关联的对象类型为 TABLE,那么关联的子对象是已在其上创建掩码的表列。
关联的子对象名称 VARCHAR(128) 存在关联项的子对象的名称。 关联的含义取决于事件的对象类型。
变更操作 VARCHAR(32)
特定变更操作。

可能的值包括:
  • SECURE
  • UNSECURE
  • ENABLE
  • DISABLE
  • ACTIVATE_ROW_ACCESS_CONTROL
  • ACTIVATE_COLUMN_ACCESS_CONTROL
  • ACTIVATE_ROW_COLUMN_ACCESS_CONTROL
受保护 VARCHAR(32) 指定对象是否为安全对象。
State VARCHAR(32)
指定对象的状态。 该状态取决于对象类型。

可能的值包括:
  • 启用
  • 已禁用
访问控制 VARCHAR(32)
指定用于保护对象的访问控制类型。

可能的值包括:
  • ROW - 已对该对象激活行访问控制
  • COLUMN - 已对该对象激活列访问控制
  • ROW_COLUMN - 已对该对象激活行和列访问控制
原始用户标识 VARCHAR(1024) 审计事件发生时 CLIENT_ORIGUSERID 全局变量的值。
实例名称 VARCHAR(128) 审计事件发生时使用的实例名称。
Hostname VARCHAR(255) 审计事件发生时使用的主机名。
租户名称 VARCHAR(128) 审计事件发生时正在使用的租户名称。