用于 RDS for Db2 的审计策略的存储过程
以下存储过程管理使用审计日志记录的 Amazon RDS for Db2 数据库的审计策略。有关更多信息,请参阅 Db2 审核日志记录。要运行这些过程,主用户必须先连接到 rdsadmin
数据库。
rdsadmin.configure_db_audit
为 db_name
指定的 RDS for Db2 数据库配置审核策略。如果您正在配置的策略不存在,则调用此存储过程即可创建该策略。如果该策略确实存在,则调用此存储过程会使用您提供的参数值对其进行修改。
语法
db2 "call rdsadmin.configure_db_audit( '
db_name
', 'category
', 'category_setting
', '?')"
参数
以下参数为必需参数。
db_name
-
要为其配置审核策略的 RDS for Db2 数据库的数据库名称。数据类型为
varchar
。 category
-
要为其配置此审核策略的类别的名称。数据类型为
varchar
。此参数的有效值如下所示:ALL
- 选择ALL
时,Amazon RDS 将不包含CONTEXT
、EXECUTE
或ERROR
类别。AUDIT
CHECKING
CONTEXT
ERROR
EXECUTE
- 您可以为此类别配置数据,也可以不配置数据。配置数据意味着还要记录为任何主机变量和参数标记提供的输入数据值。默认为不配置数据。有关更多信息,请参阅category_setting
参数描述和示例。OBJMAINT
SECMAINT
SYSADMIN
VALIDATE
有关这些类别的更多信息,请参阅 IBM Db2 文档
。 category_setting
-
指定审核类别的设置。数据类型为
varchar
。下表显示了每个类别的有效类别设置值。
类别 有效类别设置 ALL
AUDIT
CHECKING
CONTEXT
OBJMAINT
SECMAINT
SYSADMIN
VALIDATE
BOTH|FAILURE|SUCCESS|NONE
ERROR
AUDIT|NORMAL
。默认值为NORMAL
。EXECUTE
BOTH,WITH|BOTH,WITHOUT|FAILURE,WITH|FAILURE,WITHOUT|SUCCESS,WITH|SUCCESS,WITHOUT|NONE
使用说明
在调用 rdsadmin.configure_db_audit
之前,请确保包含您正在为其配置审核策略的数据库的 RDS for Db2 数据库实例与包含 DB2_AUDIT
选项的选项组相关联。有关更多信息,请参阅 设置 Db2 审核日志记录。
配置审核策略后,您可以按照检查审核配置中的步骤检查数据库的审核配置状态。
为 category
参数指定 ALL
时不包括 CONTEXT
、EXECUTE
或 ERROR
类别。要将这些类别添加到审核策略中,请对您要添加的每个类别分别调用 rdsadmin.configure_db_audit
。有关更多信息,请参阅 示例。
示例
以下示例为名为 TESTDB
的数据库创建或修改审核策略。在示例 1 至示例 5 中,如果之前未配置 ERROR
类别,则该类别将设置为 NORMAL
(默认)。要将该设置更改为 AUDIT
,请按照Example 6: Specifying the ERROR category操作。
示例 1:指定 ALL
类别
db2 "call rdsadmin.configure_db_audit('TESTDB', 'ALL', 'BOTH', ?)"
在此示例中,调用在审核策略中配置了 AUDIT
、CHECKING
、OBJMAINT
、SECMAINT
、SYSADMIN
和 VALIDATE
类别。指定 BOTH
意味着将对其中每个类别的成功和失败事件进行审核。
示例 2:使用数据指定 EXECUTE
类别
db2 "call rdsadmin.configure_db_audit('TESTDB', 'EXECUTE', 'SUCCESS,WITH', ?)"
在此示例中,调用在审核策略中配置了 EXECUTE
类别。指定 SUCCESS,WITH
意味着此类别的日志将仅包含成功事件,并将包括为主机变量和参数标记提供的输入数据值。
示例 3:在没有数据的情况下指定 EXECUTE
类别
db2 "call rdsadmin.configure_db_audit('TESTDB', 'EXECUTE', 'FAILURE,WITHOUT', ?)"
在此示例中,调用在审核策略中配置了 EXECUTE
类别。指定 FAILURE,WITHOUT
意味着此类别的日志将仅包含失败事件,不包括为主机变量和参数标记提供的输入数据值。
示例 4:指定不带状态事件的 EXECUTE
类别
db2 "call rdsadmin.configure_db_audit('TESTDB', 'EXECUTE', 'NONE', ?)"
在此示例中,调用在审核策略中配置了 EXECUTE
类别。指定 NONE
意味着将不对此类别中的任何事件进行审核。
示例 5:指定 OBJMAINT
类别
db2 "call rdsadmin.configure_db_audit('TESTDB', 'OBJMAINT', 'NONE', ?)"
在此示例中,调用在审核策略中配置了 OBJMAINT
类别。指定 NONE
意味着将不对此类别中的任何事件进行审核。
示例 6:指定 ERROR
类别
db2 "call rdsadmin.configure_db_audit('TESTDB', 'ERROR', 'AUDIT', ?)"
在此示例中,调用在审核策略中配置了 ERROR
类别。指定 AUDIT
意味着将在日志中捕获所有错误(包括审核日志记录本身中发生的错误)。默认错误类型为 NORMAL
。使用 NORMAL
,审核生成的错误将被忽略,并且仅捕获与正在执行的操作相关的错误的 SQLCODE
。
rdsadmin.disable_db_audit
停止对 db_name
指定的 RDS for Db2 数据库进行审核日志记录,并删除为其配置的审核策略。
注意
此存储过程仅删除通过调用 rdsadmin.configure_db_audit 配置的审核策略。
语法
db2 "call rdsadmin.disable_db_audit('
db_name
')"
参数
以下参数为必需参数。
db_name
-
要对其禁用审核日志记录的 RDS for Db2 数据库的数据库名称。数据类型为
varchar
。
使用说明
调用 rdsadmin.disable_db_audit
不会对 RDS for Db2 数据库实例禁用审核日志记录。要在数据库实例级别禁用审核日志记录,请从数据库实例中删除选项组。有关更多信息,请参阅 禁用 Db2 审核日志。
示例
以下示例针对名为 TESTDB
的数据库禁用审核日志记录。
db2 "call rdsadmin.disable_db_audit('TESTDB')"