CN111858605A - 数据库自动化审计方法、系统、设备及存储介质 - Google Patents

数据库自动化审计方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN111858605A
CN111858605A CN202010725560.9A CN202010725560A CN111858605A CN 111858605 A CN111858605 A CN 111858605A CN 202010725560 A CN202010725560 A CN 202010725560A CN 111858605 A CN111858605 A CN 111858605A
Authority
CN
China
Prior art keywords
audited
data
database
database table
audit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010725560.9A
Other languages
English (en)
Other versions
CN111858605B (zh
Inventor
祝明洲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202010725560.9A priority Critical patent/CN111858605B/zh
Priority to PCT/CN2020/117926 priority patent/WO2021174817A1/zh
Publication of CN111858605A publication Critical patent/CN111858605A/zh
Application granted granted Critical
Publication of CN111858605B publication Critical patent/CN111858605B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Abstract

本发明提供一种数据库自动化审计方法、系统、设备及存储介质,包括:获取数据库中的待审计数据库表;根据待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;响应于用户对待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;当操作为预定操作类型时,触发所述触发器审计待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。根据待审计数据库表的名称生成与待审计数据库表对应的触发器,可以对某个待审计数据库表进行快速部署审计,也可按需快速卸载审计代码,降低了系统负担。

Description

数据库自动化审计方法、系统、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据库自动化审计方法、系统、设备及存储介质。
背景技术
现有的数据库审计的一种做法基于日志分析技术进行数据库审计,就是通过分析数据库系统中业务数据的交易、操作日志,来发现违规的风险;通过分析数据库系统自身的各种日志,提前发现黑客攻击、系统故障等数据库风险。但是这种方法有效性、及时性不能得到保障;由于采用纯粹数据库分析技术,对于一个数据库连接,无法获取应用中的用户具体信息;另外一种方法是,通过应用开发,将用户的每一个操作,包括各种查询、点击、修改等记录到数据库表或者文件系统中,此种方法可读性较强,当需要查询时某个数据操作记录时,可以快速定位,但用这种方法也有一定的缺陷,由于每个操作都要进行记录日志,大大降低了系统性能,而且只能记录应用系统内的操作,对于运维人员直接操作数据库,无法进行审计。
发明内容
有鉴于此,本发明实施例提供了一种数据库自动化审计方法、系统、计算机设备及计算机可读存储介质,用于解决数据库审计不准确和审计系统性能低的问题。
本发明实施例是通过下述技术方案来解决上述技术问题:
一种数据库自动化审计方法,包括:
获取数据库中的待审计数据库表;
根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;
响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;
当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
进一步地,所述所述根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计包括:
获取用于审计所述待审计数据库表的固定字段;
获取所述待审计数据库表的表名称和所述待审计数据库表中需要审计的列数据;
将所述表名称和所述列数据填充到所述固定字段的相应位置处,生成所述待审计数据库表对应的触发器。
进一步地,所述预定操作类型包括如下中的至少一个:
对所述待审计数据库表中的数据插入操作;
对所述待审计数据库表中的数据删除操作;
对所述待审计数据库表中的数据更新操作。
进一步地,所述当所述操作为预定操作时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表包括:
获取用于审计的公共字段;
当所述预定操作为对待审计数据库表中的数据插入操作时,所述触发器记录插入的数据值或者
当所述预定操作为对待审计数据库表中的数据删除操作时,所述触发器记录删除的数据值;
将所述用于审计的公共字段和所述插入的数据值和/或删除的数据值写入所述数据归档表中。
进一步地,所述所述当所述操作为预定操作时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表包括:
获取用于审计的公共字段;
当所述预定操作为对待审计数据库表中的数据更新操作时,所述触发器记录更新之前的数据值和更新之后的数据值;
将所述用于审计的公共字段、所述更新之前的数据值和更新之后的数据值分别写入所述数据更新表中。
进一步地,不同的预定操作类型对应不同的操作编号,所述方法还包括:
根据所述操作编号,生成与所述用户对所述待审计数据库表的操作对应的序列编号。
进一步地,所述方法还包括:
将所述审计结果存储于区块链上。
为了实现上述目的,本发明实施例还提供一种数据库自动化审计系统,包括:
待审计数据库表获取模块,用于获取数据库中的待审计数据库表;
触发器生成模块,用于根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;
预定操作判断模块,用于响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;
审计结果生成模块,用于当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
为了实现上述目的,本发明实施例还提供一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述数据库自动化审计方法的步骤。
为了实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的数据库自动化审计方法的步骤。
本发明实施例提供的数据库自动化审计方法、系统、计算机设备及计算机可读存储介质,通过获取数据库中的待审计数据库表;根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。根据待审计数据库表的名称生成与待审计数据库表对应的触发器,可以对某个待审计数据库表进行快速部署审计,降低了系统负担。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明实施例一之数据库自动化审计方法的步骤流程图;
图2为步骤根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计的具体流程示意图;
图3为步骤当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表的一种实施方式的具体流程示意图;
图4为步骤当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表的另一种实施方式的具体流程示意图;
图5为本发明数据库自动化审计系统之实施例二的程序模块示意图;
图6为本发明计算机设备之实施例三的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
请参阅图1,示出了本发明实施例之数据库自动化审计方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备为执行主体进行示例性描述,具体如下:
步骤S100:获取数据库中的待审计数据库表。
具体的,在示例性的实施例中,并不是数据库中所有的数据库表都需要审计,而只需要对一些频繁修改的表字段所在的数据库表进行审计,在本实施例中,设置表级白名单,表级白名单是指需要对哪些数据库表进行审计,获取数据库中所有数据库表的数据库表名称后,确定数据库表名称在表级白名单上的数据库表为待审计数据库表,对待审计数据库表进行审计。
步骤S200:根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计。
具体的,触发器是SQL(Structured Query Language结构化查询语言)Server数据库管理系统提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,当对一个表进行操作时就会激活它执行。可以针对数据库中需要监控的数据库表,创建触发器。如果需要对多个数据库表进行监控,则可以每个表对应一个触发器。
触发器是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发。当所述触发条件满足时,会自动执行满足触发条件时执行的操作;当所述触发条件不满足时,不会执行任何操作。使用触发器进行数据库序列异常监控,不需要用户主动进行操作,也不影响用户的正常使用,当用户操作类型为预定操作类型时,触发器被触发。
确定待审计数据库表后,由于每个数据库表都需要有对应的触发器对待审记数据库表进行审计,如果带审计数据库表数据较多,对每个带审计数据库表都编写触发器代码的话,为每个待审计数据库表创建对应的触发器代码是一个很大的工程。因此,需要根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器。
在示例性的实施例中,如图2所示,步骤S200还可以进一步包括:
步骤S201:获取用于审计数据库表的固定字段。
具体的,不同数据库表对应不同的触发器,但是不同的触发器中存在固定的代码字段,例如,当只是对待审计数据库表进行审计时,触发器对应的固定的代码字段为
create trigger trigger_name on{table_name|view_name}
{after|instead of}
[insert,update,delete]
as
sql_statement
其中trigger_name:触发器的名称;table_name|view_name:待审计数据库表的表名,;after:指定触发器的激活时机是在触发SQL语句中指定的操作都已成功执行后;instead of:指定执行触发器中的SQL语句而不执行触发SQL语句,从而代替触发语句的操作;insert:插入,update:更新,delete:删除;sql_statement:触发器被触发后要执行的SQL语句,在示例性的实施例中,SQL语句执行的操作为获取用于审计的公共字段,当所述预定操作为对待审计数据库表中的数据插入操作和/或对待审计数据库表中的数据删除操作时,记录插入的数据值和/或删除的数据值,将所述用于审计的公共字段和所述插入的数据值和/或删除的数据值写入数据归档表中;当所述预定操作为对待审计数据库表中的数据更新操作时,记录更新之前的数据值和更新之后的数据值,将所述用于审计的公共字段和所述插入的数据值和/或删除的数据值写入数据归档表中。
步骤S202:获取所述待审计数据库表的表名称和待审计数据库表中需要审计的列数据。
具体的,在示例性的实施例中,,并不是待审计数据库表中所有的列都需要审计,而只需要对一些频繁修改的表字段所在的列进行审计,因此设置列级黑名单,当数据库表中的列在列级黑名单中时,则确定该列为需要审计的列。在示例性的实施例中,所述列数据可以为列名称,当需要对待审计数据库表中的列进行审计时,固定字段为
create trigger trigger_name on{table_name|view_name}
{after|instead of}
[insert,update,delete]
as
[{if update(column)
[{if update(column)
[{and|or}update(column)]
[...n]
sql_statement
其中,if update(column)是指在指定列上进行操作,column是指列名称,即在对待审计数据库表进行审计的触发器对应的固定的代码字段中,添加对列进行审计的固定代码字段。
步骤S203:将所述表名称和所述列数据填充到所述固定字段的相应位置处,生成所述待审计数据库表对应的触发器。
具体的,获取表名称和列名称后,将表名称和列名称填充到固定字段对应的位置处,即将表名称填充到table_name的位置,将列名称填充column位置,即可得到待审计数据库表对应的触发器。
步骤S300:响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型。
在示例性的实施例中,所述预定操作类型包括如下中的至少一个:
对所述待审计数据库表中的数据插入操作;
对所述待审计数据库表中的数据删除操作;
对所述待审计数据库表中的数据更新操作。
具体的,对待审计数据库表中的数据插入操作是指插入带审计数据库表中本身没有的数据,以考试报名系统为例,当考生在考试报名系统中新注册账号时,则考生注册时的注册账号和密码以及其他数据即为在待审计数据库表中新插入了数据;当考生在考试报名系统中注销账号时,则考生注销的账号和密码以及其他数据即为待审计数据库表中删除了数据;当考生在考试报名系统修改注册账号或者密码时,则考生修改前的注册账号或者密码为数据库表中更新之前的数据,修改后的账号和密码为数据库表中更新后的数据。
步骤S400:当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
具体的,在当待审计数据库表中有对数据的插入、更新和删除操作时,则激活该待审计数据库表对应的触发器,审计所述待审记表,得到审计结果。
在示例性的实施例中,如图3所示,步骤S400还可以进一步包括:
步骤S401A:获取用于审计的公共字段。
步骤S402A:当所述预定操作为对待审计数据库表中的数据插入操作时,所述触发器记录插入的数据值或者
当所述预定操作为对待审计数据库表中的数据删除操作时,所述触发器记录删除的数据值;
步骤S403A:将所述用于审计的公共字段和所述插入的数据值和/或删除的数据值写入所述数据归档表中。
具体的,用于审计的公共字段是指用户对所述待审计数据库表中的数据进行插入操作和/或对待审计数据库表中的数据删除操作时,操作发生的时间,操作来源IP地址,操作人,被审计数据库表名,被操作数据行的主键等。当用户的操作为对待审计数据库表中的数据插入操作和/或对待审计数据库表中的数据删除操作时,为对待审计数据库表中的数据插入操作时,所述触发器记录插入的数据值或者当所述预定操作为对待审计数据库表中的数据删除操作时,所述触发器记录删除的数据值,并将用于审计的公共字段和插入和/或删除的数据值全部写入数据归档表中。
在示例性的实施例中,如图4所示,步骤S400还可以进一步包括:
步骤S401B:获取用于审计的公共字段。
步骤S402B:当所述预定操作为对待审计数据库表中的数据更新操作时,所述触发器记录更新之前的数据值和更新之后的数据值。
步骤S403B:将所述用于审计的公共字段和所述更新之前的数据值和更新之后的数据值写入所述数据更新表中。
具体的,用于审计的公共字段是指用户对所述待审计数据库表中的数据进行更新操作时,操作发生的时间,操作来源IP地址,操作人,被审计数据库表名,被操作数据行的主键等。当用户的操作为对待审计数据库表的更新操作时,记录更新前的数据值和更新后的数据值,并将用于审计的公共字段、更新前的数据值和更新后的数据值写入数据更新表中。
通过设置数据归档表和数据更新表,可以根据数据库表中数据的增加、删除和修改的审计记录,对数据变化情况进行推演,当对数据的操作出现错误或者对数据的操作为非法操作时,通过逆序操作可以将数据回滚到某时间点。通过设置公共字段,当对数据的操作出现非法操作时,可以对操作人进行追溯。
在示例性的实施例中,不同的预定操作对应不同的操作编号,所述方法还包括:
根据所述操作编号,生成与所述用户对所述待审计数据库表的操作对应的序列编号。
具体的,在示例性的实施例中,对某个数据库表的操作可能会发生在同一时刻,例如,在某一时刻,对数据库表中的数据同时进行了插入和更新操作,此时不能确定操作发生的先后顺序,因此,为每个操作设置不同的操作编号,例如,操作为插入数据操作时,操作编号为“1”,操作为删除数据操作时,操作编号为“2”,操作为更新数据操作时,操作编号为“3”。当对数据库表中的数据进行操作,且两个操作同时发生时,通过操作编号进一步确定操作顺序。在示例性的实施例中,使用一个8字节的序列编号,所有归档表和更新表共享该序列编号进行记录,因此该序列编号的大小直接决定了操作发生的先后循序。除了通过操作时间来定位操作记录,对于同一时刻的操作,可以进一步通过归档表或更新表的操作编号进一步确定先后顺序,从而对数据变化情况进行推演,当对数据的操作出现错误或者对数据的操作为非法操作时,通过逆序操作可以将数据回滚到某时间点。
在示例性的实施例中,所述方法还包括:
将所述审计结果存储于区块链上。
将数据归档表和数据更新表上传至区块链可保证其安全性。用户设备可以从区块链中下载得数据归档表和数据更新表,以便查证数据归档表和数据更新表是否被篡改。在示例性的实施例中,还可以在区块链中设置审计记录删除策略,可以设置为永久保留、或设置一定的保留周期,到期后自动删除。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本发明实施例通过数据库触发器进行数据库审计,避免了通过日志解析的高复杂度要求,通过查询相关审计表即可快速获取审计信息,避免从大量无效信息中筛选;通过设置要审计的表和列,可以降低审计信息带来的存储负担;通过触发器代码自动化工具,可以对某个表进行快速部署审计,也可按需快速卸载审计代码;可根据插入、删除、更新的审计记录,对数据变化情况进行推演,通过逆序操作可以将数据回滚到某时间点。
实施例二
请继续参阅图5,示出了本发明数据库自动化审计系统的程序模块示意图。在本实施例中,数据库自动化审计系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述数据库自动化审计方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述数据库自动化审计系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
待审计数据库表获取模块200,用于获取数据库中的待审计数据库表。
触发器生成模块202,用于根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计。
进一步地,触发器生成模块202还用于:
获取用于审计待审计数据库表的固定字段;
获取所述待审计数据库表的表名称和所述待审计数据库表中需要审计的列数据;
将所述表名称和所述列数据填充到所述固定字段的相应位置处,生成所述待审计数据库表对应的触发器。
预定操作判断模块204,用于响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型。
审计结果生成模块206,用于当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
审计结果生成模块206还用于,获取用于审计的公共字段;
当所述预定操作为对待审计数据库表中的数据插入操作时,记录插入的数据值或者
当所述预定操作为对待审计数据库表中的数据删除操作时,所述触发器记录删除的数据值;
将所述用于审计的公共字段和所述插入的数据值和/或删除的数据值写入所述数据归档表中。
审计结果生成模块206还用于,获取用于审计的公共字段;
当所述预定操作为对待审计数据库表中的数据更新操作时,所述触发器记录更新之前的数据值和更新之后的数据值;
将所述用于审计的公共字段、所述更新之前的数据值和更新之后的数据值分别写入所述数据更新表中。审计结果生成模块206还用于,根据所述操作编号,生成与所述用户对所述待审计数据库表的操作对应的序列编号。
审计结果生成模块206还用于,将所述审计结果存储于区块链上。
实施例三
参阅图6,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图6所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及数据库自动化审计系统20。其中:
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如上述实施例所述的数据库自动化审计系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行数据库自动化审计系统20,以实现上述实施例的数据库自动化审计方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图6仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述数据库自动化审计系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
例如,图5示出了所述实现数据库自动化审计系统20实施例二的程序模块示意图,该实施例中,所述基于数据库自动化审计系统20可以被划分为待审计数据库表获取模块200、触发器生成模块202、预定操作判断模块204和审计结果生成模块206。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述数据库自动化审计系统20在所述计算机设备2中的执行过程。所述程序模块待审计数据库表获取模块200-审计结果生成模块206的具体功能在上述实施例中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储数据库自动化审计系统20,被处理器执行时实现上述实施例所述的数据库自动化审计方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据库自动化审计方法,其特征在于,包括:
获取数据库中的待审计数据库表;
根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;
响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;
当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
2.根据权利要求1所述的数据库自动化审计方法,其特征在于,所述根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计包括:
获取用于审计所述待审计数据库表的固定字段;
获取所述待审计数据库表的表名称和所述待审计数据库表中需要审计的列数据;
将所述表名称和所述列数据填充到所述固定字段的相应位置处,生成所述待审计数据库表对应的触发器。
3.根据权利要求2所述的数据库自动化审计方法,其特征在于,所述预定操作类型包括如下中的至少一个:
对所述待审计数据库表中的数据插入操作;
对所述待审计数据库表中的数据删除操作;
对所述待审计数据库表中的数据更新操作。
4.根据权利要求3所述的数据库自动化审计方法,其特征在于,所述当所述操作为预定操作时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表包括:
获取用于审计的公共字段;
当所述预定操作为对待审计数据库表中的数据插入操作时,所述触发器记录插入的数据值或者
当所述预定操作为对待审计数据库表中的数据删除操作时,所述触发器记录删除的数据值;
将所述用于审计的公共字段和所述插入的数据值和/或删除的数据值写入所述数据归档表中。
5.根据权利要求3所述的数据库自动化审计方法,其特征在于,所述当所述操作为预定操作时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表包括:
获取用于审计的公共字段;
当所述预定操作为对待审计数据库表中的数据更新操作时,所述触发器记录更新之前的数据值和更新之后的数据值;
将所述用于审计的公共字段、所述更新之前的数据值和更新之后的数据值分别写入所述数据更新表中。
6.根据权利要求4或5所述的数据库自动化审计方法,其特征在于,不同的预定操作类型对应不同的操作编号,所述方法还包括:
根据所述操作编号,生成与所述用户对所述待审计数据库表的操作对应的序列编号。
7.根据权利要求6所述的数据库自动化审计方法,其特征在于,所述方法还包括:
将所述审计结果存储于区块链上。
8.一种数据库自动化审计系统,其特征在于,包括:
待审计数据库表获取模块,用于获取数据库中的待审计数据库表;
触发器生成模块,用于根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;
预定操作判断模块,用于响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;
审计结果生成模块,用于当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
9.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的数据库自动化审计方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至7中任一项所述的数据库自动化审计方法的步骤。
CN202010725560.9A 2020-07-24 2020-07-24 数据库自动化审计方法、系统、设备及存储介质 Active CN111858605B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010725560.9A CN111858605B (zh) 2020-07-24 2020-07-24 数据库自动化审计方法、系统、设备及存储介质
PCT/CN2020/117926 WO2021174817A1 (zh) 2020-07-24 2020-09-25 数据库自动化审计方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010725560.9A CN111858605B (zh) 2020-07-24 2020-07-24 数据库自动化审计方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111858605A true CN111858605A (zh) 2020-10-30
CN111858605B CN111858605B (zh) 2023-10-03

Family

ID=72949499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010725560.9A Active CN111858605B (zh) 2020-07-24 2020-07-24 数据库自动化审计方法、系统、设备及存储介质

Country Status (2)

Country Link
CN (1) CN111858605B (zh)
WO (1) WO2021174817A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661693A (zh) * 2022-02-21 2022-06-24 哪吒港航智慧科技(上海)有限公司 数据审计的实现方法、存储介质、电子设备及系统
CN116522030A (zh) * 2023-04-28 2023-08-01 上海任意门科技有限公司 信息处理方法、装置和存储介质
CN116701545A (zh) * 2023-08-09 2023-09-05 建信金融科技有限责任公司 审计数据分析方法、装置、存储介质及处理器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127448B1 (en) * 2000-04-26 2006-10-24 Oracle International Corporation Reforming queries to selectively audit accesses to rows within a relational database
US20070198552A1 (en) * 2006-02-14 2007-08-23 Phil Farrand System, method, and programs for automatically building audit triggers on database tables
US20090164496A1 (en) * 2007-12-19 2009-06-25 Microsoft Corporation Integrated governance and version audit logging
US20170286471A1 (en) * 2016-03-31 2017-10-05 Mckesson Corporation Methods and apparatuses for enterprise revision-based auditing of database management systems
CN111061745A (zh) * 2019-10-10 2020-04-24 望海康信(北京)科技股份公司 数据同步系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480166A (zh) * 2017-06-26 2017-12-15 杭州沃趣科技股份有限公司 一种数据库数据对象审计的方法
US11265348B2 (en) * 2019-01-14 2022-03-01 International Business Machines Corporation Ongoing and on-demand secure verification of audit compliance

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127448B1 (en) * 2000-04-26 2006-10-24 Oracle International Corporation Reforming queries to selectively audit accesses to rows within a relational database
US20070198552A1 (en) * 2006-02-14 2007-08-23 Phil Farrand System, method, and programs for automatically building audit triggers on database tables
US20090164496A1 (en) * 2007-12-19 2009-06-25 Microsoft Corporation Integrated governance and version audit logging
US20170286471A1 (en) * 2016-03-31 2017-10-05 Mckesson Corporation Methods and apparatuses for enterprise revision-based auditing of database management systems
CN111061745A (zh) * 2019-10-10 2020-04-24 望海康信(北京)科技股份公司 数据同步系统及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661693A (zh) * 2022-02-21 2022-06-24 哪吒港航智慧科技(上海)有限公司 数据审计的实现方法、存储介质、电子设备及系统
CN116522030A (zh) * 2023-04-28 2023-08-01 上海任意门科技有限公司 信息处理方法、装置和存储介质
CN116701545A (zh) * 2023-08-09 2023-09-05 建信金融科技有限责任公司 审计数据分析方法、装置、存储介质及处理器

Also Published As

Publication number Publication date
WO2021174817A1 (zh) 2021-09-10
CN111858605B (zh) 2023-10-03

Similar Documents

Publication Publication Date Title
CN111858605B (zh) 数据库自动化审计方法、系统、设备及存储介质
CN109446068B (zh) 接口测试方法、装置、计算机设备和存储介质
WO2019134339A1 (zh) 脱敏方法、程序、应用服务器及计算机可读存储介质
CN112416728A (zh) 埋点数据获取方法、装置、客户端设备及可读存储介质
CN111737227B (zh) 数据修改方法及系统
CN112650658A (zh) 应用程序的异常记录和复现方法、装置及存储介质
CN111131221A (zh) 接口校验的装置、方法及存储介质
CN112561370A (zh) 软件发版的管理方法、装置、计算机设备及存储介质
CN110191097B (zh) 登录页面安全性的检测方法、系统、设备及存储介质
CN112256532A (zh) 测试界面生成方法、装置、计算机设备及可读存储介质
CN112685077A (zh) 数据修改方法、系统、计算机设备及计算机可读存储介质
WO2019071899A1 (zh) 电子装置、车辆数据导入方法及存储介质
CN112527414A (zh) 一种基于前端的数据处理方法、装置、设备及存储介质
CN111767262A (zh) 日志展示方法、装置、设备及存储介质
US7877474B2 (en) Method for generating and administering templates for event management
CN115310011A (zh) 页面展示方法、系统以及可读存储介质
CN113010208A (zh) 一种版本信息的生成方法、装置、设备及存储介质
CN114780412A (zh) 页面测试方法、系统、设备及介质
CN113626844A (zh) 用户权限控制方法、系统、计算机设备及存储介质
CN114490196A (zh) 数据库切换方法、系统、设备及介质
CN112650613A (zh) 一种错误信息处理方法、装置、电子设备及存储介质
CN112231232A (zh) 确定测试数据模型及生成测试数据的方法、装置及设备
CN111400309B (zh) 数据更新方法、电子装置及可读存储介质
CN113434359B (zh) 数据溯源系统构建方法、装置、电子设备及可读存储介质
CN116661758B (zh) 一种优化日志框架配置的方法、装置、电子设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant