管理审核策略 - Amazon Relational Database Service

管理审核策略

以下存储过程管理使用审计日志记录的 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 将不包含 CONTEXTEXECUTEERROR 类别。

  • 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 时不包括 CONTEXTEXECUTEERROR 类别。要将这些类别添加到审核策略中,请对您要添加的每个类别分别调用 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', ?)"

在此示例中,调用在审核策略中配置了 AUDITCHECKINGOBJMAINTSECMAINTSYSADMINVALIDATE 类别。指定 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')"