CN111488598B - 访问控制方法、装置、计算机设备和存储介质 - Google Patents
访问控制方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111488598B CN111488598B CN202010273750.1A CN202010273750A CN111488598B CN 111488598 B CN111488598 B CN 111488598B CN 202010273750 A CN202010273750 A CN 202010273750A CN 111488598 B CN111488598 B CN 111488598B
- Authority
- CN
- China
- Prior art keywords
- rule
- information
- authority
- access request
- service access
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种访问控制方法、装置、计算机设备和存储介质。所述方法包括:接收终端的业务访问请求;获取所述业务访问请求待访问的资源节点;基于所述资源节点对应的权限规则,获取所述业务访问请求中与所述权限规则对应的信息,作为所述业务访问请求的上下文属性信息;根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求。采用本方法,不仅能有效改善访问控制的安全性,还进一步提高了访问控制的效率。
Description
技术领域
本申请涉及网络通信技术领域,特别是涉及一种访问控制方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的快速发展,访问控制技术作为确保网络信息安全的核心手段之一,目前已广泛应用于各类应用场景,如云计算、移动计算等应用场景。
然而现有的访问控制方式,通常采用集中式解密凭证、集中式鉴权服务的方式来控制访问,不仅需要消耗大量的网络开销以及鉴权服务机器开销,还因其集中式的鉴权管制使得多次远程调用的成本升高,耗时增长。
因此,目前的访问控制方式存在控制效率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高控制效率的访问控制方法、装置、计算机设备和存储介质。
一种访问控制方法,所述方法包括:
接收终端的业务访问请求;
获取所述业务访问请求待访问的资源节点;
基于所述资源节点对应的权限规则,获取所述业务访问请求中与所述权限规则对应的信息,作为所述业务访问请求的上下文属性信息;
根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求。
一种访问控制方法,应用于微服务访问控制系统,所述微服务访问控制系统包括接入层、逻辑层以及接口层,所述方法包括:
通过所述接入层,接收所述终端的业务访问请求;
通过所述逻辑层,获取所述业务访问请求待访问的资源节点;
通过所述接口层,基于所述资源节点对应的权限规则,获取所述业务访问请求中与所述权限规则对应的信息,作为所述业务访问请求的上下文属性信息,并根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求。
一种访问控制装置,所述装置包括:
请求接收模块,用于接收终端的业务访问请求;
节点获取模块,用于获取所述业务访问请求待访问的资源节点;
信息获取模块,用于基于所述资源节点对应的权限规则,获取所述业务访问请求中与所述权限规则对应的信息,作为所述业务访问请求的上下文属性信息;
访问控制模块,用于根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求。
一种微服务访问控制系统,所述系统包括:
接入层,用于接收所述终端的业务访问请求;
逻辑层,用于获取所述业务访问请求待访问的资源节点;
接口层,用于基于所述资源节点对应的权限规则,获取所述业务访问请求中与所述权限规则对应的信息,作为所述业务访问请求的上下文属性信息,并根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收终端的业务访问请求;
获取所述业务访问请求待访问的资源节点;
基于所述资源节点对应的权限规则,获取所述业务访问请求中与所述权限规则对应的信息,作为所述业务访问请求的上下文属性信息;
根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收终端的业务访问请求;
获取所述业务访问请求待访问的资源节点;
基于所述资源节点对应的权限规则,获取所述业务访问请求中与所述权限规则对应的信息,作为所述业务访问请求的上下文属性信息;
根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求。
上述访问控制方法、装置、计算机设备和存储介质,通过接收终端的业务访问请求,来获取该业务访问请求待访问的资源节点,进而基于资源节点对应的权限规则,获取业务访问请求中与权限规则对应的信息,作为业务访问请求的上下文属性信息,最终根据上下文属性信息与权限规则鉴权得到的鉴权结果,放行或拦截该业务访问请求。采用本方法,依据待访问资源节点对应的权限规则,针对性获取后续鉴权所需的上下文属性信息,并基于该上下文属性信息进行统一鉴权,不仅能有效改善访问控制的安全性,还进一步提高了访问控制的效率。
附图说明
图1为一个实施例中访问控制方法的应用环境图;
图2为一个实施例中访问控制方法的流程示意图;
图3为一个实施例中用户身份凭证生成步骤的流程示意图;
图4为一个实施例中用户身份凭证发送步骤的流程示意图;
图5为一个实施例中资源节点获取步骤的流程示意图;
图6为一个实施例中上下文属性信息获取步骤的流程示意图;
图7为另一个实施例中上下文属性信息获取步骤的流程示意图;
图8为一个实施例中业务访问请求控制步骤的流程示意图;
图9为一个实施例中鉴权结果获取步骤的流程示意图;
图10为另一个实施例中访问控制方法的流程示意图;
图11为另一个实施例中业务访问请求控制步骤的流程示意图;
图12为一个实施例中访问控制服务鉴权步骤的流程示意图;
图13为又一个实施例中业务访问请求控制步骤的流程示意图;
图14为一个实施例中访问控制方法的场景应用示意图;
图15为一个实施例中访问控制装置的结构框图;
图16为一个实施例中访问控制系统的结构框图;
图17为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
首先需要说明的是,本申请所提供的访问控制方法,主要涉及云技术(Cloudtechnology),该技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。同样地,该技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
其次需要说明的是,在云技术(Cloud technology)领域中,本申请所提出的访问控制方法主要应用于云存储(cloud storage),其是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。目前,存储系统的存储方法为:创建逻辑卷,即在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,Identity document)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端(通过发送业务访问请求)请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
最后需要说明的是,本申请提供的访问控制方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。服务器104可接收并响应终端102发送的业务访问请求(执行该业务访问请求需调用其指定模块即接口),进而获取该业务访问请求待访问的资源节点(包括数据资源、服务资源等需要被保护的客体,可视为某个接口),基于该资源节点对应预置的权限规则(不同类型规则所需鉴权的信息类型或各不相同),即可在业务访问请求中获取得到与权限规则对应的信息,作为上下文属性信息,最终根据上下文属性信息与权限规则鉴权得到的鉴权结果,放行或拦截终端102发送的业务访问请求。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。网络包含但不限于:广域网、城域网或局域网。
在一个实施例中,如图2所示,提供了一种访问控制方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤202,接收终端的业务访问请求。
具体地,用户可通过终端102(即客户端)提交其业务访问请求,则服务器104可通过终端102接收到用户提交的业务访问请求。该业务访问请求不仅可用于请求访问某项业务(发消息/朋友圈等业务),还可用于请求访问不同业务所关联的数据,进而对数据进行增加、删除、修改、查询等操作,以实现对相关业务或业务数据的访问。
例如,终端102上运行有特定应用程序,用户可通过该特定应用程序向终端102提交一个头像更换请求,服务器104在接收到终端102发送的头像更换请求后,即可该针对该请求中携带的用户身份信息进行鉴权,进而在鉴权成功的情况下允许该用户更换头像。
步骤204,获取所述业务访问请求待访问的资源节点。
其中,资源节点(Resource Node)是群内节点,该节点提供资源,例如,数据资源(包括业务相关的自动化或非自动化数据)、服务资源(包括模块信息)、计算资源(包括CPU资源、内存资源、硬盘资源和网络资源)等。
具体地,服务器104获取到的业务访问请求可能存在加密的情况,需通过预置解密算法对该请求进行解密,即可确定该请求对应待访问的资源节点,由于本申请提出针对不同资源节点的访问,需要对应鉴权不同类型的信息,因此在获取鉴权所需的信息之前,首先需确定终端102当前请求待访问的资源节点,以便提取预先对该资源节点配置的规则文件(权限规则),进而获取业务访问前鉴权所需的信息(上下文属性信息)。
步骤206,基于所述资源节点对应的权限规则,获取所述业务访问请求中与所述权限规则对应的信息,作为所述业务访问请求的上下文属性信息。
其中,权限管理通常是指根据系统设置的安全策略或安全规则,用户可以访问而且只能访问自己被授权的资源,而权限规则具体可以是权限管理的设置规则,如某条权限规则表示为“STAFF@identity.ticket_type”,则其表达的含义为当某用户的身份类型为员工时,该用户有机会访问这条权限规则对应指向的资源,而能否访问到取决于这条权限规则是否还有其他与之建立有“与(&)”算术关系的规则设置,若存在则还需同时满足其他规则方可访问。可以理解的是,上述权限规则的表达形式仅为规则转换前的可视化形式,服务器104在使用权限规则进行鉴权之前首先需将其转换为机器可识别的代码逻辑结构,因此权限规则的表现形式不仅包括如上文所示的字符组成形式,还可包括如数值、其他特殊字符等组成形式。
具体地,服务器104确定该请求待访问的资源节点之后,可进一步获取针对该资源节点预置的权限规则,然后基于该权限规则在业务访问请求中提取属性相对应的信息,即可得到后续鉴权所需的上下文属性信息。也即是说,用户通过终端102向服务器104提交业务访问请求时,该请求中携带有较多信息,不同信息具有其对应的属性,而权限规则中设置的每条规则均指向特定属性的信息,则在获取得到资源节点对应的权限规则之后,可根据该权限规则所指向的信息属性,在业务访问请求中有针对性地获取相同属性的信息,作为上下文属性信息。同时,该上下文属性信息不同于一般鉴权信息之处在于,不仅包括用户身份信息,还包括待访问资源节点的资源节点标识、业务流转中扩展的关系链数据记录等,是针对于待访问资源节点的上下文信息。
步骤208,根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求。
具体地,服务器104在获取得到上下文属性信息和待访问资源节点的权限规则之后,可将上下文属性信息对应于权限规则进行鉴权,即将上下文属性信息与权限规则中的所有规则进行对应匹配,若信息匹配一致则可得到成功的鉴权结果,若信息匹配不一致则可得到失败的鉴权结果。不同的鉴权结果对应不同的处理方式,即当鉴权结果为成功时,可放行终端102当前发送的业务访问请求;当鉴权结果为失败时,可拦截终端102当前发送的业务请求。
上述访问控制方法中,通过接收终端的业务访问请求,来获取该业务访问请求待访问的资源节点,进而基于资源节点对应的权限规则,获取业务访问请求中与权限规则对应的信息,作为业务访问请求的上下文属性信息,最终根据上下文属性信息与权限规则鉴权得到的鉴权结果,放行或拦截该业务访问请求。采用本方法,依据待访问资源节点对应的权限规则,针对性获取后续鉴权所需的上下文属性信息,并基于该上下文属性信息进行统一鉴权,不仅能有效改善访问控制的安全性,还进一步提高了访问控制的效率。
在一个实施例中,如图3所示,步骤202之前还包括:
步骤302,接收所述终端的登录请求;
步骤304,对发起所述登录请求的用户身份进行验证,得到验证结果;
步骤306,若所述验证结果为成功,则生成用户身份凭证;
步骤308,将所述用户身份凭证发送至所述终端,供所述终端发送携带有所述用户身份凭证的业务访问请求。
其中,登录请求是对应于不同产品登录场景的请求,例如,“微信”登录请求、“QQ”登录请求等。
其中,用户身份凭证可称为“票据”,是指用户身份认证后的授权凭证,凭证基于加密算法(对称加密算法“AES-GCM(Galois/CounterMode)”,或非对称加密算法“RSA签名”)保证完整性和机密性,且记录了用户身份信息、登录信息、权限标识等信息。
具体地,服务器104在接收终端102所发送的业务访问请求之前,首先会接收到用户通过终端102(即客户端)提交的登录请求,进而基于该登录请求进行身份验密,此时的服务器104可以是登录服务器,负责对登录请求所包含的身份信息如指纹信息、密码信息等进行验密,验密成功后为终端102颁发用户身份凭证(也可称为“票据”),以使终端102后续获取到用户提交的业务访问请求时,将前期获取到的用户身份凭证打包于该业务访问请求中,一同发送至服务器104,供服务器104利用请求中携带的用户身份凭证执行后续的鉴权任务。
本实施例中,通过对发起登录请求的用户身份进行验证,并生成后续请求待使用的用户身份凭证,可确保后续请求的有效性,增强业务请求的安全性。
在一个实施例中,如图4所示,步骤308包括:
步骤402,通过AESGCM加密算法,生成加密后的用户身份凭证;
步骤404,将所述加密后的用户身份凭证发送至所述终端。
其中,AES是一种对称加密算法,GCM(Galois/Counter Mode)指的是该对称加密采用Counter模式,并带有GMAC(Calois message authentication code mode,伽罗瓦消息验证码)。其中,GCM中的“G”就是指GMAC,“C”就是指CTR(CounTeR计数器模式)。
具体地,关于身份证书的校验,可以选用两种大类型的算法:(1)对称加密算法(比如本申请涉及的AESGCM加密算法),优点是性能高,缺点是权限隔离差(加密和解密共用一个密钥),权限隔离的问题需要借助其它方案来实现隔离;(2)非对称签名算法(比如RSA签名),优点是权限隔离好(签名和验签密钥不同,即私钥公钥的模式),缺点是签名或验签的性能差。而本申请不仅需要实现对用户身份凭证的加密,还需实现对权限规则的有效隔离,因此可采用加密算法结合其他适应该业务场景的方案,生成加密的用户身份凭证,且不会影响各资源节点之间的权限规则的独立性。
更具体地,将通过AESGCM加密算法生成加密后的用户身份凭证发送至终端102,目的在于可在后续使用用户身份凭证时,根据解密成功的用户身份凭证进行鉴权。由此,一方面可确保用户身份凭证非伪造,另一方面可防止用户身份信息泄露。
本实施例中,通过AESGCM加密算法生成加密后的用户身份凭证,可确保访问控制的安全性,改善访问控制的有效性。
在一个实施例中,如图5所示,步骤204包括:
步骤502,通过AESGCM解密算法,对所述业务访问请求进行解密,得到解密结果;
步骤504,若所述解密结果为成功,则获取所述业务访问请求待访问的资源节点。
具体地,服务器104接收到终端102发送的业务请求之后,首先需要通过预置的AESGCM解密算法(对应于AESGCM加密算法),对该请求使用相同的密钥进行解密,若解密成功即可确定该请求待访问的资源节点;若解密失败则无法获取并确定该请求待访问的资源节点。
本实施例中,通过AESGCM解密算法对业务访问请求进行解密,以获取请求待访问的资源节点,不仅可确保访问控制的安全性,还可改善访问控制的有效性。
在一个实施例中,如图6所示,所述权限规则包括接口级规则、模块级规则以及产品级规则,步骤206包括:
步骤602,基于所述接口级规则、所述模块级规则以及所述产品级规则,对所述业务访问请求中携带的特征信息进行属性收集,分别得到与所述接口级规则、模块级规则以及产品级规则对应的信息,作为所述上下文属性信息。
其中,接口级规则是指资源节点的权限规则;模块级规则是指资源节点关联所属模块的权限规则;产品级规则是指资源节点关联所属产品的权限规则。
具体地,一个资源节点(接口)属于某个模块,而该模块又属于某个产品线,那么访问这个资源节点(接口),就需要先汇总接口级规则、模块级规则以及产品级规则,进而以汇总规则为基础,判定所有汇总的规则需要验证哪些属性的信息,进而对业务访问请求中携带的所有特征信息(包括但不限于是请求调用模块的身份凭证、请求来源的用户身份凭证、请求来源IP、请求的访问数据、资源节点信息等等)按照符合规则所需的属性进行收集,即可得到分别与接口级规则、模块级规则以及产品级规则对应的信息,作为上下文属性信息。
例如,查询头像的接口属于账户信息管理模块,又属于微信这个产品线,那么访问这个查询头像的接口,就需要分别从对应的分布式存储位置获取接口级的规则、模块级的规则以及产品级的规则,进而在汇总完成后执行鉴权处理。
需要说明的是,本申请提出所有权限规则采用分布式存储方式进行存储,可避免单点失效的风险。同时,本申请提出针对所有资源节点预置的权限规则,可根据业务需求动态配置,即不限于上述几种来源,可以包含配置在该资源节点所属集合的任意权限规则,则基于权限策略的访问控制仅由配置主导,而非由代码主导,灵活扩展性得到的较大提高。
本实施例中,基于待访问资源节点所属集合的所有规则权限获取上下文属性信息,使其两者能够有效鉴权,不仅能有效改善访问控制的安全性、可扩展性,还进一步提高了访问控制的效率。
在一个实施例中,如图7所示,步骤206还包括:
步骤702,若所述权限规则存在变更的情况,则获取变更后的所述接口级规则、所述模块级规则以及所述产品级规则,作为与所述资源节点对应的权限规则;
步骤704,将所述资源节点对应的权限规则进行预解析处理,得到结构转换后的权限规则;所述结构转换后的权限规则用于获取所述上下文属性信息。
具体地,本申请提出所有权限规则配备有热加载技术(规则变更自动加载)和预解析技术(一次性解析无限次使用)。热加载技术是指权限规则的配置发生变化的时候,无需重启服务器104或服务器104中负责加载该权限规则的服务(接口层模块),该服务在运行状态中可自动识别规则的配置文件是否发生变化,若发生变化则实时加载新的权限规则进行配置;预解析技术是指规则的配置文件需要先转换成机器可执行的逻辑结构,而执行该转换无需每次请求都做,只需进行一次转换,则后续请求均可直接使用,避免多次转换消耗内能,进而提升服务器104运作性能。
更具体地,采用热加载技术,即可在权限规则存在变更情况发生时,自动获取变更后的接口级规则、模块级规则以及产品级规则,作为待访问资源节点更新后的权限规则,也即控制权限规则的实时更新,该技术采用后无需重启相应的权限加载服务(在本申请中可以是接口层中的访问控制服务)。更新之后,为了提升鉴权效率,可采用预解析技术,将待访问资源节点对应的权限规则进行预解析处理,得到机器可直接执行的、结构转换后的权限规则,以便有效读取转换后的权限规则,进而利用其获取上下文属性信息。
本实施例中,通过对权限规则配备热加载技术和预解析技术,能有效提高访问控制的效率。
在一个实施例中,如图8所示,步骤208包括:
步骤802,将所述上下文属性信息对应于所述权限规则进行鉴权,得到鉴权结果;
步骤804,若所述鉴权结果为成功,则放行所述业务访问请求;所述业务访问请求用于请求对访问数据进行增加、删除、修改、查询中的任意一项控制;
步骤806,若所述鉴权结果为失败,则将所述上下文属性信息作为恶意访问信息进行上报处理之后,拦截所述业务访问请求。
具体地,服务器104基于资源节点的权限规则,获取得到其对应的上下文属性信息之后,可将上下文属性信息对应于权限规则进行鉴权,即依据权限规则中设定的规则信息,将上下文属性信息与其对应进行匹配鉴权,若匹配一致表示鉴权成功,服务器104可放行终端102当前发送的业务访问请求,允许对请求访问的数据进行增加、删除、修改或者查询;若匹配不一致表示鉴权失败,服务器104将拦截终端102当前发送的业务访问请求,避免对请求访问的数据进行增加、删除、修改或者查询中任意一项的操作。
例如,权限规则为“STAFF@identity.ticket_type&jiajunliu@identity.name”,该规则表示上下文属性信息提供的身份类型是“STAFF(员工)”,且身份名为“junliu”,则上下文属性信息与该权限规则匹配一致,鉴权结果为成功,可放行当前提交的业务访问请求。
本实施例中,基于鉴权结果放行或拦截业务访问请求,不仅能有效改善访问控制的安全性,还进一步提高了访问控制的效率。
在一个实施例中,如图9所示,所述上下文属性信息包括用户身份凭证,步骤802包括:
步骤902,通过AESGCM解密算法,对所述用户身份凭证进行解密,得到用户身份信息和权限信息;
步骤904,将所述用户身份信息、所述权限信息,以及所述上下文属性信息中包含的服务信息、环境上下文信息、关系链信息分别对应于所述权限规则进行鉴权,得到鉴权结果。
其中,用户身份信息是指请求发起者(用户)的身份描述,包括但不限于用户id、登录时间、登录场景、登录设备、登录IP;服务信息是指资源节点请求调用端的上游模块信息,例如查询头像的接口属于账户信息管理模块,则调用“查询头像的接口”的上游模型信息包括“账户信息管理模块”,服务信息包括但不限于调用端的模块名和IP;环境上下文信息包括但不限于请求待访问的资源节点id、资源节点的操作类型(增/删/改/查等)、资源节点的模块id、接口id、数据归属人信息;权限信息是指请求携带“票据”的权限信息,其描述了允许的数据访问权限;关系链信息是指业务流转中扩展的关系链数据记录,如“好友”、“群友”等信息。
具体地,由于上下文属性信息包括用户身份凭证存在加密的情况,即该用户身份凭证是上述实施例中所提及加密后的用户身份凭证,因此使用上下文属性信息进行鉴权,首先去将其中包含的用户身份凭证进行解密(解密方式可对应使用AESGCM解密算法),以获取用户身份信息和权限信息,进行利用用户身份信息、权限信息,以及上下文属性信息中包含的服务信息、环境上下文信息、关系链信息分别对应于待访问资源节点的权限规则进行鉴权,从而得到鉴权结果。
更具体地,上下文属性信息所包括的具体信息类型,主要取决于待访问资源节点所配置的权限规则,该权限规则体现了不同业务访问所需鉴权的信息内容,后台服务人员可依据不同业务需求,灵活地配置不同的权限规则,以调整策略规则。由此,服务器104即可基于每个资源节点相同或不同的权限规则,获取相同或不同的上下文属性信息进行鉴权。
本实施例中,由于上下文属性信息包括多类型属性信息,不仅能促进访问控制更加精细化,同时利用多重信息鉴权控制,进一步改善了访问控制的安全性,且提高了访问控制的效率。
在一个实施例中,如图10所示,提供了另一种访问控制方法,应用于微服务访问控制系统,所述微服务访问控制系统包括接入层、逻辑层以及接口层,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤1002,通过所述接入层,接收所述终端的业务访问请求;
步骤1004,通过所述逻辑层,获取所述业务访问请求待访问的资源节点;
步骤1006,通过所述接口层,基于所述资源节点对应的权限规则,获取所述业务访问请求中与所述权限规则对应的信息,作为所述业务访问请求的上下文属性信息,并根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求。
具体地,本实施例中提供的访问控制方法,可应用于微服务访问控制系统。其中,在微服务架构下,由于一个应用会被拆分成若干个微应用,每个微应用都需要对访问进行鉴权,每个微应用都需要明确当前访问用户以及其权限,尤其当访问来源不只是浏览器,还包括其他服务的调用时,那么单体应用架构下的鉴权方式就无法有效控制访问了。而本申请提出访问控制方法,能够基于不同资源节点单独设置的权限规则进行鉴权访问,也即面对微服务场景中微应用的个体拆分时,访问控制适应效果佳,能够满足该场景中的访问控制需求。
更具体地,本实施例提出将访问控制方法应用于微服务访问控制系统时,可利用该系统中预先设置的接入层、逻辑层以及接口层,分别执行访问控制方法中不同的处理任务,尤其是使用接口层中设置的访问控制服务(鉴权API)进行信息鉴权,因传统的访问控制技术是针对逻辑层中不同的业务各自进行鉴权,而本申请提出利用接口层中设置的访问控制服务进行统一鉴权,不仅可从底层统一解决业务横向越权漏洞、内部员工恶意访问、内网入侵带来的安全隐患,还可提高访问控制效率。
例如,通过微服务访问控制系统中的接入层,接收终端102的业务访问请求,并对该业务访问请求进行解密,然后在解密成功的情况下,通过逻辑层分析确定该业务访问请求所需访问的资源节点,确定请求待访问的资源节点之后,可通过接口层依据该资源节点对应的权限规则,获取上下文属性信息,并根据上下文属性信息与权限规则鉴权得到的鉴权结果,放行或拦截当前的业务访问请求。
本实施例中,将访问控制方法应用于微服务访问控制系统,不仅能够从根本上解决业务漏洞或者入侵内网造成的数据泄露问题,还可满足不同业务精细化的访问控制需求,进而在确保访问控制安全性的基础上,提高访问控制效率。
在一个实施例中,如图11所示,所述微服务访问控制系统还包括存储层,步骤1006包括:
步骤1102,通过所述接口层,基于所述资源节点对应的权限规则,获取所述业务访问请求中的上下文属性信息;
步骤1104,将所述上下文属性信息和所述权限规则作为请求参数,输入至所述接口层的权限规则引擎中,所述权限规则引擎用于根据所述上下文属性信息与所述权限规则鉴权得到鉴权结果;
步骤1106,根据所述权限规则引擎输出的鉴权结果,放行或拦截所述业务访问请求对所述存储层中的访问数据的控制。
其中,权限规则引擎是一种与请求上下文属性信息、权限规则具体组合表达无关的核心组件,其能够根据规则中的与或非等多种运算,结合请求上下文的属性做自适应逻辑处理,支持资源节点管理者进行高度精细化的访问控制,具有极高的通用性和可扩展性,能够适用于多种业务场景。
具体地,在微服务访问控制系统的接口层中,设置有访问控制服务(也可称为鉴权API),该服务在启动之初即通过对权限规则配备的热加载技术和预解析技术,汇总待访问资源节点的权限规则(接口级规则、模块级规则以及产品级规则),进而基于该权限规则获取上下文属性信息。同时,该接口层中设置有权限规则引擎,权限规则引擎可针对上下文属性信息和权限规则进行鉴权,进而输出鉴权结果,该鉴权结果可由访问控制服务获取判定,放行或是拦截当前业务访问请求对存储层中访问数据的控制。
更具体地,在接口层中的访问控制服务(鉴权API),执行鉴权处理时的流程示意图可参阅图12。鉴权API可根据权限规则引擎输出的鉴权结果,放行或拦截终端102当前发送的业务访问请求。
本实施例中,将上下文属性信息和权限规则作为请求参数进行鉴权,可满足不同业务精细化的访问控制需求,进而在确保访问控制安全性的基础上,提高访问控制效率。
在一个实施例中,如图13所示,所述微服务访问控制系统还包括审计层,步骤1106包括:
步骤1302,若所述鉴权结果为成功,则放行所述业务访问请求;所述业务访问请求用于请求对所述存储层中的访问数据进行增加、删除、修改、查询中的任意一项控制;
步骤1304,若所述鉴权结果为失败,则将所述上下文属性信息作为恶意访问信息,上报至所述审计层进行审计处理,并拦截所述业务访问请求。
具体地,本申请提出的权限规则引擎,同时集成了审计上报、灰度过渡等能力,资源节点管理者可以全方位监测引擎执行情况、访问异常情况,并且支持规则过渡能力(先收集信息后开启拦截),实现了传统规则引擎不具备的预发布能力。
更具体地,接口层中的访问控制服务(鉴权API)可根据权限规则引擎输出的鉴权结果,在鉴权结果为成功时放行当前的业务访问请求,进而执行该请求所指示对存储层中存储的访问数据,进行增加、删除、修改或者查询等的控制操作;在鉴权结果为失败时将上下文属性信息作为恶意访问信息,首先上报至审计层中进行审计处理,再拦截该业务访问请求。
本实施例中,权限规则引擎同时集成有审计上报、灰度过渡等功能,可使访问控制效率得到有效提高。
本申请还提供一种应用场景,该应用场景应用上述的访问控制方法。具体地,该访问控制方法在该应用场景的应用可参阅图14,结合图14可知其访问控制流程如下:
图14所示的访问控制系统主要应用于微服务场景,该场景主要包含面向两种对象的请求分析流程,即用户和企业员工。其一,用户向客户端发起业务访问请求之前,首先需发起登录请求,由登录服务器针对该登录请求中的身份信息进行验密,进而在验密成功的基础上向客户端颁发用户身份凭证(也可称为“票据”),以使客户端在后续接收到用户提交的业务访问请求时,将该用户身份凭证与业务访问请求一起打包,发送至服务器的接入层。接入层接收到客户端发送携带有用户身份凭证的业务访问请求后,首先对该请求进行解密(协议解析),解密成功即可确定其待访问的资源节点,由于该资源节点设置于逻辑层之后的接口层中,因此需基于该业务访问请求,调用逻辑层中对应的“业务逻辑服务”进行节点访问(接口调用)。
然而,由于本申请提出在接口层的入口预置有“访问控制服务(鉴权API)”,因此接口层接收到逻辑层转发的业务访问请求时,首先会针对其待访问的资源节点进行热加载、预解析处理,即汇总该资源节点对应的权限规则并进行转换,进而从业务访问请求中获取与权限规则对应的上下文属性信息,以便将获取到的上下文属性信息与该资源节点的权限规则一起输入至接口层中的“权限规则引擎”,以使“权限规则引擎”利用上下文属性信息和权限规则进行鉴权,再输出鉴权结果。由此,“访问控制服务(鉴权API)”可根据其输出的鉴权结果放行或拦截当前的业务访问请求,如:当鉴权结果为成功时,放行业务访问请求(允许用户通过客户端)对存储层中所存储的访问数据进行增加、删除、修改或者查询等控制操作,操作结果可根据需求反馈至客户端;当鉴权结果为失败时,首先将上下文属性信息作为恶意访问信息上报至审计层,再拦截该业务访问请求。
其二,企业员工的请求流程与用户的请求流程类似,在此不再赘述。而需要说明的是,结合本申请提出的访问控制方法与图14所示的微服务场景控制流程,可以看到,在微服务场景下,接口层中设置的访问控制架构,可以从底层统一解决业务横向越权漏洞、内部员工恶意访问、内网入侵等带来的安全隐患,使用户或企业员工无法再通过枚举等方式恶意访问到其他人的敏感信息。
本实施例中,通过接收终端的业务访问请求,来获取该业务访问请求待访问的资源节点,进而基于资源节点对应的权限规则,获取业务访问请求中与权限规则对应的信息,作为业务访问请求的上下文属性信息,最终根据上下文属性信息与权限规则鉴权得到的鉴权结果,放行或拦截该业务访问请求。采用本方法,依据待访问资源节点对应的权限规则,针对性获取后续鉴权所需的上下文属性信息,并基于该上下文属性信息进行统一鉴权,不仅能有效改善访问控制的安全性,还进一步提高了访问控制的效率。
应该理解的是,虽然图2-11、13的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-11、13中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图15所示,提供了一种访问控制装置1500,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:请求接收模块1502、节点获取模块1504、信息获取模块1506和访问控制模块1508,其中:
请求接收模块1502,用于接收终端的业务访问请求;
节点获取模块1504,用于获取所述业务访问请求待访问的资源节点;
信息获取模块1506,用于基于所述资源节点对应的权限规则,获取所述业务访问请求中与所述权限规则对应的信息,作为所述业务访问请求的上下文属性信息;
访问控制模块1508,用于根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求。
在一个实施例中,访问控制装置1500还包括身份凭证获取模块,用于接收所述终端的登录请求;对发起所述登录请求的用户身份进行验证,得到验证结果;若所述验证结果为成功,则生成用户身份凭证;将所述用户身份凭证发送至所述终端,供所述终端发送携带有所述用户身份凭证的业务访问请求。
在一个实施例中,身份凭证获取模块还用于通过AESGCM加密算法,生成加密后的用户身份凭证;将所述加密后的用户身份凭证发送至所述终端。
在一个实施例中,节点获取模块1504还用于通过AESGCM解密算法,对所述业务访问请求进行解密,得到解密结果;若所述解密结果为成功,则获取所述业务访问请求待访问的资源节点。
在一个实施例中,所述权限规则包括接口级规则、模块级规则以及产品级规则;信息获取模块1506还用于基于所述接口级规则、所述模块级规则以及所述产品级规则,对所述业务访问请求中携带的特征信息进行属性收集,分别得到与所述接口级规则、模块级规则以及产品级规则对应的信息,作为所述上下文属性信息。
在一个实施例中,信息获取模块1506还用于若所述权限规则存在变更的情况,则获取变更后的所述接口级规则、所述模块级规则以及所述产品级规则,作为与所述资源节点对应的权限规则;将所述资源节点对应的权限规则进行预解析处理,得到结构转换后的权限规则;所述结构转换后的权限规则用于获取所述上下文属性信息。
在一个实施例中,访问控制模块1508还用于将所述上下文属性信息对应于所述权限规则进行鉴权,得到鉴权结果;若所述鉴权结果为成功,则放行所述业务访问请求;所述业务访问请求用于请求对访问数据进行增加、删除、修改、查询中的任意一项控制;若所述鉴权结果为失败,则将所述上下文属性信息作为恶意访问信息进行上报处理之后,拦截所述业务访问请求。
在一个实施例中,所述上下文属性信息包括用户身份凭证,访问控制模块1508还用于通过AESGCM解密算法,对所述用户身份凭证进行解密,得到用户身份信息和权限信息;将所述用户身份信息、所述权限信息,以及所述上下文属性信息中包含的服务信息、环境上下文信息、关系链信息分别对应于所述权限规则进行鉴权,得到鉴权结果。
上述实施例中,依据待访问资源节点对应的权限规则,针对性获取后续鉴权所需的上下文属性信息,并基于该上下文属性信息进行统一鉴权,不仅能有效改善访问控制的安全性,还进一步提高了访问控制的效率。
关于访问控制装置的具体限定可以参见上文中对于访问控制方法的限定,在此不再赘述。上述访问控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图16所示,提供了另一种访问控制系统1600,该系统可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:接入层1602、逻辑层1604和接口层1606,其中:
接入层1602,用于接收所述终端的业务访问请求;
逻辑层1604,用于获取所述业务访问请求待访问的资源节点;
接口层1606,用于基于所述资源节点对应的权限规则,获取所述业务访问请求中与所述权限规则对应的信息,作为所述业务访问请求的上下文属性信息,并根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求。
在一个实施例中,所述微服务访问控制系统1600还包括存储层,接口层1606还用于基于所述资源节点对应的权限规则,获取所述业务访问请求中的上下文属性信息;将所述上下文属性信息和所述权限规则作为请求参数,输入至所述接口层的权限规则引擎中,所述权限规则引擎用于根据所述上下文属性信息与所述权限规则鉴权得到鉴权结果;根据所述权限规则引擎输出的鉴权结果,放行或拦截所述业务访问请求对所述存储层中的访问数据的控制。
在一个实施例中,所述微服务访问控制系统1600还包括审计层,接口层1606还用于若所述鉴权结果为成功,则放行所述业务访问请求;所述业务访问请求用于请求对所述存储层中的访问数据进行增加、删除、修改、查询中的任意一项控制;若所述鉴权结果为失败,则将所述上下文属性信息作为恶意访问信息,上报至所述审计层进行审计处理,并拦截所述业务访问请求。
上述实施例中,依据待访问资源节点对应的权限规则,针对性获取后续鉴权所需的上下文属性信息,不仅能有效改善访问控制的安全性,还进一步提高了访问控制的效率。
关于访问控制系统的具体限定可以参见上文中对于访问控制方法的限定,在此不再赘述。上述访问控制系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图17所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储计算资源、存储资源以及服务资源等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种访问控制方法。
本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (22)
1.一种访问控制方法,其特征在于,所述方法包括:
接收终端的业务访问请求;
获取所述业务访问请求待访问的资源节点;所述资源节点对应的各权限规则包括接口级规则、模块级规则以及产品级规则;所述接口级规则是指所述资源节点的权限规则,所述模块级规则是指所述资源节点所属模块的权限规则,所述产品级规则是指所述资源节点所属产品的权限规则;所述资源节点对应的各权限规则采用分布式存储方式进行存储;
基于所述接口级规则、所述模块级规则以及所述产品级规则,对所述业务访问请求中携带的特征信息进行属性收集,分别得到与所述接口级规则、模块级规则以及产品级规则对应的信息,作为所述业务访问请求的上下文属性信息;所述上下文属性信息包括用户身份凭证、服务信息、环境上下文信息以及关系链信息,所述服务信息是指所述资源节点所属的模块的信息,所述环境上下文信息包括所述资源节点的操作类型;所述用户身份凭证是在所述终端的登录请求验证成功的情况下生成的;所述用户身份凭证包括权限信息;根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求。
2.根据权利要求1所述的方法,其特征在于,在所述接收终端的业务访问请求之前,所述方法还包括:
接收所述终端的登录请求;
对发起所述登录请求的用户身份进行验证,得到验证结果;
若所述验证结果为成功,则生成用户身份凭证;
将所述用户身份凭证发送至所述终端,供所述终端发送携带有所述用户身份凭证的业务访问请求。
3.根据权利要求2所述的方法,其特征在于,所述将所述用户身份凭证发送至所述终端,包括:
通过AESGCM加密算法,生成加密后的用户身份凭证;
将所述加密后的用户身份凭证发送至所述终端。
4.根据权利要求1所述的方法,其特征在于,所述获取所述业务访问请求待访问的资源节点,包括:
通过AESGCM解密算法,对所述业务访问请求进行解密,得到解密结果;
若所述解密结果为成功,则获取所述业务访问请求待访问的资源节点。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述权限规则存在变更的情况,则获取变更后的所述接口级规则、所述模块级规则以及所述产品级规则,作为与所述资源节点对应的权限规则;
将所述资源节点对应的权限规则进行预解析处理,得到结构转换后的权限规则;所述结构转换后的权限规则用于获取所述上下文属性信息。
6.根据权利要求1所述的方法,其特征在于,所述根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求,包括:
将所述上下文属性信息对应于所述权限规则进行鉴权,得到鉴权结果;
若所述鉴权结果为成功,则放行所述业务访问请求;所述业务访问请求用于请求对访问数据进行增加、删除、修改、查询中的任意一项控制;
若所述鉴权结果为失败,则将所述上下文属性信息作为恶意访问信息进行上报处理之后,拦截所述业务访问请求。
7.根据权利要求6所述的方法,其特征在于,所述上下文属性信息包括用户身份凭证,所述将所述上下文属性信息对应于所述权限规则进行鉴权,得到鉴权结果,包括:
通过AESGCM解密算法,对所述用户身份凭证进行解密,得到用户身份信息和权限信息;
将所述用户身份信息、所述权限信息,以及所述上下文属性信息中包含的服务信息、环境上下文信息、关系链信息分别对应于所述权限规则进行鉴权,得到鉴权结果。
8.一种访问控制方法,其特征在于,应用于微服务访问控制系统,所述微服务访问控制系统包括接入层、逻辑层以及接口层,所述方法包括:
通过所述接入层,接收终端的业务访问请求;
通过所述逻辑层,获取所述业务访问请求待访问的资源节点;所述资源节点对应的各权限规则包括接口级规则、模块级规则以及产品级规则;所述接口级规则是指所述资源节点的权限规则,所述模块级规则是指所述资源节点所属模块的权限规则,所述产品级规则是指所述资源节点所属产品的权限规则;所述资源节点对应的各权限规则采用分布式存储方式进行存储;
通过所述接口层,基于所述接口级规则、所述模块级规则以及所述产品级规则,对所述业务访问请求中携带的特征信息进行属性收集,分别得到与所述接口级规则、模块级规则以及产品级规则对应的信息,作为所述业务访问请求的上下文属性信息,并根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求;所述上下文属性信息包括用户身份凭证、服务信息、环境上下文信息以及关系链信息,所述服务信息是指所述资源节点所属的模块的信息,所述环境上下文信息包括所述资源节点的操作类型;所述用户身份凭证是在所述终端的登录请求验证成功的情况下生成的;所述用户身份凭证包括权限信息。
9.根据权利要求8所述的方法,其特征在于,所述微服务访问控制系统还包括存储层,所述根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求,包括:
将所述上下文属性信息和所述权限规则作为请求参数,输入至所述接口层的权限规则引擎中,所述权限规则引擎用于根据所述上下文属性信息与所述权限规则鉴权得到鉴权结果;
根据所述权限规则引擎输出的鉴权结果,放行或拦截所述业务访问请求对所述存储层中的访问数据的控制。
10.根据权利要求9所述的方法,其特征在于,所述微服务访问控制系统还包括审计层,所述根据所述权限规则引擎输出的鉴权结果,放行或拦截所述业务访问请求对所述存储层中的访问数据的控制,包括:
若所述鉴权结果为成功,则放行所述业务访问请求;所述业务访问请求用于请求对所述存储层中的访问数据进行增加、删除、修改、查询中的任意一项控制;
若所述鉴权结果为失败,则将所述上下文属性信息作为恶意访问信息,上报至所述审计层进行审计处理,并拦截所述业务访问请求。
11.一种访问控制装置,其特征在于,所述装置包括:
请求接收模块,用于接收终端的业务访问请求;
节点获取模块,用于获取所述业务访问请求待访问的资源节点;所述资源节点对应的各权限规则包括接口级规则、模块级规则以及产品级规则;所述接口级规则是指所述资源节点的权限规则,所述模块级规则是指所述资源节点所属模块的权限规则,所述产品级规则是指所述资源节点所属产品的权限规则;所述资源节点对应的各权限规则采用分布式存储方式进行存储;
信息获取模块,用于基于所述接口级规则、所述模块级规则以及所述产品级规则,对所述业务访问请求中携带的特征信息进行属性收集,分别得到与所述接口级规则、模块级规则以及产品级规则对应的信息,作为所述业务访问请求的上下文属性信息;所述上下文属性信息包括用户身份凭证、服务信息、环境上下文信息以及关系链信息,所述服务信息是指所述资源节点所属的模块的信息,所述环境上下文信息包括所述资源节点的操作类型;所述用户身份凭证是在所述终端的登录请求验证成功的情况下生成的;所述用户身份凭证包括权限信息;
访问控制模块,用于根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求。
12.根据权利要求11所述的装置,其特征在于,所述装置还用于:
接收所述终端的登录请求;
对发起所述登录请求的用户身份进行验证,得到验证结果;
若所述验证结果为成功,则生成用户身份凭证;
将所述用户身份凭证发送至所述终端,供所述终端发送携带有所述用户身份凭证的业务访问请求。
13.根据权利要求12所述的装置,其特征在于,所述装置还用于:
通过AESGCM加密算法,生成加密后的用户身份凭证;
将所述加密后的用户身份凭证发送至所述终端。
14.根据权利要求11所述的装置,其特征在于,所述节点获取模块,还用于:
通过AESGCM解密算法,对所述业务访问请求进行解密,得到解密结果;
若所述解密结果为成功,则获取所述业务访问请求待访问的资源节点。
15.根据权利要求11所述的装置,其特征在于,所述装置还用于:
若所述权限规则存在变更的情况,则获取变更后的所述接口级规则、所述模块级规则以及所述产品级规则,作为与所述资源节点对应的权限规则;
将所述资源节点对应的权限规则进行预解析处理,得到结构转换后的权限规则;所述结构转换后的权限规则用于获取所述上下文属性信息。
16.根据权利要求11所述的装置,其特征在于,所述访问控制模块,还用于:
将所述上下文属性信息对应于所述权限规则进行鉴权,得到鉴权结果;
若所述鉴权结果为成功,则放行所述业务访问请求;所述业务访问请求用于请求对访问数据进行增加、删除、修改、查询中的任意一项控制;
若所述鉴权结果为失败,则将所述上下文属性信息作为恶意访问信息进行上报处理之后,拦截所述业务访问请求。
17.根据权利要求16所述的装置,其特征在于,所述上下文属性信息包括用户身份凭证,所述访问控制模块,还用于:
通过AESGCM解密算法,对所述用户身份凭证进行解密,得到用户身份信息和权限信息;
将所述用户身份信息、所述权限信息,以及所述上下文属性信息中包含的服务信息、环境上下文信息、关系链信息分别对应于所述权限规则进行鉴权,得到鉴权结果。
18.一种微服务访问控制系统,其特征在于,所述系统包括:
接入层,用于接收终端的业务访问请求;
逻辑层,用于获取所述业务访问请求待访问的资源节点;所述资源节点对应的各权限规则包括接口级规则、模块级规则以及产品级规则;所述接口级规则是指所述资源节点的权限规则,所述模块级规则是指所述资源节点所属模块的权限规则,所述产品级规则是指所述资源节点所属产品的权限规则;所述资源节点对应的各权限规则采用分布式存储方式进行存储;
接口层,用于基于所述接口级规则、所述模块级规则以及所述产品级规则,对所述业务访问请求中携带的特征信息进行属性收集,分别得到与所述接口级规则、模块级规则以及产品级规则对应的信息,作为所述业务访问请求的上下文属性信息,并根据所述上下文属性信息与所述权限规则鉴权得到的鉴权结果,放行或拦截所述业务访问请求;所述上下文属性信息包括用户身份凭证、服务信息、环境上下文信息以及关系链信息,所述服务信息是指所述资源节点所属的模块的信息,所述环境上下文信息包括所述资源节点的操作类型;所述用户身份凭证是在所述终端的登录请求验证成功的情况下生成的;所述用户身份凭证包括权限信息。
19.根据权利要求18所述的系统,其特征在于,所述微服务访问控制系统还包括存储层,所述接口层,还用于:
将所述上下文属性信息和所述权限规则作为请求参数,输入至所述接口层的权限规则引擎中,所述权限规则引擎用于根据所述上下文属性信息与所述权限规则鉴权得到鉴权结果;
根据所述权限规则引擎输出的鉴权结果,放行或拦截所述业务访问请求对所述存储层中的访问数据的控制。
20.根据权利要求19所述的系统,其特征在于,所述微服务访问控制系统还包括审计层,所述接口层,还用于:
若所述鉴权结果为成功,则放行所述业务访问请求;所述业务访问请求用于请求对所述存储层中的访问数据进行增加、删除、修改、查询中的任意一项控制;
若所述鉴权结果为失败,则将所述上下文属性信息作为恶意访问信息,上报至所述审计层进行审计处理,并拦截所述业务访问请求。
21.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
22.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010273750.1A CN111488598B (zh) | 2020-04-09 | 2020-04-09 | 访问控制方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010273750.1A CN111488598B (zh) | 2020-04-09 | 2020-04-09 | 访问控制方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488598A CN111488598A (zh) | 2020-08-04 |
CN111488598B true CN111488598B (zh) | 2023-04-07 |
Family
ID=71812761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010273750.1A Active CN111488598B (zh) | 2020-04-09 | 2020-04-09 | 访问控制方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488598B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149107B (zh) * | 2020-09-01 | 2024-06-07 | 珠海市卓轩科技有限公司 | 统一权限管理方法、系统、装置及存储介质 |
CN112235298B (zh) * | 2020-10-14 | 2022-03-01 | 国网电子商务有限公司 | 一种数据安全分级动态访问控制方法、装置及电子设备 |
CN112257093B (zh) * | 2020-11-09 | 2024-03-26 | 天冕信息技术(深圳)有限公司 | 数据对象的鉴权方法、终端及存储介质 |
CN112532604B (zh) * | 2020-11-20 | 2022-06-28 | 深圳市和讯华谷信息技术有限公司 | 缓存访问控制方法、装置、计算机设备及存储介质 |
CN112685706A (zh) * | 2020-12-29 | 2021-04-20 | 平安普惠企业管理有限公司 | 请求鉴权方法及相关设备 |
CN114697065B (zh) * | 2020-12-31 | 2024-04-30 | 中国联合网络通信集团有限公司 | 安全认证方法和安全认证装置 |
CN114745145B (zh) * | 2021-01-07 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 业务数据访问方法、装置和设备及计算机存储介质 |
CN113377647B (zh) * | 2021-05-27 | 2023-04-07 | 北京达佳互联信息技术有限公司 | 页面处理方法、装置、服务器、终端及可读存储介质 |
CN113672896B (zh) * | 2021-07-08 | 2024-08-06 | 浙江大华技术股份有限公司 | 接口权限校验方法、系统、电子装置和存储介质 |
CN113778709B (zh) * | 2021-08-25 | 2024-03-12 | 北京达佳互联信息技术有限公司 | 接口调用方法、装置、服务器及存储介质 |
CN113806698B (zh) * | 2021-09-06 | 2024-01-09 | 深圳云之家网络有限公司 | 应用资源控制方法、装置、计算机设备和存储介质 |
CN113792345A (zh) * | 2021-09-18 | 2021-12-14 | 国网电子商务有限公司 | 一种数据访问控制方法及装置 |
US20230179634A1 (en) * | 2021-12-02 | 2023-06-08 | International Business Machines Corporation | Secure policy distribution in a cloud environment |
CN116266793A (zh) * | 2021-12-17 | 2023-06-20 | 华为技术有限公司 | 访问控制方法及其相关装置 |
CN114417379A (zh) * | 2022-01-18 | 2022-04-29 | 成都新希望金融信息有限公司 | 权限控制方法、装置、电子设备和可读存储介质 |
CN114520742A (zh) * | 2022-02-21 | 2022-05-20 | 中国农业银行股份有限公司 | 访问请求的处理方法、装置及存储介质 |
CN114598520B (zh) * | 2022-03-03 | 2024-04-05 | 平安付科技服务有限公司 | 资源访问控制的方法、装置、设备及存储介质 |
CN117235092A (zh) * | 2022-06-08 | 2023-12-15 | 华为云计算技术有限公司 | 数据管理方法及装置 |
CN115495783B (zh) * | 2022-09-20 | 2023-05-23 | 北京三维天地科技股份有限公司 | 一种配置式的数据服务暴露解决方法及系统 |
CN116094849B (zh) * | 2023-04-11 | 2023-06-09 | 深圳竹云科技股份有限公司 | 应用访问鉴权方法、装置、计算机设备和存储介质 |
CN117807575B (zh) * | 2024-01-02 | 2024-08-06 | 广州优加市场调研有限公司 | 一种基于云计算的访员管理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109286633A (zh) * | 2018-10-26 | 2019-01-29 | 深圳市华云中盛科技有限公司 | 单点登陆方法、装置、计算机设备及存储介质 |
CN110460595A (zh) * | 2019-08-02 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 一种鉴权与业务服务方法、装置以及设备 |
CN110719265A (zh) * | 2019-09-23 | 2020-01-21 | 腾讯科技(深圳)有限公司 | 一种实现网络安全通信的方法、装置及设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207482B (zh) * | 2007-12-13 | 2010-07-21 | 深圳市戴文科技有限公司 | 一种实现单点登录的方法及系统 |
CN104580163B (zh) * | 2014-12-19 | 2018-08-24 | 南阳师范学院 | 私有云环境下访问控制策略构建系统 |
CN108809956B (zh) * | 2018-05-23 | 2021-11-19 | 广州虎牙信息科技有限公司 | 基于微服务的鉴权方法、访问请求转发方法和装置、系统 |
CN108924125B (zh) * | 2018-06-29 | 2021-06-04 | 招银云创信息技术有限公司 | 接口调用权限的控制方法、装置、计算机设备和存储介质 |
CN110069941A (zh) * | 2019-03-15 | 2019-07-30 | 深圳市买买提信息科技有限公司 | 一种接口访问鉴权方法、装置及计算机可读介质 |
CN110213223B (zh) * | 2019-03-21 | 2022-03-01 | 腾讯科技(深圳)有限公司 | 业务管理方法、装置、系统、计算机设备和存储介质 |
CN110602052B (zh) * | 2019-08-15 | 2022-09-20 | 平安科技(深圳)有限公司 | 微服务处理方法及服务器 |
CN110839014B (zh) * | 2019-10-12 | 2022-03-01 | 平安科技(深圳)有限公司 | 一种认证方法、装置、计算机设备及可读存储介质 |
-
2020
- 2020-04-09 CN CN202010273750.1A patent/CN111488598B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109286633A (zh) * | 2018-10-26 | 2019-01-29 | 深圳市华云中盛科技有限公司 | 单点登陆方法、装置、计算机设备及存储介质 |
CN110460595A (zh) * | 2019-08-02 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 一种鉴权与业务服务方法、装置以及设备 |
CN110719265A (zh) * | 2019-09-23 | 2020-01-21 | 腾讯科技(深圳)有限公司 | 一种实现网络安全通信的方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
刘嘉俊.移动互联网中基于上下文信息的用户偏好提取研究.《中国优秀硕士学位论文全文数据库》.2018,信息科技辑 I138-3821. * |
Also Published As
Publication number | Publication date |
---|---|
CN111488598A (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488598B (zh) | 访问控制方法、装置、计算机设备和存储介质 | |
US11558381B2 (en) | Out-of-band authentication based on secure channel to trusted execution environment on client device | |
CN111191286B (zh) | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 | |
US10541806B2 (en) | Authorizing account access via blinded identifiers | |
US20180316501A1 (en) | Token-based secure data management | |
US20200119904A1 (en) | Tamper-proof privileged user access system logs | |
WO2021184755A1 (zh) | 应用访问方法、装置、电子设备以及存储介质 | |
US20220286448A1 (en) | Access to data stored in a cloud | |
CN109587101B (zh) | 一种数字证书管理方法、装置及存储介质 | |
CN105516059B (zh) | 一种资源访问控制方法和装置 | |
CN114239046A (zh) | 数据共享方法 | |
CN118260264A (zh) | 一种用于分布式文件系统的用户友好型加密存储系统及方法 | |
Almutairi et al. | Survey of centralized and decentralized access control models in cloud computing | |
CN115510492A (zh) | 一种基于智能合约的电子病历管理系统及方法 | |
Asadi Saeed Abad et al. | An architecture for security and protection of big data | |
CN111917711A (zh) | 数据访问方法、装置、计算机设备和存储介质 | |
WO2022193494A1 (zh) | 权限控制方法及服务器、终端、存储介质和计算机程序 | |
Adlam et al. | Applying Blockchain Technology to Security-Related Aspects of Electronic Healthcare Record Infrastructure | |
CN114564750A (zh) | 一种敏感数据访问管控方法及系统 | |
Zhang | Research on the application of computer big data technology in cloud storage security | |
US10116438B1 (en) | Managing use of security keys | |
Raja et al. | An enhanced study on cloud data services using security technologies | |
US20240114012A1 (en) | Zero-trust distributed data sharing | |
CN117579374B (zh) | 基于OpenAPI的服务访问权限认证方法、装置、系统和服务器 | |
US20240119168A1 (en) | Blind subpoena protection |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40027360 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |