对mysql用户权限信息进行批量授权的方法和装置
技术领域
本发明涉及计算机数据处理领域,尤其涉及一种对mysql用户权限信息进行批量授权的方法和装置。
背景技术
在企业的日常运行管理过程中,通常会产生很多包含技术设计等机密敏感信息的文档。为了防止这些信息被非法访问,有必要对上述机密文档进行权限管理,以此来防止企业文件财富流失。具体的,权限管理的作用就是限制指定范围用户对指定文件夹或文件进行相关操作,但目前的文件授权是通过登录数据库服务器,然后登录到相应的实例,进行一个个手工编写命令授权。
目前通用的登录服务器手动编写命令授权的方法,其缺点比较明显的是无法批次授权,需要一个一个用户单独授权,导致效率低下,且无审核机制,安全性较差。
发明内容
为了解决上述至少之一的问题,本发明提供一种对mysql用户权限信息进行批量授权的方法和装置。
第一方面,本发明提供一种对mysql用户权限信息进行批量授权的方法,该方法包括:
获取mysql内多个用户权限申请信息;
判断用户权限申请信息的权限类型;
若为普通权限,则对多个用户权限进行批量授权;
若为高级权限,则将权限申请信息上报审批系统。
进一步地,用户权限申请信息包括:
用户端ip列表、用户待访问的数据实例名称、用户待访问的数据实例对应的数据库名称、用户权限申请时间段、权限类型列表。
进一步地,判断用户权限申请信息的权限类型包括:
基于权限申请信息得到与权限信息对应的操作信息;
评估操作信息对应的风险值;
基于风险值确认权限的类型。
进一步地,获取mysql内多个用户权限申请信息之后包括:
判断用户权限申请信息内的用户待访问的数据实例名称与用户待访问的数据实例对应的数据库名称是否相一致;
若不一致,则提示数据库不存在。
第二方面,本发明提供一种对mysql用户权限信息进行批量授权的装置,该装置包括:
用户权限申请信息获取模块,用于获取mysql内多个用户权限申请信息;
权限类型判断模块,用于判断用户权限申请信息的权限类型;
批量审批模块,用于若为普通权限,则对多个用户权限进行批量授权;
上报审批模块,用于若为高级权限,则将权限申请信息上报审批系统。
进一步地,用户权限申请信息包括:
用户端ip列表、用户待访问的数据实例名称、用户待访问的数据实例对应的数据库名称、用户权限申请时间段、权限类型列表。
进一步地,权限类型判断模块包括:
对应操作单元,用于基于权限申请信息得到与权限信息对应的操作信息;
评估单元,用于评估操作信息对应的风险值;
确认类型单元,用于基于风险值确认权限的类型。
进一步地,用户权限申请信息获取模块之后包括:
判断模块,用于判断用户权限申请信息内的用户待访问的数据实例名称与用户待访问的数据实例对应的数据库名称是否相一致;
提示模块,用于若不一致,则提示数据库不存在。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现第一方面提供的对mysql用户权限信息进行批量授权的方法的步骤。
第四方面,本发明提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面提供的对mysql用户权限信息进行批量授权的方法的步骤。
本发明提供的对mysql用户权限信息进行批量授权的方法和装置,减少了人工授权,登录服务器的风险;提升运维工作效率,加快授权过程;同时加入流程审计,使得每种权限类型都有相应的日志详情记录,方便追溯。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的对mysql用户权限信息进行批量授权的方法流程示意图;
图2为本发明实施例提供的对mysql用户权限信息进行批量授权的方法的整体流程示意图;
图3为本发明实施例提供的对mysql用户权限信息进行批量授权的装置框图;
图4为本发明实施例提供的电子设备框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
目前的文件授权是通过登录数据库服务器,然后登录到相应的实例,进行一个个手工编写命令授权,缺点比较明显的是无法批次授权,需要一个一个用户单独授权,导致效率低下,且无审核机制,安全性较差。为了解决上述至少一个问题,本发明实施例提供一种对mysql用户权限信息进行批量授权的方法,如图1所示,该方法包括:
步骤S101,获取mysql内多个用户权限申请信息;
步骤S102,判断用户权限申请信息的权限类型;
步骤S103,若为普通权限,则对多个用户权限进行批量授权;
步骤S104,若为高级权限,则将权限申请信息上报审批系统。
具体为,各用户在申请访问权限时,需要填写申请访问权限的条件信息,运维系统服务器可以获取提交的mysql数据库内多个用户权限申请信息;根据用户权限申请信息内填写的所属权限列表,得到用户权限申请信息的权限类型;其中权限类型分为普通权限和高级权限,当判断得出当前用户权限类型为普通权限,则对多个用户权限进行批量授权;若为高级权限,则将权限申请信息上报审批系统,需要申请人的上一级进行复核审批该权限,其中上级包含直接上级,直接上级的上级一直到总监级别审批完成。
本发明实施例提供的对mysql用户权限信息进行批量授权的方法,减少了人工授权,登录服务器的风险;提升运维工作效率,加快授权过程;同时加入流程审计,使得每种权限类型都有相应的日志详情记录,方便追溯。
基于上述各实施例的内容,作为一种可选实施例:用户权限申请信息包括:
用户端ip列表、用户待访问的数据实例名称、用户待访问的数据实例对应的数据库名称、用户权限申请时间段、权限类型列表。
具体为,每个申请访问权限的用户都包含自身的ip地址,此时服务器可批量获取客户端的ip列表(也可是单个ip地址),此时要将用户端ip列表内容信息填写完整,还需填写用户待访问的数据实例名称、各用户待访问的数据实例对应的数据库名称、用户权限申请时间段(比如在早上8点到下午2点期间)、权限类型列表,比如高级权限列表和普通权限列表。
基于上述各实施例的内容,作为一种可选实施例:判断用户权限申请信息的权限类型包括:
基于权限申请信息得到与权限信息对应的操作信息;
评估操作信息对应的风险值;
基于风险值确认权限的类型。
具体为,在本发明实施例中,将权限列表分为普通权限和高级权限;其中,a.普通权限:usage、select、update、process、insert、delete、index、show等不涉及高风险的操作的权限;b.高级权限:alter、drop、file、reload、create、super等可以直接操作实例本身的权限;
获取当前权限申请信息内的权限信息,即权限类型,基于上述各权限类型对权限申请信息进行相应的操作,比如,风险值是usage,则属于普通权限类型,对对应的多个用户权限进行批量授权;如风险值是alter,则属于高级权限类型,将该权限申请信息上报审批系统进行上级审批。不论是普通权限类型还是高级权限类型,在授权完成后申请人会有邮件告知完成授权,也可以在运维系统中看到申请授权成功后的基础信息。
本发明实施例通过对权限申请信息内的不同权限类型做对应操作,能够按照制定规则较快完成授权流程,达到提高审批效率的目的。
基于上述各实施例的内容,作为一种可选实施例:获取mysql内多个用户权限申请信息之后包括:
判断用户权限申请信息内的用户待访问的数据实例名称与用户待访问的数据实例对应的数据库名称是否相一致;
若不一致,则提示数据库不存在。
具体为,在各用户完成权限申请信息的填写后,系统会进行初步的验证,对数据库名称做验证,如果实例中不存在该数据库名,则直接页面提示,该数据库不存在。若存在,才进行后面的审批授权操作。另外,在本发明实施例中,需要对权限申请信息内要求待填写的所有内容全部填写完整,这样才能进行授权审批的操作,即权限申请信息内的用户端ip列表、用户待访问的数据实例名称、用户待访问的数据实例对应的数据库名称、用户权限申请时间段、权限类型列表等都需要服务器获取成功后,才能根据获取的权限类型去直接进行批量审批或上传审批系统待上级审批。
基于上述各实施例的内容,作为一种可选实施例:如图2所示,图2为本发明实施例提供的对mysql用户权限信息进行批量授权的方法的整体流程示意图,详细步骤如下:
步骤1:权限申请;
步骤2:选择数据库实例、数据库名称、勾选授权的权限、授权时间段、填写访问客户端ip;
步骤3:数据库是否存在;若不存在,则执行步骤4;否则,执行步骤5;
步骤4:提示不存在该数据库;
步骤5:是否需要高级权限;若不需要,则执行步骤6;否则,执行步骤7;
步骤6:自动授权并返回随机密码;
步骤7:上级审核,之后执行步骤6。
根据本发明的再一个方面,本发明实施例提供对mysql用户权限信息进行批量授权的装置,参见图3,图3为本发明实施例提供的对mysql用户权限信息进行批量授权的装置框图。该装置用于在前述各实施例中完成本发明实施例提供的对mysql用户权限信息进行批量授权。因此,在前述各实施例中的本发明实施例提供的对mysql用户权限信息进行批量授权的方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
该装置包括:
用户权限申请信息获取模块301,用于获取mysql内多个用户权限申请信息;
权限类型判断模块302,用于判断用户权限申请信息的权限类型;
批量审批模块303,用于若为普通权限,则对多个用户权限进行批量授权;
上报审批模块304,用于若为高级权限,则将权限申请信息上报审批系统。
具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。
本发明提供的对mysql用户权限信息进行批量授权的装置,减少了人工授权,登录服务器的风险;提升运维工作效率,加快授权过程;同时加入流程审计,使得每种权限类型都有相应的日志详情记录,方便追溯。
基于上述各实施例的内容,作为一种可选实施例:用户权限申请信息包括:
用户端ip列表、用户待访问的数据实例名称、用户待访问的数据实例对应的数据库名称、用户权限申请时间段、权限类型列表。
具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。
基于上述各实施例的内容,作为一种可选实施例:权限类型判断模块包括:
对应操作单元,用于基于权限申请信息得到与权限信息对应的操作信息;
评估单元,用于评估操作信息对应的风险值;
确认类型单元,用于基于风险值确认权限的类型。
具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。
本发明通过对权限申请信息内的不同权限类型做对应操作,能够按照制定规则较快完成授权流程,达到提高审批效率的目的。
基于上述各实施例的内容,作为一种可选实施例:用户权限申请信息获取模块之后包括:
判断模块,用于判断用户权限申请信息内的用户待访问的数据实例名称与用户待访问的数据实例对应的数据库名称是否相一致;
提示模块,用于若不一致,则提示数据库不存在。
具体的,本实施例的装置中各模块实现其功能的具体过程可参见对应的方法实施例中的相关描述,此处不再赘述。
图4为本发明实施例提供的电子设备框图,如图4所示,该设备包括:处理器401、存储器402和总线403;
其中,处理器401及存储器402分别通过总线403完成相互间的通信;处理器401用于调用存储器402中的程序指令,以执行上述实施例所提供的对mysql用户权限信息进行批量授权的方法,例如包括:获取mysql内多个用户权限申请信息;判断用户权限申请信息的权限类型;若为普通权限,则对多个用户权限进行批量授权;若为高级权限,则将权限申请信息上报审批系统。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现对mysql用户权限信息进行批量授权的方法的步骤。例如包括:获取mysql内多个用户权限申请信息;判断用户权限申请信息的权限类型;若为普通权限,则对多个用户权限进行批量授权;若为高级权限,则将权限申请信息上报审批系统。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后,本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。