从MySQL 8.0.14开始audit_api_message_emit.
控件使应用程序能够将自己的消息事件添加到审计日志audit_api_message_emit_udf ()
函数。
的audit_api_message_emit.
组件与所有审计类型的插件合作。为了具体化,例子使用Audit_log.
插件描述第6.4.5节“MySQL企业审计”.
要使服务器可用,组件库文件必须位于MySQL插件目录(由plugin_dir.
系统变量)。如果需要,通过设置的值配置插件目录位置plugin_dir.
在服务器启动时。
安装audit_api_message_emit.
组件,使用此语句:
安装组件“file:// component_audit_api_message_emit”;
组件安装是一次性操作,不需要在每次服务器启动时进行。安装组件
加载组件,并注册它10bet靠谱mysql.component
系统表,使其在后续服务器启动期间被加载。
卸载这一点audit_api_message_emit.
组件,使用此语句:
卸载组件“文件:// component_audit_api_message_emit”;
卸载组件
卸载组件,并将其从10bet靠谱mysql.component
系统表导致它不会在后续服务器启动期间加载。
因为安装和卸载了audit_api_message_emit.
组件安装和卸载audit_api_message_emit_udf ()
函数,则不需要使用创建功能
或删除功能
这样做。
本节介绍audit_api_message_emit_udf ()
由audit_api_message_emit.
成分。
在使用审计消息功能之前,请按照此处提供的说明安装审计消息组件安装或卸载审计消息组件.
audit_api_message_emit_udf (
组件
,生产商
,信息
[,关键
,价值
]…)将邮件事件添加到审核日志。消息事件包括调用者选择的组件,生产者和消息字符串,以及可选的一组键值对。
由此函数发布的事件被发送到所有已启用的审计类型插件,每个启用审核类型都根据自己的规则处理事件。如果启用了审计类型的插件,则发布事件没有效果。
参数:
组件
:一个字符串,指定组件名称。生产商
:一个指定生产者名称的字符串。信息
:指定事件消息的字符串。关键
,价值
:事件可以包括0或更多键值对,指定任意应用程序提供的数据映射。每个关键
参数是一个字符串,用于立即关注它的名称价值
论点。每个价值
参数指定其立即关注的值关键
论点。每个价值
可以是字符串或数值,或空值
.
返回值:
字符串
好吧
表明成功。如果函数发生故障,则会发生错误。例子:
mysql> SELECT audit_api_message_emit_udf('component_text', 'producer_text', 'message_text', 'key1', 'value1', 'key2', 123, 'key3', NULL) AS 'Message';+---------+ | 消息 | +---------+ | 好吧 | +---------+
附加信息:
每个审计插件接收由
audit_api_message_emit_udf ()
以特定于插件的格式记录事件。例如,Audit_log.
插件(见第6.4.5节“MySQL企业审计”)根据由所配置的日志格式记录消息值audit_log_format.
系统变量:JSON格式(
audit_log_format = JSON
):{...“类”:“消息”,“事件”:“user”,...“message_data”:{component_text“,”prodor_text“:”producer_text“,”message“:”message_text“,”地图“:{”key1“:”value1“,”key2“:123,”key3“:null}}}}}}
新式XML格式(
audit_log_format = NEW
):< AUDIT_RECORD >…<名称>消息< /名称>…用户< COMMAND_CLASS > < / COMMAND_CLASS > <组件> component_text组件> < / > <生产商producer_text < /制作人> <消息> message_text <消息> / <地图> <元素> <键> key1关键< / > < >价值value1 < /值>元素< / > < >元素<键> key2 < /关键> <值> 123 < /值>元素< / > < >元素<键> key3 < /关键> <价值/ > < /元素> < /地图> < / AUDIT_RECORD >
旧式XML格式(
audit_log_format =老
):< AUDIT_RECORD…NAME = "消息"……COMMAND_CLASS="user" COMPONENT="component_text" PRODUCER="producer_text" MESSAGE="message_text"/>
请注意由于这种格式所施加的表示约束,以老式XML格式记录的消息事件不包括键-值映射。
发布的消息
audit_api_message_emit_udf ()
有事件类MYSQL_AUDIT_MESSAGE_CLASS
的一个子类MYSQL_AUDIT_MESSAGE_USER
.(内部生成的审计消息具有相同的类和子类MYSQL_AUDIT_MESSAGE_INTERNAL
;该子类目前未使用。)在。中引用此类事件Audit_log.
过滤规则,使用a班级
元素与A.的名字
的价值信息
.例如:{"filter": {"class": {"name": "message"}}}
是否有必要区分用户生成的和内部生成的消息事件
子类
值对用户
或内部的
.不支持基于键-值映射的内容进行过滤。
有关写入过滤规则的信息,请参阅第6.4.5.7节“审核日志过滤”.