2024年审计MySQL 8(1),爆赞

最后

这份清华大牛整理的进大厂必备的redis视频、面试题和技术文档

祝大家早日进入大厂,拿到满意的薪资和职级~~~加油!!

感谢大家的支持!!

image.png

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

CREATE SCHEMA test_sel_audit;
CREATE TABLE `test_sel_audit`.`info_cat_test` (
  `id` INT NOT NULL,
  `name` VARCHAR(20) NULL,
  `desc` VARCHAR(20) NULL,
  `sec_level` CHAR(1) NULL,
  PRIMARY KEY (`id`));

让我们添加几行数据。

INSERT INTO `test_sel_audit`.`info_cat_test` (`id`, `name`, `desc`, `sec_level`) VALUES ('1', 'fred', 'engineer', 'H');
INSERT INTO `test_sel_audit`.`info_cat_test` (`id`, `name`, `desc`, `sec_level`) VALUES ('2', 'jill', 'program manager', 'M');
INSERT INTO `test_sel_audit`.`info_cat_test` (`id`, `name`, `desc`, `sec_level`) VALUES ('3', 'joe', 'maintenance', 'L');

启用EE审计(需要使用MySQL企业版 –使用shell连接显示MySQL的版本。

mysqlsh

mysqlsh> \connect newuser@localhost

Server version: 8.0.21-commercial MySQL Enterprise Server – Commercial
或者执行

mysql> select @@version;

如何安装审计插件的详细“操作方法”
https://dev.mysql.com/doc/refman/8.0/en/audit-log-installation.html
如何安装审计发行组件的详细信息
https://dev.mysql.com/doc/refman/8.0/en/audit-api-message-emit.html

bin/mysql -u root -p

INSTALL COMPONENT "file://component\_audit\_api\_message\_emit";

在[mysqld]中设置启动时开启审计功能并设置选项。例如:

vi /etc/my.cnf

plugin-load-add=audit_log.so
audit-log=FORCE_PLUS_PERMANENT
audit-log-format=JSON
audit-log-strategy=SYNCHRONOUS

有关审计选项和变量的更多详细信息,请参考审计日志手册。
https://dev.mysql.com/doc/mysql-security-excerpt/8.0/en/audit-log-reference.html
重新启动MySQL服务器。
注意:有多种方法可以启用审计而无需重新启动。上面是强制执行审计的操作方式。
首先,我将编写一个简单的函数,其中包含我想在审计跟踪中拥有的审计元数据。
我将创建一个简单的封装函数

DELIMITER $$
CREATE FUNCTION audit\_api\_message\_emit\_FN(name CHAR(20))
RETURNS VARCHAR(2)
DETERMINISTIC
BEGIN
DECLARE aud_msg VARCHAR(255);
select audit\_api\_message\_emit\_udf('sec\_level\_selected',
                                         'audit\_selected',
                                         'Sensitive Data Selected',
                                         'FOR ', name
                                         ) into aud_msg;
RETURN('OK');
END$$
DELIMITER ;

让我们运行一次select来演示如何构建select审计。

SELECT
`info_cat_test`.`id`,
`info_cat_test`.`name`,
`info_cat_test`.`desc`,
`info_cat_test`.`sec_level`,
IF(`info_cat_test`.`sec_level` = 'H',
AUDIT\_API\_MESSAGE\_EMIT\_FN(name),
CAST('NA' AS CHAR))
FROM
`test_trigger`.`info_cat_test`;

在这里插入图片描述
如您所见,当sec_level为’H’时,有一个IF调用udit_api_message_emit_ud。OK显示了选择了H级别。
现在,我们可以在审计日志中看到它。

>sudo cat /usr/local/mysql/data/audit.log | egrep "H level sec data retrieved" | egrep fred

{ "timestamp": "2020-08-24 18:42:46", "id": 10, "class":
 "message", "event": "user", "connection\_id": 10, "account": { 
"user": "root", "host": "localhost" }, "login": { "user": "root", 
"os": "", "ip": "::1", "proxy": "" }, "message\_data": { 
"component": "sec\_level\_selected", "producer": "SELECT Audit", 
"message": " H level sec data retrieved", "map": { "FOR ": "fred"
 } } },

如果我运行

读者福利

由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

更多笔记分享

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

需要这份系统化的资料的朋友,可以点击这里获取

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值