CN114598520A - 资源访问控制的方法、装置、设备及存储介质 - Google Patents
资源访问控制的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114598520A CN114598520A CN202210208667.5A CN202210208667A CN114598520A CN 114598520 A CN114598520 A CN 114598520A CN 202210208667 A CN202210208667 A CN 202210208667A CN 114598520 A CN114598520 A CN 114598520A
- Authority
- CN
- China
- Prior art keywords
- access
- user
- language
- rule
- resource
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000006399 behavior Effects 0.000 claims description 47
- 238000004458 analytical method Methods 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 24
- 238000006243 chemical reaction Methods 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 abstract description 5
- 238000013523 data management Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000013475 authorization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供了一种资源访问控制的方法、装置、设备及存储介质,属于计算机技术领域。该方法过将自定义规则语言编译后运行在规则服务器上,使规则服务器在用户访问资源时对用户是否有访问权限进行分析,能够防止用户简单直接的访问与他拥有相同权限的用户资源,从而可以避免攻击者尝试访问与他拥有相同权限的用户的资源,以提高系统的安全性。此外,本申请提供的访问控制机制会在用户首次访问时根据任务需要定义具体不同的角色,为不同角色分配资源和操作权限,在用户访问非法资源超过一定次数时,动态的更改用户的权限,在用户曾多次尝试访问非法资源时,降低用户的权限,以提高系统的安全性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源访问控制的方法、装置、设备及存储介质。
背景技术
为了提高数据资源的安全性,需要对资源进行访问控制。访问控制是在数据、应用、系统、网络和权限等层面进行实现的。对于银行、证券等重要金融机构,访问控制是信息安全的关注重点。
通常来说,主要的访问控制类型可以包括三种:自主访问控制、强制访问控制和基于角色访问控制。其中,角色访问控制由于能够有效避免数据访问时的纵向越权(纵向越权指的是一个低级别攻击者尝试访问高级别用户的资源),从而得以广泛应用。基于角色的访问控制是通过对角色的访问所进行的控制,角色(Role)是一定数量的权限的集合,用户通过成为适当角色的成员而得到其角色的权限。
然而,基于角色的访问控制机制无法防止发生横向越权,横向越权指的是攻击者尝试访问与他拥有相同权限的用户的资源。举例来说,用户a,和用户b都可以查看订单,但是用户a不正当获取到用户b的查看订单统一资源定位(Uniform Resource Locator,URL)后,就可以访问b的订单情况。因而,如果在支付等交易环节发生横向越权,将会造成不可估量的损失和影响。
发明内容
本申请提供了一种资源访问控制的方法、装置、设备及存储介质,通过在用户访问数据资源的过程中,按照规则语言模型,根据用户的行为字段、权限字段、历史访问信息等对用户的访问结果进行分析,从而获取是否允许用户进行资源访问结果过程,能够保证避免用户非法访问数据资源的问题。
第一方面,提供了一种资源访问控制的方法,其中,所述方法包括:
接收用户终端发送的访问请求,所述访问请求用于请求访问数据资源,且所述访问请求包括访问用户对应的用户标识ID;
对所述访问请求进行规则语言转换,获取目标规则语言的访问请求,所述目标规则语言与访问请求对应的原始规则语言不同,且所述目标规则语言与所述数据资源对应的语言规则一致;
根据所述用户ID从规则数据库查询是否存在所述用户ID对应的历史访问信息,并获取查询结果,所述历史访问信息为所述目标规则语言,所述目标规则语言与访问请求对应的原始语言不同;
当所述查询结果指示所述规则数据库不存在所述用户ID对应的历史访问信息时,根据所述用户ID为所述访问用户分配第一访问权限;当所述查询结果指示所述规则数据库存在所述用户ID对应的历史访问数据时,根据所述用户ID从所述规则数据库获取所述访问用户的第二访问权限,其中,所述第一访问权限为用户首次访问时对应的权限,所述第二访问权限为用户非首次访问时对应的权限;
根据所述访问请求获取行为字段,并将所述行为字段、所述第一访问权限或所述第二访问权限,以及非法访问次数输入规则服务器,所述行为字段用于指示访问用户的访问行为,且所述行为字段、访问权限和非法访问次数均为目标规则语言;
获取所述规则服务器输出的访问分析结果,所述访问分析结果用于指示是否允许所述访问用户进行访问数据。
本申请实施例提供的资源访问控制的方法,可以具有以下有益技术效果:1、防止具有相同角色的用户横向越权查看数据资源。具体地,本提案提供的基于规则语言的资源访问控制方法通过设置自定义规则语言,并将该规则语言进行编译后运行在规则服务器上,能够对用户访问资源的合法性进行判断,可以防止用户简单直接地访问与其具有相同权限的用户资源,从而可以在访问资源过程中,避免攻击者容易访问、篡改其他用户资源的问题,提高系统以及数据资源的安全性。2、本申请实施例提供的基于规则语言的资源访问控制方法,在用户首次访问数据资源时,服务器可以为不同角色分配不同的资源访问权限,或者资源操作权限,在后续访问过程中,可以根据用户非法访问的次数,动态更改用户的权限,在用户多次尝试访问非法资源时,降低用户权限,从而提高资源的安全性。
结合第一方面,在第一方面的某些实现方式中,所述历史访问数据包括以下至少一项:
用户ID对应的所述第一访问权限或所述第二访问权限、用户ID对应的历史访问中的非法访问次数、合法访问次数。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:
当确定所述用户是首次访问数据资源时,根据所述访问请求获取所述用户对应的用户信息,所述用户信息包括所述用户ID、为访问用户分配的第一权限;
将获取的用户信息存储至规则数据库。
结合第一方面,在第一方面的某些实现方式中,所述对所述访问请求进行规则语言转换,获取目标规则语言的访问请求,具体包括:
通过规则服务器中的RE文件,将所述访问请求从所述原始规则语言转换为所述目标规则语言,所述原始规则语言为所述访问请求输入时对应的规则语言。
结合第一方面,在第一方面的某些实现方式中,对所述访问请求进行规则语言转换之前,所述方法还包括:
生成所述RE文件,所述RE文件用于指示转换为所述目标规则语言的规则。
结合第一方面,在第一方面的某些实现方式中,所述生成RE文件,具体包括:
对第一语言进行第一分析处理,所述第一分析处理包括去掉注释和/或词法分析,所述第一语言为自定义语言;
利用所述目标规则语言将处理后的所述第一语言转换为中间语言,所述中间语言为对所述第一语言进行述目标规则语言转换后获得的语言;
将所述中间语言编译为对应的代码;
根据所述代码生成所述RE文件。
本申请实施例提供的资源访问的方法,通过将自定义规则语言编译后运行在规则服务器上,使规则服务器在用户访问资源时对用户是否有访问权限进行分析,能够防止用户简单直接的访问与他拥有相同权限的用户资源,从而可以避免攻击者尝试访问与他拥有相同权限的用户的资源,以提高系统的安全性。此外,本申请提供的访问控制机制会在用户首次访问时根据任务需要定义具体不同的角色,为不同角色分配资源和操作权限,在用户访问非法资源超过一定次数时,动态的更改用户的权限,在用户曾多次尝试访问非法资源时,降低用户的权限,以提高系统的安全性。
第二方面,提供了一种资源访问控制的装置,包括:
接收模块,用于接收用户终端发送的访问请求,所述访问请求用于请求访问数据资源,且所述访问请求包括访问用户对应的用户标识ID;
转换模块,用于对所述访问请求进行规则语言转换,获取目标规则语言的访问请求,所述目标规则语言与访问请求对应的原始规则语言不同,且所述目标规则语言与所述数据资源对应的语言规则一致;
处理模块,用于根据所述用户ID从规则数据库查询是否存在所述用户ID对应的历史访问信息,并获取查询结果,所述历史访问信息为所述目标规则语言,所述目标规则语言与访问请求对应的原始语言不同;当所述查询结果指示所述规则数据库不存在所述用户ID对应的历史访问信息时,根据所述用户ID为所述访问用户分配第一访问权限;当所述查询结果指示所述规则数据库存在所述用户ID对应的历史访问数据时,根据所述用户ID从所述规则数据库获取所述访问用户的第二访问权限,其中,所述第一访问权限为用户首次访问时对应的权限,所述第二访问权限为用户非首次访问时对应的权限;根据所述访问请求获取行为字段,并将所述行为字段、所述第一访问权限或所述第二访问权限,以及非法访问次数输入规则服务器,所述行为字段用于指示访问用户的访问行为,且所述行为字段、访问权限和非法访问次数均为目标规则语言;获取所述规则服务器输出的访问分析结果,所述访问分析结果用于指示是否允许所述访问用户进行访问数据。
结合第二方面,在第二方面的某些实现方式中,所述处理模块,还用于当确定所述用户是首次访问数据资源时,根据所述访问请求获取所述用户对应的用户信息,所述用户信息包括所述用户ID、为访问用户分配的第一权限;
将获取的用户信息存储至规则数据库。
结合第二方面,在第二方面的某些实现方式中,所述转换模块,还用于通过规则服务器中的RE文件,将所述访问请求从所述原始规则语言转换为所述目标规则语言,所述原始规则语言为所述访问请求输入时对应的规则语言。
结合第二方面,在第二方面的某些实现方式中,所述处理模块,还用于:
对所述访问请求进行规则语言转换之前,生成所述RE文件,所述RE文件用于指示转换为所述目标规则语言的规则。
结合第二方面,在第二方面的某些实现方式中,所述处理模块,具体用于:
对第一语言进行第一分析处理,所述第一分析处理包括去掉注释和/或词法分析,所述第一语言为自定义语言;
利用所述目标规则语言将处理后的所述第一语言转换为中间语言,所述中间语言为对所述第一语言进行述目标规则语言转换后获得的语言;
将所述中间语言编译为对应的代码;
根据所述代码生成所述RE文件。
第三方面,提供了一种自动化提取日志数据的设备,包括:
一个或多个处理器;
一个或多个存储器;
所述一个或多个存储器包括计算机程序指令,当所述计算机程序指令在所述处理器中被执行时,使得所述设备实现以下步骤:
接收用户终端发送的访问请求,所述访问请求用于请求访问数据资源,且所述访问请求包括访问用户对应的用户标识ID;
对所述访问请求进行规则语言转换,获取目标规则语言的访问请求,所述目标规则语言与访问请求对应的原始规则语言不同,且所述目标规则语言与所述数据资源对应的语言规则一致;
根据所述用户ID从规则数据库查询是否存在所述用户ID对应的历史访问信息,并获取查询结果,所述历史访问信息为所述目标规则语言,所述目标规则语言与访问请求对应的原始语言不同;
当所述查询结果指示所述规则数据库不存在所述用户ID对应的历史访问信息时,根据所述用户ID为所述访问用户分配第一访问权限;当所述查询结果指示所述规则数据库存在所述用户ID对应的历史访问数据时,根据所述用户ID从所述规则数据库获取所述访问用户的第二访问权限,其中,所述第一访问权限为用户首次访问时对应的权限,所述第二访问权限为用户非首次访问时对应的权限;
根据所述访问请求获取行为字段,并将所述行为字段、所述第一访问权限或所述第二访问权限,以及非法访问次数输入规则服务器,所述行为字段用于指示访问用户的访问行为,且所述行为字段、访问权限和非法访问次数均为目标规则语言;
获取所述规则服务器输出的访问分析结果,所述访问分析结果用于指示是否允许所述访问用户进行访问数据。
结合第三方面,在第三方面的某些实现方式中,当所述计算机程序指令在所述处理器中被执行时,使得所述设备实现以下步骤:
当确定所述用户是首次访问数据资源时,根据所述访问请求获取所述用户对应的用户信息,所述用户信息包括所述用户ID、为访问用户分配的第一权限;
将获取的用户信息存储至规则数据库。
结合第三方面,在第三方面的某些实现方式中,当所述计算机程序指令在所述处理器中被执行时,使得所述设备实现以下步骤:
通过规则服务器中的RE文件,将所述访问请求从所述原始规则语言转换为所述目标规则语言,所述原始规则语言为所述访问请求输入时对应的规则语言。
结合第三方面,在第三方面的某些实现方式中,当所述计算机程序指令在所述处理器中被执行时,使得所述设备实现以下步骤:
对所述访问请求进行规则语言转换之前,生成所述RE文件,所述RE文件用于指示转换为所述目标规则语言的规则。
结合第三方面,在第三方面的某些实现方式中,当所述计算机程序指令在所述处理器中被执行时,使得所述设备实现以下步骤:
对第一语言进行第一分析处理,所述第一分析处理包括去掉注释和/或词法分析,所述第一语言为自定义语言;
利用所述目标规则语言将处理后的所述第一语言转换为中间语言,所述中间语言为对所述第一语言进行述目标规则语言转换后获得的语言;
将所述中间语言编译为对应的代码;
根据所述代码生成所述RE文件。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序在被计算机调用时,使所述计算机实现如上述第一方面中任一实现方式中所述的方法。
第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机或处理器实现如上述第一方面中任一实现方式中所述的方法。
第六方面,提供了一种芯片系统,其中,所述芯片系统包括计算机可读程序指令,当所述计算机可读程序指令在计算机上运行时,使得所述计算机执行如第一方面任一实现方式中所述的方法。
附图说明
图1是本申请实施例提供的一种资源控制访问的方法适用的系统架构的示意图。
图2是本申请实施例提供的一种资源控制访问的方法的示意性流程图。
图3是本申请实施例提供的一种资源控制访问的装置的结构示意图。
图4是本申请实施例提供的一种资源控制访问的设备的结构示意图。
具体实施方式
需要说明的是,本申请实施例的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,除非另有说明,“多个”是指两个或多于两个,“至少一个”、“一个或多个”是指一个、两个或两个以上。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”特征可以明示或者隐含地包括一个或者更多个该特征。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一种实现方式中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
结合背景技术所介绍,现有的基于角色的访问控制机制无法防止发生横向越权,容易产生具有相同权限的用户非法查看其他用户数据的问题,无法保障用户的数据安全。
针对上述问题,本申请实施例提供了一种基于规则语言的访问控制的方法,通过在用户请求访问数据资源后,按照预设的规则语言,根据用户的行为字段、权限字段和历史非法访问次数等分析获取是否允许用户访问数据,从而能够解决具有相同权限的用户非法访问其他用户数据的问题,提升数据资源的安全性。
需要说明的是,本申请实施例提供的基于规则语言的访问控制的方法可以应用于数据管理服务器,如云端服务器、后台服务器等,本申请实施例对服务器的具体类型不做限定。
示例性的,如图1所示,为本申请实施例提供的一种基于规则语言的访问控制的方法适用的系统架构示意图。
具体地,该系统架构可以包括用户终端101、数据管理服务器102、规则服务器103和规则数据库104。其中,规则服务器103和规则数据库104可以包含于数据管理服务器102内部,此时,规则服务器103可以具体实现为数据管理服务器102中具有执行规则语言模型的处理单元;或者,规则服务器103和规则数据库104可以对应为与数据管理服务器102不同的其他设备。本申请实施例对此不作限定。
在一些实施例中,数据管理服务器102可以用于管理多种类型的数据资源,例如该数据管理服务器102可以用于管理不同用户对应的数据,该不同用户对应的数据例如可以包括用户的个人信息(如用户的住址信息、手机号信息等)、用户标识(如用户姓名、身份证号等)等;又例如,该数据管理服务器102还可以用于管理业务数据,该业务数据例如可以包括金融业务数据、保险业务数据等等,本申请实施例对业务数据的具体类型不作限定。
此外,数据管理服务器102还可以用于与用户终端进行交互,例如该数据管理服务器102可以通过无线网络通信接收用户终端发送的数据访问请求;再例如,该数据管理服务器102也可以通过无线网络通信技术向用户终端发送数据访问指示消息,该数据访问指示消息用于告知用户是否被允许访问数据;又例如,当在用户被允许访问数据的情形下,该数据管理服务器102还可以通过无线通信技术向用户终端发送用户所请求的数据等。
需要说明的是,数据管理服务器102与用户终端101可以基于任一现有的无线通信协议进行交互,如长期演进(long term evolution,LTE)无线网络、第五代移动通信技术(the5th generation,5G)等等,本申请实施例对此不作限定。
在一些实施例中,规则服务器103可以运行规则语言。具体地,规则服务器103可以支持运行规则编译器编译出的语言,其中,该规则语言可以由自定义语言经过编译器编译后获得的语言。
其中,这里的自定义语言可以是数据资源管理员利用现有的任一语言规则自主设置的语言;或者,该自定义语言也可以由用户自主设置,比如用户可以在访问资源时,通过配置页面选择预先设置的可用语言。本申请实施例对该自定义语言的具体类型不作限定。
在一些实施例中,规则数据库104可以用户存储数据资源,如可以存储不同用户对应的数据,该不同用户对应的数据例如可以包括用户的个人信息(如用户的住址信息、手机号信息等)、用户标识(如用户姓名、身份证号等)等;又例如,该规则数据库103还可以用于存储业务数据,该业务数据例如可以包括金融业务数据、保险业务数据等等,本申请实施例对业务数据的具体类型不作限定。
示例性的,如图2所示,为本申请实施例提供的一种基于规则语言的资源访问控制方法的示意性流程图。该方法可以由服务器或终端作为执行主体,具体地,对应流程可以包括以下步骤:
S201,接收用户终端发送的访问请求,所述访问请求用于请求访问数据资源,且所述访问请求包括访问用户对应的用户标识ID。
S202,对所述访问请求进行规则语言转换,获取目标规则语言的访问请求,所述目标规则语言与访问请求对应的原始语言不同,且所述目标规则语言与资所述数据资源对应的语言规则一致。
在一些实施例中,所述对所述访问请求进行规则语言转换,获取目标规则语言的访问请求,具体包括:通过规则服务器中的RE文件,将所述访问请求从所述原始规则语言转换为所述目标规则语言,所述原始规则语言为所述访问请求输入时对应的规则语言。
其中,目标规则语言可以基于RE文件获取,生成过程可以具体参见步骤S206中的描述。
S203,根据所述用户ID从规则数据库查询是否存在所述用户ID对应的历史访问信息,并获取查询结果,所述历史访问信息为所述目标规则语言。
S204,当所述查询结果指示所述规则数据库不存在所述用户ID对应的历史访问信息时,根据所述用户ID为所述访问用户分配第一访问权限;当所述查询结果指示所述规则数据库存在所述用户ID对应的历史访问数据时,根据所述用户ID从所述规则数据库获取所述访问用户的第二访问权限,其中,所述第一访问权限为用户首次访问时对应的权限,所述第二访问权限为用户非首次访问时对应的权限。
其中,历史访问数据例如可以包括用户ID对应的访问权限、用户ID对应的历史访问中的非法访问次数、合法访问次数等。
在一些实施例中,当在规则数据库中未查询到用户ID对应的历史访问数据时,说明该访问用户是首次访问该服务器,此时,数据管理服务器可以根据用户ID为用户分配第一访问权限。应理解,不同的用户ID可以对应于不同的用户角色,而不同的用户角色可以具有不同的访问权限,因而,数据管理服务器可以根据用户ID为用户分配第一访问权限。
在一些实施例中,当确定访问用户是首次访问数据时,该数据管理服务器可以将获取的用户信息(如用户ID、为访问用户分配的第一权限等)存储至规则数据库。可选地,该数据管理服务器还可以将该访问用户后续的访问行为、访问结果(包括正常访问、非法访问)等存储至规则数据库,以便之后访问用户再次访问时,能够基于这些历史数据分析是否允许用户访问。
在一些实施例中,当在规则数据库中查询到用户ID对应的历史访问数据时,说明该访问用户是非首次访问该服务器。在该情形下,规则数据库除了存储有该用户ID对应的历史访问数据,还可以存储有该用户ID对应的用户信息(如用户角色、访问权限等)。此时,数据管理服务器可以根据用户ID,从规则数据库获取该访问用户对应的第二访问权限。
S205,根据所述访问请求获取行为字段,并将所述行为字段、第一访问权限或第二访问权限,以及访问权限和非法访问次数输入规则服务器,所述行为字段用于指示访问用户的访问行为,且所述行为字段、访问权限和非法访问次数均为目标规则语言。
在一些实施例中,数据管理服务器获取行为字段的方式可以是:数据管理服务器可以从访问请求中提取获得该行为字段。
S206,获取所述规则服务器输出的访问分析结果,所述访问分析结果用于指示是否允许所述访问用户进行访问数据。
对于步骤205,本方案中,行为字段、拥有权限和非法访问请求的次数通过规则服务器中记载的规则共同决定了该用户的访问行为是否越权。其中,本方案的规则服务器中装载有RE文件,该RE文件用于指示转换为所述目标规则语言的规则。示例性的,RE文件通过以下步骤生成:
S301,对第一语言进行第一分析处理,所述第一分析处理包括去掉注释和/或词法分析,所述第一语言为自定义语言。
S302,利用所述目标规则语言将处理后的所述第一语言转换为中间语言,该中间语言为对所述第一语言进行述目标规则语言转换后获得的语言。
S303,将所述中间语言编译为对应的代码。
S304,根据所述代码生成所述RE文件。
具体来说,以第一语言是R语言为例,该RE文件的生成过程可以包括:(1)R编译器(一种规则编译器)将R语言(一种规则语言)通过RP处理器(一种规则处理器)去掉注释,进行词法分析等,其中,R语言是自定义语言;(2)利用RA规则语言生成器生成中间语言:RA语言,RA语言不仅可由R语言生成,也可由其他语言生成;(3)用R编译器将RA语言生成RO代码;(4)用RL规则语言链接器链接,生成得到RE文件。
需要说明的是,该步骤符合编译器的通用原理,编译就是将“一种语言”翻译为“另一种语言”的程序。该步骤是将R语言(一种自定义的规则语言)翻译成对应的RO代码。
还需要说明的是,本方案中的规则服务器是一个可以运行规则语言的环境,规则编译器是将规则语言通过语法分析,语义分析等生产可在规则服务器运行的程序;规则编译器多次编译结果相同,具有广义的幂等性,规则服务器的结果由程序决定,而非人为决定。
比如,A用户和B用户有着相同的权限,访问相同属性的资源,但A用户曾多次尝试访问非法资源,经过规则服务器判定,得出A用户权限被降级,无法访问该资源;但B用户可以访问该资源。用户访问时,可以从后台服务器获取权限字段为Read_File,用户访问的资源是文件;把用户的权限字段,用户访问的资源通过规则语言表示,规则语言通过规则编译器编译出来,在规则服务器上输出决策结果。由于用户权限是Read_File所以规则程序决策出用户对资源文件可进行不高于读的操作。
根据本申请实施例提供的基于规则语言的资源访问控制方法,通过将自定义规则语言编译后运行在规则服务器上,使规则服务器在用户访问资源时对用户是否有访问权限进行分析,能够防止用户简单直接的访问与他拥有相同权限的用户资源,从而可以避免攻击者尝试访问与他拥有相同权限的用户的资源,以提高系统的安全性。此外,本申请提供的访问控制机制会在用户首次访问时根据任务需要定义具体不同的角色,为不同角色分配资源和操作权限,在用户访问非法资源超过一定次数时,动态的更改用户的权限,在用户曾多次尝试访问非法资源时,降低用户的权限,以提高系统的安全性。
示例性的,如图3所示,为本申请实施例提供的一种资源控制访问的装置的结构示意图。该资源控制访问的装置300包括接收模块301,转换模块302和处理模块303。
在一些实施例中,接收模块301,可以用于接收用户终端发送的访问请求,所述访问请求用于请求访问数据资源,且所述访问请求包括访问用户对应的用户标识ID;
转换模块302,可以用于对所述访问请求进行规则语言转换,获取目标规则语言的访问请求,所述目标规则语言与访问请求对应的原始规则语言不同,且所述目标规则语言与所述数据资源对应的语言规则一致;
处理模块303,可以用于根据所述用户ID从规则数据库查询是否存在所述用户ID对应的历史访问信息,并获取查询结果,所述历史访问信息为所述目标规则语言,所述目标规则语言与访问请求对应的原始语言不同;当所述查询结果指示所述规则数据库不存在所述用户ID对应的历史访问信息时,根据所述用户ID为所述访问用户分配第一访问权限;当所述查询结果指示所述规则数据库存在所述用户ID对应的历史访问数据时,根据所述用户ID从所述规则数据库获取所述访问用户的第二访问权限,其中,所述第一访问权限为用户首次访问时对应的权限,所述第二访问权限为用户非首次访问时对应的权限;根据所述访问请求获取行为字段,并将所述行为字段、访问权限和非法访问次数输入规则服务器,所述行为字段用于指示访问用户的访问行为,且所述行为字段、访问权限和非法访问次数均为目标规则语言;获取所述规则服务器输出的访问分析结果,所述访问分析结果用于指示是否允许所述访问用户进行访问数据。
在一些实施例中,所述处理模块303,还可以用于当确定所述用户是首次访问数据资源时,根据所述访问请求获取所述用户对应的用户信息,所述用户信息包括所述用户ID、为访问用户分配的第一权限;
将获取的用户信息存储至规则数据库。
在一些实施例中,所述转换模块302,还可以用于通过规则服务器中的RE文件,将所述访问请求从所述原始规则语言转换为所述目标规则语言,所述原始规则语言为所述访问请求输入时对应的规则语言。
在一些实施例中,所述处理模块303,还可以用于:
对所述访问请求进行规则语言转换之前,生成所述RE文件,所述RE文件用于指示转换为所述目标规则语言的规则。
在一些实施例中,所述处理模块303,具体可以用于:
对第一语言进行第一分析处理,所述第一分析处理包括去掉注释和/或词法分析,所述第一语言为自定义语言;
利用所述目标规则语言将处理后的所述第一语言转换为中间语言,所述中间语言为对所述第一语言进行述目标规则语言转换后获得的语言;
将所述中间语言编译为对应的代码;
根据所述代码生成所述RE文件。
示例性的,如图4所示,为本申请实施例提供的一种资源控制访问的设备的结构示意图。该资源控制访问的设备400可以包括一个或多个处理器401,一个或多个存储器402,其中,所述存储器402存储有计算机可读程序指令。至少一个处理器401和至少一个存储器402之间可以通过通用串行总线403进行通信连接。
在一些实施例中,当所述计算机程序指令在所述处理器中被执行时,使得所述设备实现以下步骤:
接收用户终端发送的访问请求,所述访问请求用于请求访问数据资源,且所述访问请求包括访问用户对应的用户标识ID;
对所述访问请求进行规则语言转换,获取目标规则语言的访问请求,所述目标规则语言与访问请求对应的原始规则语言不同,且所述目标规则语言与所述数据资源对应的语言规则一致;
根据所述用户ID从规则数据库查询是否存在所述用户ID对应的历史访问信息,并获取查询结果,所述历史访问信息为所述目标规则语言,所述目标规则语言与访问请求对应的原始语言不同;
当所述查询结果指示所述规则数据库不存在所述用户ID对应的历史访问信息时,根据所述用户ID为所述访问用户分配第一访问权限;当所述查询结果指示所述规则数据库存在所述用户ID对应的历史访问数据时,根据所述用户ID从所述规则数据库获取所述访问用户的第二访问权限,其中,所述第一访问权限为用户首次访问时对应的权限,所述第二访问权限为用户非首次访问时对应的权限;
根据所述访问请求获取行为字段,并将所述行为字段、所述第一访问权限或所述第二访问权限,以及非法访问次数输入规则服务器,所述行为字段用于指示访问用户的访问行为,且所述行为字段、访问权限和非法访问次数均为目标规则语言;
获取所述规则服务器输出的访问分析结果,所述访问分析结果用于指示是否允许所述访问用户进行访问数据。
在一些实施例中,当所述计算机程序指令在所述处理器中被执行时,使得所述设备实现以下步骤:
当确定所述用户是首次访问数据资源时,根据所述访问请求获取所述用户对应的用户信息,所述用户信息包括所述用户ID、为访问用户分配的第一权限;
将获取的用户信息存储至规则数据库。
在一些实施例中,当所述计算机程序指令在所述处理器中被执行时,使得所述设备实现以下步骤:
通过规则服务器中的RE文件,将所述访问请求从所述原始规则语言转换为所述目标规则语言,所述原始规则语言为所述访问请求输入时对应的规则语言。
结合第三方面,在第三方面的某些实现方式中,当所述计算机程序指令在所述处理器中被执行时,使得所述设备实现以下步骤:
对所述访问请求进行规则语言转换之前,生成所述RE文件,所述RE文件用于指示转换为所述目标规则语言的规则。
在一些实施例中,当所述计算机程序指令在所述处理器中被执行时,使得所述设备实现以下步骤:
对第一语言进行第一分析处理,所述第一分析处理包括去掉注释和/或词法分析,所述第一语言为自定义语言;
利用所述目标规则语言将处理后的所述第一语言转换为中间语言,所述中间语言为对所述第一语言进行述目标规则语言转换后获得的语言;
将所述中间语言编译为对应的代码;
根据所述代码生成所述RE文件。
本申请实施例提供的资源访问控制的方法,可以具有以下有益技术效果:1、防止具有相同角色的用户横向越权查看数据资源。具体地,本提案提供的基于规则语言的资源访问控制方法通过设置自定义规则语言,并将该规则语言进行编译后运行在规则服务器上,能够对用户访问资源的合法性进行判断,可以防止用户简单直接地访问与其具有相同权限的用户资源,从而可以在访问资源过程中,避免攻击者容易访问、篡改其他用户资源的问题,提高系统以及数据资源的安全性。2、本申请实施例提供的基于规则语言的资源访问控制方法,在用户首次访问数据资源时,服务器可以为不同角色分配不同的资源访问权限,或者资源操作权限,在后续访问过程中,可以根据用户非法访问的次数,动态更改用户的权限,在用户多次尝试访问非法资源时,降低用户权限,从而提高资源的安全性。
基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序在被计算机调用时,使所述计算机实现本申请实施例提供的资源控制访问的方法。
基于相同的技术构思,本申请实施例还提供了一种芯片系统,该芯片系统包括:通信接口,用于输入和/或输出信息;存储器,用于存储计算机可执行程序;处理器,用于执行所述计算机可执行程序,使得安装有所述芯片系统的设备实现本申请实施例提供的资源控制访问的方法。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机或处理器执行上述任一方法中的一个或多个步骤,使得本申请实施例提供的资源控制访问的方法得以实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种资源访问控制的方法,其特征在于,所述方法包括:
接收用户终端发送的访问请求,所述访问请求用于请求访问数据资源,且所述访问请求包括访问用户对应的用户标识ID;
对所述访问请求进行规则语言转换,获取转换为目标规则语言的访问请求,所述目标规则语言与所述访问请求对应的原始规则语言不同,且所述目标规则语言与所述数据资源对应的语言规则一致;
根据所述用户ID从规则数据库查询是否存在所述用户ID对应的历史访问信息,并获取查询结果,所述历史访问信息为所述目标规则语言;
当所述查询结果指示所述规则数据库不存在所述用户ID对应的历史访问信息时,根据所述用户ID为所述访问用户分配第一访问权限;当所述查询结果指示所述规则数据库存在所述用户ID对应的历史访问数据时,根据所述用户ID从所述规则数据库获取所述访问用户的第二访问权限,其中,所述第一访问权限为用户首次访问时对应的权限,所述第二访问权限为用户非首次访问时对应的权限;
根据所述访问请求获取行为字段,并将所述行为字段、所述第一访问权限或所述第二访问权限,以及非法访问次数输入规则服务器,所述行为字段用于指示访问用户的访问行为,且所述行为字段、访问权限和非法访问次数均为目标规则语言;
获取所述规则服务器输出的访问分析结果,所述访问分析结果用于指示是否允许所述访问用户进行访问数据。
2.根据权利要求1所述的方法,其特征在于,所述历史访问数据包括以下至少一项:
用户ID对应的所述第一访问权限或所述第二访问权限、用户ID对应的历史访问中的非法访问次数、合法访问次数。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当确定所述用户是首次访问数据资源时,根据所述访问请求获取所述用户对应的用户信息,所述用户信息包括所述用户ID、为访问用户分配的第一权限;
将获取的用户信息存储至规则数据库。
4.根据权利要求1或2所述的方法,其特征在于,所述对所述访问请求进行规则语言转换,获取目标规则语言的访问请求,具体包括:
通过规则服务器中的RE文件,将所述访问请求从所述原始规则语言转换为所述目标规则语言,所述原始规则语言为所述访问请求输入时对应的规则语言。
5.根据权利要求4所述的方法,其特征在于,对所述访问请求进行规则语言转换之前,所述方法还包括:
生成所述RE文件,所述RE文件用于指示转换为所述目标规则语言的规则。
6.根据权利要求5所述的方法,其特征在于,所述生成RE文件,具体包括:
对第一语言进行第一分析处理,所述第一分析处理包括去掉注释和/或词法分析,所述第一语言为自定义语言;
利用所述目标规则语言将处理后的所述第一语言转换为中间语言,所述中间语言为对所述第一语言进行述目标规则语言转换后获得的语言;
将所述中间语言编译为对应的代码;
根据所述代码生成所述RE文件。
7.一种资源访问控制的装置,其特征在于,包括:
接收模块,用于接收用户终端发送的访问请求,所述访问请求用于请求访问数据资源,且所述访问请求包括访问用户对应的用户标识ID;
转换模块,用于对所述访问请求进行规则语言转换,获取目标规则语言的访问请求,所述目标规则语言与访问请求对应的原始规则语言不同,且所述目标规则语言与所述数据资源对应的语言规则一致;
处理模块,用于根据所述用户ID从规则数据库查询是否存在所述用户ID对应的历史访问信息,并获取查询结果,所述历史访问信息为所述目标规则语言,所述目标规则语言与访问请求对应的原始语言不同;当所述查询结果指示所述规则数据库不存在所述用户ID对应的历史访问信息时,根据所述用户ID为所述访问用户分配第一访问权限;当所述查询结果指示所述规则数据库存在所述用户ID对应的历史访问数据时,根据所述用户ID从所述规则数据库获取所述访问用户的第二访问权限;根据所述访问请求获取行为字段,并将所述行为字段、访问权限和非法访问次数输入规则服务器,所述行为字段用于指示访问用户的访问行为,且所述行为字段、访问权限和非法访问次数均为目标规则语言;获取所述规则服务器输出的访问分析结果,所述访问分析结果用于指示是否允许所述访问用户进行访问数据。
8.一种资源访问控制的设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器;
所述一个或多个存储器包括计算机程序指令,当所述计算机程序指令在所述处理器中被执行时,使得所述设备实现如权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序在被计算机调用时,使所述计算机实现如权利要求1至6中任一项所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机或处理器实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210208667.5A CN114598520B (zh) | 2022-03-03 | 2022-03-03 | 资源访问控制的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210208667.5A CN114598520B (zh) | 2022-03-03 | 2022-03-03 | 资源访问控制的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114598520A true CN114598520A (zh) | 2022-06-07 |
CN114598520B CN114598520B (zh) | 2024-04-05 |
Family
ID=81815053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210208667.5A Active CN114598520B (zh) | 2022-03-03 | 2022-03-03 | 资源访问控制的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114598520B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865981A (zh) * | 2022-11-29 | 2023-03-28 | 宁波奥克斯电气股份有限公司 | 一种空调控制数据管理方法和系统 |
CN117421307A (zh) * | 2023-12-18 | 2024-01-19 | 山东中翰软件有限公司 | 基于大数据分析的企业管理数据治理系统及方法 |
CN115865981B (zh) * | 2022-11-29 | 2024-05-31 | 宁波奥克斯电气股份有限公司 | 一种空调控制数据管理方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766355A (zh) * | 2018-12-28 | 2019-05-17 | 上海汇付数据服务有限公司 | 一种支持自然语言的数据查询方法和系统 |
CN111488598A (zh) * | 2020-04-09 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 访问控制方法、装置、计算机设备和存储介质 |
CN111698228A (zh) * | 2020-05-28 | 2020-09-22 | 中国平安财产保险股份有限公司 | 系统访问权限授予方法、装置、服务器及存储介质 |
CN113868628A (zh) * | 2021-10-19 | 2021-12-31 | 南方电网数字电网研究院有限公司 | 一种签名验证方法、装置、计算机设备和存储介质 |
-
2022
- 2022-03-03 CN CN202210208667.5A patent/CN114598520B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766355A (zh) * | 2018-12-28 | 2019-05-17 | 上海汇付数据服务有限公司 | 一种支持自然语言的数据查询方法和系统 |
CN111488598A (zh) * | 2020-04-09 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 访问控制方法、装置、计算机设备和存储介质 |
CN111698228A (zh) * | 2020-05-28 | 2020-09-22 | 中国平安财产保险股份有限公司 | 系统访问权限授予方法、装置、服务器及存储介质 |
CN113868628A (zh) * | 2021-10-19 | 2021-12-31 | 南方电网数字电网研究院有限公司 | 一种签名验证方法、装置、计算机设备和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865981A (zh) * | 2022-11-29 | 2023-03-28 | 宁波奥克斯电气股份有限公司 | 一种空调控制数据管理方法和系统 |
CN115865981B (zh) * | 2022-11-29 | 2024-05-31 | 宁波奥克斯电气股份有限公司 | 一种空调控制数据管理方法和系统 |
CN117421307A (zh) * | 2023-12-18 | 2024-01-19 | 山东中翰软件有限公司 | 基于大数据分析的企业管理数据治理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114598520B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108810006B (zh) | 资源访问方法、装置、设备及存储介质 | |
CN110414268B (zh) | 访问控制方法、装置、设备及存储介质 | |
US8713646B2 (en) | Controlling access to resources on a network | |
CN108289098B (zh) | 分布式文件系统的权限管理方法和装置、服务器、介质 | |
CN110909373B (zh) | 一种访问控制方法、设备、系统及存储介质 | |
CN110839014B (zh) | 一种认证方法、装置、计算机设备及可读存储介质 | |
US10951510B2 (en) | Communication device and communication method | |
US8612754B2 (en) | Digital fingerprinting via SQL filestream with common text exclusion | |
CN111177741A (zh) | 一种基于企业浏览器的预授权数据访问方法和装置 | |
CN114091099A (zh) | 一种针对业务系统的权限分级控制方法、设备及存储介质 | |
CN114598520B (zh) | 资源访问控制的方法、装置、设备及存储介质 | |
KR20190103585A (ko) | M2m 시스템에서의 시맨틱 리소스 검색 방법 | |
CN110298165B (zh) | 安全访问共享内存的方法、装置以及认证代理 | |
US9871873B2 (en) | Adapter for communication between web applications within a browser | |
CN111274595A (zh) | 一种资源访问的控制方法及装置 | |
CN114201478B (zh) | 数据处理方法、程序产品、可读介质和电子设备 | |
CN113468579A (zh) | 数据访问方法、装置、设备和存储介质 | |
CN113722729B (zh) | 一种权限管理方法、装置、终端、服务器及存储介质 | |
CN113489738B (zh) | 一种宽带账号的违规处理方法、装置、设备和介质 | |
CN111147430A (zh) | 一种应用于智能家庭网关的加密方法及装置 | |
CN112035867A (zh) | 一种Web应用权限管理方法、系统、设备及存储介质 | |
CN111953637A (zh) | 一种应用服务方法与装置 | |
CN110969321B (zh) | 工业信息资产管理方法及装置 | |
CN113382042B (zh) | 一种数据传输方法及装置 | |
US11316949B2 (en) | Access management to user related data |
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 |