一种数据权限处理方法及计算机可读存储介质

文档序号:190909 发布日期:2021-11-02 浏览:21次 >En<

阅读说明:本技术 一种数据权限处理方法及计算机可读存储介质 (Data authority processing method and computer readable storage medium ) 是由 简勇华 叶建林 赵杰辉 于 2021-08-12 设计创作,主要内容包括:本申请实施例提供了一种数据权限处理方法及计算机可读存储介质,其中方法包括:认证鉴权模块按照预设数据层级筛选策略为租户账号获取层级数据,对层级数据生成权限策略;当权限策略绑定到认证鉴权用户账号时,认证鉴权模块将权限策略下推至权限策略对应的目标数据库服务;目标数据库服务将权限策略转换为底层SQL赋权语句,将底层SQL赋权语句应用到对应的底层数据库。这样,实现了基于预设数据层级筛选策略生成权限策略,将权限策略转换为底层SQL赋权语句,将底层SQL赋权语句应用到对应的底层数据库,不再需要在云上存储海量元数据信息,减少数据存储量,提高处理速度。(The embodiment of the application provides a data authority processing method and a computer readable storage medium, wherein the method comprises the following steps: the authentication module acquires level data for the tenant account according to a preset data level screening strategy and generates a permission strategy for the level data; when the authority strategy is bound to the authentication user account, the authentication module pushes down the authority strategy to a target database service corresponding to the authority strategy; the target database service converts the permission policy into a bottom SQL empowerment statement, and applies the bottom SQL empowerment statement to the corresponding bottom database. Therefore, the authority strategy is generated based on the preset data level screening strategy, the authority strategy is converted into the bottom SQL empowerment statement, the bottom SQL empowerment statement is applied to the corresponding bottom database, massive metadata information does not need to be stored on the cloud any more, data storage capacity is reduced, and processing speed is improved.)

一种数据权限处理方法及计算机可读存储介质

技术领域

本发明涉及数据安全技术领域,尤其涉及一种数据权限处理方法及计算机可读存储介质。

背景技术

现有数据认证授权技术一般是通过云上控制认证授权方式及数据库认证鉴权方式,云上控制认证授权是指利用关系型数据库服务(Relational Database Service,RDS)的管理控制台或者身份认证管理(Identity and Access Management,IAM)模块这些在数据库之上的模块进行中间层认证和权限控制。数据库认证鉴权方式就是使用数据库自身的身份认证和权限体系。云上控制认证授权方式存在以下缺点:所有的用户信息和数据对象的权限信息都存储在云上,数据量大;无法通过云上账户直接登录数据库,因为数据库账户和云上账户是两套账户,即用户必须先使用云账号登录数据库服务界面,再使用数据库账号登录数据库管理控制台;登录结构化查询语言(Structured Query Language,SQL)控制台需要额外输入数据库用户账号及密码。

数据库认证鉴权方式存在以下缺点:无法将各数据库服务的集中式管理,因为每个数据库服务都有其自身的认证和权限体系;无法将用户体系和公司员工体系进行统一,因为底层数据库服务无法获取到公司员工体系信息;数据库权限无法和用户页面操作权限统一。

从上可知,现有数据认证授权技术存在数据认证授权系统管理困难的问题。

发明内容

为了解决上述技术问题,本发明实施例提供了一种数据权限处理方法及计算机可读存储介质。

第一方面,本发明实施例提供了一种数据权限处理方法,包括:

认证鉴权模块按照预设数据层级筛选策略为租户账号获取层级数据,对所述层级数据生成权限策略;

当所述权限策略绑定到认证鉴权用户账号时,所述认证鉴权模块将所述权限策略下推至所述权限策略对应的目标数据库服务;

所述目标数据库服务将所述权限策略转换为底层SQL赋权语句,将所述底层SQL赋权语句应用到对应的底层数据库。

可选的,所述预设数据层级筛选策略为依次按照数据库服务、数据库实例、数据库、模式、表、及行列进行筛选的策略。

可选的,所述方法还包括:

所述认证鉴权模块为所述租户账号创建所述预设数据层级筛选策略。

可选的,所述认证鉴权模块按照预设数据层级筛选策略为租户账号获取层级数据,包括:

所述认证鉴权模块从后台数据库服务模块获取所述租户账号在预设数据库服务的可用数据库实例,从所述可用数据库实例中选择目标数据库实例;

所述认证鉴权模块控制所述后台数据库服务模块从与所述目标数据库实例对应的第一底层数据库中查询所述目标数据库实例对应的可用数据库列表;

所述认证鉴权模块从所述可用数据库列表中选择目标数据库列表,从所述目标数据库列表中选择目标数据库,控制所述后台数据库服务模块从与所述目标数据库对应的第二底层数据库中查询所述目标数据库对应的可用数据对象列表;

所述认证鉴权模块从所述可用数据对象列表中选择目标数据对象列表,控制所述后台数据库服务模块从与所述目标数据对象列表对应的第三底层数据库查询所述目标数据对象列表对应的数据列列表;

所述认证鉴权模块从所述数据列表选择目标数据列,对所述目标数据列表生成权限策略。

可选的,所述通过所述后台数据库服务模块从第一底层数据库中查询所述目标数据库实例对应的可用数据库列表之前,所述方法还包括:

所述后台数据库服务模块与所述第一底层数据库连接;

所述通过所述后台数据库服务模块从与所述目标数据库对应的第二底层数据库中查询所述目标数据库对应的可用数据对象列表之前,所述方法还包括:

所述后台数据库服务模块与所述第二底层数据库连接;

所述通过所述后台数据库服务模块从与所述目标数据对象列表对应所述第三底层数据库查询所述目标数据对象列表对应的数据列列表之前,所述方法还包括:

所述后台数据库服务模块与所述第三底层数据库连接。

可选的,所述方法还包括:

在所述认证鉴权用户账号为首次绑定权限策略、及所述认证鉴权模块向所述目标数据库服务下推所述权限策略后,所述目标数据库服务映射SQL用户创建语句;

所述目标数据库服务对应的底层数据库根据所述SQL用户创建语句创建对应的认证鉴权用户账号。

可选的,所述方法还包括:

所述认证鉴权模块经认证后获取所述权限策略对应的目标底层数据库的登录令牌,所述目标数据库服务将所述登录令牌以及登录用户账号下发到目标底层数据库;

所述目标底层数据库通过所述认证鉴权模块鉴权所述登录令牌的合法性,若校验结果为登录令牌合法,则登录底层数据库;

所述目标底层数据库通过可插拔外部鉴权模块在所述认证鉴权模块中鉴权所述登录令牌的合法性,若校验通过,则根据所述登录用户账号登录所述目标底层数据库。

可选的,所述方法还包括:

所述认证鉴权模块对所述权限策略设置策略验证条件,在触发所述策略验证条件的情况下,向所述权限策略对应的所述目标数据库服务发送验证请求;

所述目标数据库服务对所述权限策略的有效性进行验证,若所述权限策略处于失效状态,则删除所述权限策略。

可选的,所述方法还包括:

所述认证鉴权模块对所述权限策略设置权限时长,在所述权限策略下推到对应的所述目标数据库服务后,所述目标数据库服务获取所述权限策略的权限时长,并在所述权限策略的使用时长达到所述权限时长时,触发苏搜权限策略的权限回收。

第二方面,本发明实施例提供了计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面所述的数据权限处理方法。

上述本申请提供的数据权限处理方法及计算机可读存储介质,认证鉴权模块按照预设数据层级筛选策略为租户账号获取层级数据,对所述层级数据生成权限策略;当所述权限策略绑定到认证鉴权用户账号时,所述认证鉴权模块将所述权限策略下推至所述权限策略对应的目标数据库服务;所述目标数据库服务将所述权限策略转换为底层SQL赋权语句,将所述底层SQL赋权语句应用到对应的底层数据库。这样,实现了基于预设数据层级筛选策略生成权限策略,将所述权限策略转换为底层SQL赋权语句,将所述底层SQL赋权语句应用到对应的底层数据库,不再需要在云上存储海量元数据信息,减少数据存储量,提高处理速度,降低权限管理难度。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。

图1示出了本申请实施例提供的数据权限处理方法的一流程示意图;

图2示出了本申请实施例提供的数据权限处理方法的步骤S101的一流程示意图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。

此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。

实施例1

本公开实施例提供了一种数据权限处理方法。

具体,请参阅图1,数据权限处理方法包括:

步骤S101,认证鉴权模块按照预设数据层级筛选策略为租户账号获取层级数据,对所述层级数据生成权限策略。

在本实施例中,认证鉴权(Identity and Access Management,IMA)模块对网络租用用户账号的数据使用权限进行管理,IAM模块保存有不同服务的网络地址。在本实施例中,企业有多种数据库服务,各数据库服务包括多个数据库实例,各数据库实例包括多个数据库,各数据库包括多个模式(schema),各模式包括下有多张表,各数据表包括多个行和列。将数据库对象元数据存储在IAM模块中不现实,元数据数据量太大,此时可以采用基于预设数据层级筛选策略。

可选的,所述预设数据层级筛选策略为依次按照数据库服务、数据库实例、数据库、模式、表、及行列进行筛选的策略。

在本实施例中,通过数据库服务→数据库实例→数据库→模式(schema)表→行/列的方式,向后台数据库服务模块层级拉取数据,将IAM元数据存储转换为多次层级交互。

补充说明的是,如果用户知道具体要赋予权限的数据对象,可以直接手动生成策略,并进行策略可行性校验。

可选的,所述方法还包括:

所述认证鉴权模块为所述租户账号创建所述预设数据层级筛选策略。

在本实施例中,可以以企业的租户账号登录所述认证鉴权模块,所述认证鉴权模块为登录的租户账号创建对应的预设数据层级筛选策略。

步骤S102,当所述权限策略绑定到认证鉴权用户账号时,所述认证鉴权模块将所述权限策略下推至所述权限策略对应的目标数据库服务。

当权限策略绑定(attach)到具体IAM模块的租户账号时,触发权限策略下推,比如:权限策略为:ADB(数据库服务名):instance_01(实例名):db_01(数据库名):schema_01(schema名):table_01(表名):column_01(列名):select(针对该数据库对象的具体权限/action)attach到某个IAM用户账号:张三时,IAM模块向具体数据库服务(ADB)下推该权限策略。

步骤S103,所述目标数据库服务将所述权限策略转换为底层结构化查询语言(Structured Query Language,SQL)赋权语句,将所述底层SQL赋权语句应用到对应的底层数据库。

在本实施例中,生成SQL赋权语句后,分析型数据(Analytic Data Base,ADB)服务将其应用到底层关系型数据库,至此该策略生效。

这样,实现了基于预设数据层级筛选策略生成权限策略,将所述权限策略转换为底层SQL赋权语句,将所述底层SQL赋权语句应用到对应的底层数据库,不再需要在云上存储海量元数据信息,减少数据存储量,提高处理速度。实现了基于权限策略的数据库权限云上集权式管理,通过灵活的权限策略生成,可以定制不同用户对于不同数据库对象的细粒度的权限控制,并且在云上进行集权管理。

可选的,请参阅图2,步骤S101包括:

步骤S1011,所述认证鉴权模块从后台数据库服务模块获取所述租户账号在预设数据库服务的可用数据库实例,从所述可用数据库实例中选择目标数据库实例;

步骤S1012,所述认证鉴权模块控制所述后台数据库服务模块从与所述目标数据库实例对应的第一底层数据库中查询所述目标数据库实例对应的可用数据库列表;

步骤S1013,所述认证鉴权模块从所述可用数据库列表中选择目标数据库列表,从所述目标数据库列表中选择目标数据库,控制所述后台数据库服务模块从与所述目标数据库对应的第二底层数据库中查询所述目标数据库对应的可用数据对象列表;

步骤S1014,所述认证鉴权模块从所述可用数据对象列表中选择目标数据对象列表,控制所述后台数据库服务模块从与所述目标数据对象列表对应的第三底层数据库查询所述目标数据对象列表对应的数据列列表;

步骤S1015,所述认证鉴权模块从所述数据列表选择目标数据列,对所述目标数据列生成权限策略。

可选的,步骤S102之前,所述方法还包括:

所述后台数据库服务模块与所述第一底层数据库连接;

步骤S103之前,所述方法还包括:

所述后台数据库服务模块与所述第二底层数据库连接;

步骤S104之前,所述方法还包括:

所述后台数据库服务模块与所述第三底层数据库连接。

可选的,所述方法还包括:

在所述认证鉴权用户账号为首次绑定权限策略、及所述认证鉴权模块向所述目标数据库服务下推所述权限策略后,所述目标数据库服务映射SQL用户创建语句;

所述目标数据库服务对应的底层数据库根据所述SQL用户创建语句创建对应的认证鉴权用户账号。

在本实施例中,步骤S103中所述目标数据库服务将所述权限策略转换为底层结构化查询语言(Structured Query Language,SQL)赋权语句之后,判断该权限策略绑定的IMA用户账号是否在底层数据库中存在,若不存在,在底层数据库中为IMA用户账号创建对应的账号,创建的账号采用基于IAM令牌的外部认证方式进行无密码访问。

可选的,所述方法还包括:

所述认证鉴权模块经认证后获取所述权限策略对应的目标底层数据库的登录令牌,所述目标数据库服务将所述登录令牌以及登录用户账号下发到目标底层数据库,

所述目标底层数据库通过所述认证鉴权模块鉴权所述登录令牌的合法性,若校验结果为登录令牌合法,则登录底层数据库;

所述目标底层数据库通过可插拔外部鉴权模块在所述认证鉴权模块中鉴权所述登录令牌的合法性,若校验通过,则根据所述登录用户账号登录所述目标底层数据库。

举例来说,用户通过IAM模块进行认证,获取到登录ADB服务的令牌(token),ADB服务将该令牌以及登录用户名下发到底层关系型数据库,底层关系型数据库通过可插拔外部鉴权模块到IAM模块中鉴权该令牌的合法性,校验通过即可根据登录用户名登录底层关系型数据库,至此,实现了IAM用户的底层关系型数据库的认证登录。

这样,实现底层数据库用户和云上IMA模块用户的统一,各个数据库服务不再单独使用自己的一套用户体系,而是和云上IMA用户使用一套用户体系,用户不再需要进行云上IMA账户以及底层数据库账户的多次登录,即实现了数据库服务和云服务的单点登录,简化验证处理过程。

可选的,所述方法还包括:

所述认证鉴权模块对所述权限策略设置策略验证条件,在触发所述策略验证条件的情况下,向所述权限策略对应的所述目标数据库服务发送验证请求;

所述目标数据库服务对所述权限策略的有效性进行验证,若所述权限策略处于失效状态,则删除所述权限策略。

在实际应用过程中,IAM模块和底层数据库可能会存在权限不同步的问题。举例来说,在t0时刻,IAM模块给用户张三赋予了table01的select权限,t1时刻管理员删除了table01表,那么此时张三虽然拥有该权限策略但是实际已经失效。

本实施例通过设置策略验证条件,即可以在IAM模块上为每一条权限策略设置策略验证条件,策略验证条件可以手动触发也可以设置定时触发,在策略验证条件触发后,IAM模块下发该权限策略的验证请求到该权限策略具体应用到的数据库服务上,各具体数据库服务服务返回权限策略的有效性,如果策略失效,则进行策略的自动删除。

这样,实现了对权限策略的权限监控机制,以便于对失效的权限策略进行有效回收。

可选的,所述方法还包括:

所述认证鉴权模块对所述权限策略设置权限时长,在所述权限策略下推到对应的所述目标数据库服务后,所述目标数据库服务获取所述权限策略的权限时长,并在所述权限策略的使用时长达到所述权限时长时,触发苏搜权限策略的权限回收。

可以理解的是,为某个用户账号赋予的权限策略不一定是长久生效的,在为用户设置权限策略的时候,可以指定权限时效性,通过在权限策略中添加权限时长以控制具体IAM用户账号的权限时效,例如,权限时长为7天,在此不做限制。当权限策略下推到具体数据库服务后,数据库服务解析权限时长,并生成该权限策略的权限回收触发器,待时长到期后,权限回收触发器自动触发该权限策略的权限回收,执行SQL权限回收语句以及用户销毁语句,销毁该权限回收触发器。权限回收是权限应用的逆过程。

这样,实现了权限策略的定时回收机制,更好地利用权限策略,合理设计权限策略的权限时长,以提高对权限策略的高效管理。

本申请实施例提供的数据权限处理方法,认证鉴权模块按照预设数据层级筛选策略为租户账号获取层级数据,对所述层级数据生成权限策略;当所述权限策略绑定到认证鉴权用户账号时,所述认证鉴权模块将所述权限策略下推至所述权限策略对应的目标数据库服务;所述目标数据库服务将所述权限策略转换为底层SQL赋权语句,将所述底层SQL赋权语句应用到对应的底层数据库。这样,实现了基于预设数据层级筛选策略生成权限策略,将所述权限策略转换为底层SQL赋权语句,将所述底层SQL赋权语句应用到对应的底层数据库,不再需要在云上存储海量元数据信息,减少数据存储量,提高处理速度。实现了基于权限策略的数据库权限云上集权式管理,通过灵活的权限策略生成,可以定制不同用户对于不同数据库对象的细粒度的权限控制,并且在云上进行集权管理。

实施例2

此外,本公开实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行实施例1提供的数据权限处理方法。

本申请提供的计算机可读存储介质可以实施例1提供的数据权限处理方法,达到相同的效果,为避免重复,在此不做赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据脱敏方法以及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类