CN116760640B - 访问控制方法、装置、设备及存储介质 - Google Patents

访问控制方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116760640B
CN116760640B CN202311040376.0A CN202311040376A CN116760640B CN 116760640 B CN116760640 B CN 116760640B CN 202311040376 A CN202311040376 A CN 202311040376A CN 116760640 B CN116760640 B CN 116760640B
Authority
CN
China
Prior art keywords
access
information
access request
attribute
strategy
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
Application number
CN202311040376.0A
Other languages
English (en)
Other versions
CN116760640A (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.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech 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 CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202311040376.0A priority Critical patent/CN116760640B/zh
Publication of CN116760640A publication Critical patent/CN116760640A/zh
Application granted granted Critical
Publication of CN116760640B publication Critical patent/CN116760640B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种访问控制方法、装置、设备及存储介质,可以应用于网络安全的技术领域。该方法包括:接收由用户端发送的业务数据访问请求;基于策略代理库,查询与该访问请求对应的缓存策略,其中,所述缓存策略用于表征与所述访问请求对应的权限;在确定所述策略代理库中没有与所述访问请求对应的缓存策略情况下,通过基于属性的访问控制模块获取与所述访问请求对应的认证结果和目标策略;根据所述认证结果,对所述用户端的访问请求进行授权;根据所述目标策略,控制所述用户端访问业务数据。

Description

访问控制方法、装置、设备及存储介质
技术领域
本发明涉及网络安全领域,尤其涉及一种访问控制方法、装置、设备及存储介质。
背景技术
Kafka是一种常见的消息中间件。在消息生产与消费过程中,其运行环境是一个开放且并非安全的复杂环境,特别是在混合云环境下,不同应用存在访问同一套Kafka或多套Kafka对同一应用提供消息消费的情况,这就对Kafka的安全访问提出了较高的要求,访问控制技术对于Kafka来说是一项相当关键的技术。
目前,大部分系统采用基于角色的访问控制模型(Role-based Access Control ,RBAC)来进行访问控制,RBAC模型构建简单,中小系统中对于角色和授权关系的维护工作量不大,但策略构造相对繁琐,在多系统或单一大型系统中,RBAC模型需要维护大量的角色和授权关系,无法做到访问控制的细粒度控制与授权。
发明内容
鉴于上述问题,本发明提供了访问控制方法、装置、设备及存储介质。
根据本发明的第一个方面,提供了一种访问控制方法,包括:接收由用户端发送的业务数据访问请求;基于策略代理库,查询与该访问请求对应的缓存策略,其中,缓存策略用于表征与访问请求对应的权限;在确定策略代理库中没有与访问请求对应的缓存策略情况下,通过基于属性的访问控制模块获取与访问请求对应的认证结果和目标策略,其中,基于属性的访问控制模块包括策略决策点、策略信息点和策略管理点,认证结果用于表征对用户端身份信息核验通过,目标策略用于表征与访问请求对应的权限;根据认证结果,对用户端的访问请求进行授权;根据目标策略,控制用户端访问业务数据。
根据本发明的实施例,在确定策略代理库中没有与访问请求对应的缓存策略情况下,通过基于属性的访问控制模块获取与访问请求对应的认证结果和目标策略,包括:将访问请求转换成符合XACML模板的目标请求;获取与目标请求相对应的目标策略;对用户端的身份信息进行评估,生成认证结果。
根据本发明的实施例,对用户端的身份信息进行评估,生成认证结果,包括:对用户端的身份信息进行第一次评估,生成第一评估结果;确定第一评估结果为需要收集与用户端对应的属性信息的情况下,获取用户端的属性信息,其中,属性信息用于表征用户端的资源配置信息;根据属性信息,对用户端的身份信息进行第二次评估,生成第二评估结果;根据第二评估结果,生成认证结果。
根据本发明的实施例,根据认证结果,对用户端的访问请求进行授权之前,包括:将认证结果和目标策略缓存于策略代理库。
根据本发明的实施例,该方法还包括:响应于业务数据访问权限的变更,获取与该业务数据对应的元数据及访问权限的信息;将业务数据对应的元数据及访问权限的信息同步至基于属性的访问控制模块。
根据本发明的实施例,将业务数据对应的元数据及访问权限的信息同步至基于属性的访问控制模块,包括:根据业务数据对应的元数据及访问权限的信息,确定该业务数据的属性信息;构建属性信息与基于属性的访问控制模块中的目标策略之间的映射关系;将映射关系同步至基于属性的访问控制模块。
根据本发明的实施例,属性信息包括资源信息、访问对象信息和环境信息,其中,资源信息包括资源自身的属性特征,访问对象信息包括访问对象自身的特征信息,环境信息包括访问请求发生的环境或上下文信息。
根据本发明的实施例,该方法还包括:在确定策略代理库中有与访问请求对应的缓存策略情况下,将与访问请求对应的缓存策略作为目标策略。
根据本发明的实施例,该方法还包括:确定第一评估结果为不需要收集与用户端对应的属性信息的情况下,根据第一评估结果,生成认证结果。
本发明的第二方面提供了一种访问控制装置,包括:接收模块,用于接收由用户端发送的业务数据访问请求;查询模块,用于基于策略代理库,查询与该访问请求对应的缓存策略,其中,缓存策略用于表征与访问请求对应的权限;基于属性的访问控制模块,用于在确定策略代理库中没有与访问请求对应的缓存策略情况下,通过基于属性的访问控制模块获取与访问请求对应的认证结果和目标策略,其中,基于属性的访问控制模块包括策略决策点、策略信息点和策略管理点,认证结果用于表征对用户端身份信息核验通过,目标策略用于表征与访问请求对应的权限;授权模块,用于根据认证结果,对用户端的访问请求进行授权;以及处理模块,用于根据目标策略,控制用户端访问业务数据。
本发明的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述方法。
本发明的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述方法。
根据本发明提供的访问控制方法、装置、设备及存储介质,通过在用户端和业务数据之间设置查询模块,对用户端发送的访问请求进行预先的查询,在确定有与访问请求对应的缓存策略的情况下,可直接生成目标策略进行访问;在确定没有与访问请求对应的缓存策略的情况下,通过基于属性的访问控制模块获取与访问请求对应的目标策略和认证结果,进行访问。由于引入了基于属性的访问控制模块,实现访问的灵活授权,同时查询模块完全截断了用户端和业务数据之间的通信,避免用户端直接访问业务数据,使访问更加安全;还能够对业务数据的访问权限进行不断的更新,因此,至少部分的解决了授权访问管理复杂缺乏灵活性的问题,实现了访问的灵活授权,访问权限更新自动化,提高工作效率的技术效果。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本发明实施例的访问控制方法、装置、设备及存储介质的应用场景图;
图2示意性示出了根据本发明实施例的访问控制方法的流程图;
图3示意性示出了根据本发明实施例的根据访问请求获取目标策略策略的判断流程图;
图4示意性示出了根据本发明实施例的获取与访问请求对应的认证结果和目标策略的流程图;
图5示意性示出了根据本发明实施例的对用户端的身份信息评估生成认证结果的流程图;
图6示意性示出了根据本发明另一实施例的访问控制方法的流程图;
图7示意性示出了根据本发明另一实施例的实现业务数据对应的元数据及访问权限信息同步的流程图;
图8示意性示出了根据本发明实施例的访问控制方法的原理图;
图9示意性示出了根据本发明实施例的访问控制装置的结构框图;以及
图10示意性示出了根据本发明实施例的适于实现访问控制方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本发明的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本发明实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本发明的技术方案中,所涉及的数据(如包括但不限于用户个人信息)的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
本发明的实施例提供了一种访问控制方法,包括:接收由用户端发送的业务数据访问请求;基于策略代理库,查询与该访问请求对应的缓存策略,其中,缓存策略用于表征与访问请求对应的权限;在确定策略代理库中没有与访问请求对应的缓存策略情况下,通过基于属性的访问控制模块获取与访问请求对应的认证结果和目标策略,其中,基于属性的访问控制模块包括策略决策点、策略信息点和策略管理点,认证结果用于表征对用户端身份信息核验通过,目标策略用于表征与访问请求对应的权限;根据认证结果,对用户端的访问请求进行授权;根据目标策略,控制用户端访问业务数据。
图1示意性示出了根据本发明实施例的访问控制方法、装置、设备及存储介质的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括第一终端设备101、第二终端设备102、第三终端设备103、网络104及服务器105。网络104用以在第一终端设备101、第二终端设备102、第三终端设备103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用第一终端设备101、第二终端设备102、第三终端设备103中的至少一个通过网络104与服务器105交互,以接收或发送消息等。第一终端设备101、第二终端设备102、第三终端设备103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
第一终端设备101、第二终端设备102、第三终端设备103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用第一终端设备101、第二终端设备102、第三终端设备103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本发明实施例所提供的访问控制方法一般可以由服务器105执行。相应地,本发明实施例所提供的访问控制装置一般可以设置于服务器105中。本发明实施例所提供的访问控制方法也可以由不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群执行。相应地,本发明实施例所提供的访问控制装置也可以设置于不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
目前主流的访问控制技术包括:自主访问控制(DAC), 强制访问控制(MAC),基于角色的访问控制(RBAC),基于属性的访问控制(ABAC)。DAC通过维护访问控制表,通过对访问控制表的过滤来完成请求的访问控制。MAC对访问控制的规则是不允许修改的,数据只能从低级流向高级,同级之间是不允许互通的。RBAC 根据用户的不同角色,划分不同的权限,并与角色进行绑定,或从不同角色间继承,完成权限划分。基于属性的访问控制(ABAC)将属性与访问控制中涉及的主体,客体,环境,授权等信息进行对应,并统一建模,从而使策略控制的制定和约束更加准确灵活。对于云环境下各应用系统不同业务场景中的控制对象,控制范围等都有不同的要求,ABAC访问控制方法很好的满足了各种场景下对Kafka的访问控制需求。
以下将基于图1描述的场景,通过图2~图8对公开实施例的访问控制方法进行详细描述。
图2示意性示出了根据本发明实施例的访问控制方法的流程图。
如图2所示,该实施例的访问控制方法包括操作S210~操作S250。
在操作S210,接收由用户端发送的业务数据访问请求。
在一些实施例中,用户端为数据消费者的设备,数据消费者可通过用户端从分布式消息系统Kafka中读取数据即订阅数据。分布式消息系统为Kafka。在Kafka中,数据可以以主题维度即Topic维度存储在集群中,可以理解为是一个消息的集合。每条发送到 Kafka集群的消息都会自带一个类别,表明要将消息发送到哪个 Topic 上。在存储方面,不同的Topic 的消息是分开存储的,每个 Topic 可以有多个生产者向他发送消息,也可以有多个消费者去消费同一个Topic中的消息。
在操作S220,基于策略代理库,查询与该访问请求对应的缓存策略,其中,缓存策略用于表征与访问请求对应的权限。
在一些实施例中,策略是一组规则,规定用户端对资源使用的一些要求。资源即是系统提供给请求者使用的数据、服务和系统组件,即Topic 中的消息。策略代理库含有多个与不同用户端访问请求对应的策略。设置Kafka代理,Kafka代理可以包括代理层和缓存层,缓存层能够调用策略代理库,代理层接收访问请求,缓存层查询策略代理库是否有与该访问请求对应的策略。如果有,则直接通过该策略访问Topic中的消息,获取数据返回至用户端。如果没有,则进行后续的操作。
在操作S230,在确定策略代理库中没有与访问请求对应的缓存策略情况下,通过基于属性的访问控制模块获取与访问请求对应的认证结果和目标策略,其中,基于属性的访问控制模块包括策略决策点、策略信息点和策略管理点,认证结果用于表征对用户端身份信息核验通过,目标策略用于表征与访问请求对应的权限。
在一些实施例中,PAP:策略管理点,管理访问授权策略的节点;PDP:策略决策点,根据策略评估访问请求是否可以被允许的节点;PIP:策略信息点,提供访问对象的属性信息,包括资源信息、访问对象信息、环境信息。
在操作S240,根据认证结果,对用户端的访问请求进行授权。
在操作S250,根据目标策略,控制用户端访问业务数据。
在一些实施例中,Kafka代理在用户端的认证结果通过的情况下,匹配到目标策略,允许访问Kafka获取数据。
其中,该方法还包括:将认证结果和目标策略缓存于策略代理库。
在一些实施例中,对策略代理库中缺失的缓存策略及时进行补入,及时对策略代理库进行更新,更好的满足不同用户端访问请求的需求。
可以理解的是,通过在用户端和Kafka之间设置Kafka代理,且Kafka代理与基于属性的访问控制模块通信连接。对用户端发送的访问请求进行预先的查询,在确定有与访问请求对应的缓存策略的情况下,可直接生成目标策略进行访问;在确定没有与访问请求对应的缓存策略的情况下,根据用户端的属性信息,通过基于属性的访问控制模块获取与访问请求对应的目标策略和认证结果,进行访问。由于引入了基于属性的访问控制模块,实现访问的灵活授权。Kafka代理作为连接Kafka和应用之间的桥梁,Kafka代理完全截断了用户端和业务数据之间的通信,避免用户端直接访问Kafka,使访问更加安全。
图3示意性示出了根据本发明实施例的根据访问请求获取目标策略策略的判断流程图。
如图3所示,该实施例的在确定策略代理库中没有与访问请求对应的缓存策略情况下,通过基于属性的访问控制模块获取与访问请求对应的认证结果和目标策略,包括操作S310~操作S330。
在操作S310,判断策略代理库中是否有与访问请求对应的缓存策略。
在操作S320,在确定策略代理库中有与访问请求对应的缓存策略情况下,将与访问请求对应的缓存策略作为目标策略。
在一些实施例中,Kafka代理匹配到与访问请求对应的缓存策略后,则从Kafka中获取数据返回至用户端。
在操作S330,在确定策略代理库中没有与访问请求对应的缓存策略情况下,通过基于属性的访问控制模块获取与访问请求对应的认证结果和目标策略。
其中,操作S330与上述操作S230的实施方式相同。
图4示意性示出了根据本发明实施例的获取与访问请求对应的认证结果和目标策略的流程图。
如图4所示,该实施例的对用户端的身份信息进行评估,生成认证结果,包括操作S410~操作S430。
在操作S410,将访问请求转换成符合XACML模板的目标请求。
在操作S420,获取与目标请求相对应的目标策略。
在操作S430,对用户端的身份信息进行评估,生成认证结果。
在一些实施例中,XACML是一种用于决定请求/响应的通过访问控制策略语言和执行授权策略的框架,他在传统的分布式环境中被广泛用于访问控制策略的执行。Kafka代理将访问请求转换成符合XACML模板的目标请求。PDP接收目标请求后,向PAP请求目标策略。PDP在接收到PAP返回的目标策略后,对用户端的身份信息进行评估,看是否允许访问。
图5示意性示出了根据本发明实施例的对用户端的身份信息评估生成认证结果的流程图。
如图5所示,该实施例的对用户端的身份信息进行评估,生成认证结果,包括操作S510~操作S540。
在操作S510,对用户端的身份信息进行第一次评估,生成第一评估结果。
在一些实施例中,第一次评估看用户端的身份信息中的属性信息是否完整,如果有缺失,则进行后续属性信息的获取。如果没有缺失,则返回通过的认证结果。
在操作S520,确定第一评估结果为需要收集与用户端对应的属性信息的情况下,获取用户端的属性信息,其中,属性信息用于表征用户端的资源配置信息。
其中,确定第一评估结果为不需要收集与用户端对应的属性信息的情况下,根据第一评估结果,生成认证结果。
具体地,属性信息包括资源信息、访问对象信息和环境信息,其中,资源信息包括资源自身的属性特征,访问对象信息包括访问对象自身的特征信息,环境信息包括访问请求发生的环境或上下文信息。
在操作S530,根据属性信息,对用户端的身份信息进行第二次评估,生成第二评估结果。
在操作S540,根据第二评估结果,生成认证结果。
在一些实施例中,主体属性可以包括:用户部门和账号类型;资源属性包括:Topic敏感级别。环境属性:客户端IP地址。策略:部门为研发的试用账号只能访问公开的Topic。
例如:用户端app1,身份属性:运维开发;组织属性:运维部;对象属性:Topic:用户信息,敏感性:机密。策略规则:策略1:运维人员可以访问机密信息,策略2:研发人员不可以访问机密信息。用户端在进行访问时在确定Kafka代理没有与访问请求对应的缓存策略时,包括: app1请求访问用户信息Topic;ABAC向PDP发送XACML转换后的目标请求;目标请求包含主体、操作、对象数据(app1,请求操作 Topic);PDP查询PIP获取主体和对象属性(即身份信息);PDP从PAP加载相关策略文件,策略文件具体内容:策略1: “运维”可以访问敏感级别为“机密”的资源;策略2:“研发”不可以访问敏感级别为“机密”的资源;PDP评估app1的身份信息匹配策略1;返回访问允许决定;返回决定给Kafka代理进行授权。
图6示意性示出了根据本发明另一实施例的访问控制方法的流程图。
如图6所示,该实施例的访问控制方法包括操作S610~操作S620。
在操作S610,响应于业务数据访问权限的变更,获取与该业务数据对应的元数据及访问权限的信息。
在操作S620,将业务数据对应的元数据及访问权限的信息同步至基于属性的访问控制模块。
在一些实施例中,Kafka Topic 信息元数据(Kafka 中Topic,有哪些消费者与生产者),这些信息的来源是作为Kafka生产者或消费者的应用中声明的,例如: app1 中有需求使用Kafka作为消息系统,在代码编码要求中,我们规定了项目中的指定文件声明该项目中涉及到的Kafka Topic,则app1 代码合并审批通过后,代表该代码已经符合上线测试要求,其访问Kafka相应Topic的需求策略已经批准,此时属性同步器会将新的属性信息同步到pip策略信息点中。此时就可以设定诸如下的策略:app1的这几个Topic只能app1使用,其它应用无法访问。采用github项目代码管理软件进行策略同步后,PIP属性信息可以实现大部分在代码构建阶段就可以同步到策略信息点中,实现自动化。
可以理解的是,根据github项目代码管理软件实时得到访问权限的更新信息,并将更新的信息及时的同步到PIP中。实现了属性信息在代码构建阶段就可以同步到PIP策略信息点中,实现自动化,提高工作效率。
图7示意性示出了根据本发明另一实施例的实现业务数据对应的元数据及访问权限信息同步的流程图。
如图7所示,该实施例的访问控制方法包括操作S710~操作S730。
在操作S710,根据业务数据对应的元数据及访问权限的信息,确定该业务数据的属性信息。
在操作S720,构建属性信息与基于属性的访问控制模块中的目标策略之间的映射关系。
在操作S730,将映射关系同步至基于属性的访问控制模块。
在一些实施例中,对于新增、变更或者修改的业务数据,将该业务数据对应的资源信息、访问对象信息、环境信息和策略形成映射,存储在PIP中。
图8示意性示出了根据本发明实施例的访问控制方法的原理图。
如图8所示,该实施例的访问控制方法具体的实现方式为:用户端发送访问请求,代理层接收访问请求,缓存层查询策略代理库是否有与该访问请求对应的策略。如果有,则直接通过该策略访问Topic中的消息,获取数据返回至用户端。如果没有,则通过基于属性的访问控制模块获取与访问请求对应的认证结果和目标策略;Kafka代理将访问请求转换成符合XACML模板的目标请求。PDP接收目标请求后,向PAP请求目标策略。PDP在接收到PAP返回的目标策略后,对用户端的身份信息进行评估,看是否允许访问。如果身份信息中有缺失的属性信息则需要向PIP获取属性信息,根据完整的身份信息和属性信息进行评估,评估通过进行相应的授权,允许从Kafka中获取数据。
基于上述访问控制方法,本发明还提供了一种访问控制装置。以下将结合图9对该装置进行详细描述。
图9示意性示出了根据本发明实施例的访问控制装置的结构框图。
如图9所示,该实施例的访问控制装置900包括接收模块910、查询模块920、基于属性的访问控制模块930、授权模块940和处理模块950。
接收模块910用于接收由用户端发送的业务数据访问请求。在一实施例中,接收模块910可以用于执行前文描述的操作S210,在此不再赘述。
查询模块920用于基于策略代理库,查询与该访问请求对应的缓存策略,其中,缓存策略用于表征与访问请求对应的权限。在一实施例中,查询模块920可以用于执行前文描述的操作S220,在此不再赘述。
基于属性的访问控制模块930用于在确定策略代理库中没有与访问请求对应的缓存策略情况下,通过基于属性的访问控制模块获取与访问请求对应的认证结果和目标策略,其中,基于属性的访问控制模块包括策略决策点、策略信息点和策略管理点,认证结果用于表征对用户端身份信息核验通过,目标策略用于表征与访问请求对应的权限。在一实施例中,基于属性的访问控制模块930可以用于执行前文描述的操作S230,在此不再赘述。
授权模块940用于根据认证结果,对用户端的访问请求进行授权。在一实施例中,授权模块940可以用于执行前文描述的操作S240,在此不再赘述。
处理模块950用于根据目标策略,控制用户端访问业务数据。在一实施例中,处理模块950可以用于执行前文描述的操作S250,在此不再赘述。
根据本发明的实施例,接收模块910、查询模块920、基于属性的访问控制模块930、授权模块940和处理模块950中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,接收模块910、查询模块920、基于属性的访问控制模块930、授权模块940和处理模块950中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,接收模块910、查询模块920、基于属性的访问控制模块930、授权模块940和处理模块950中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图10示意性示出了根据本发明实施例的适于实现访问控制方法的电子设备的方框图。
如图10所示,根据本发明实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本发明实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有电子设备900操作所需的各种程序和数据。处理器 901、ROM902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本发明实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本发明实施例的方法流程的各种操作。
根据本发明的实施例,电子设备900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。电子设备900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本发明实施例的方法。
根据本发明的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本发明的实施例,计算机可读存储介质可以包括上文描述的ROM 902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
在该计算机程序被处理器901执行时执行本发明实施例的系统/装置中限定的上述功能。根据本发明的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分909被下载和安装,和/或从可拆卸介质911被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本发明实施例的系统中限定的上述功能。根据本发明的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本发明的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本发明的各个实施例中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本发明中。特别地,在不脱离本发明精神和教导的情况下,本发明的各个实施例中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本发明的范围。
以上对本发明的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本发明的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本发明的范围由所附实施例及其等同物限定。不脱离本发明的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本发明的范围之内。

Claims (10)

1.一种访问控制方法,包括:
接收由用户端发送的业务数据访问请求;
基于策略代理库,查询与该访问请求对应的缓存策略,其中,所述缓存策略用于表征与所述访问请求对应的权限;
在确定所述策略代理库中没有与所述访问请求对应的缓存策略情况下,通过基于属性的访问控制模块获取与所述访问请求对应的认证结果和目标策略,其中,所述基于属性的访问控制模块包括策略决策点、策略信息点和策略管理点,所述认证结果用于表征对所述用户端身份信息核验通过,所述目标策略用于表征与所述访问请求对应的权限;
根据所述认证结果,对所述用户端的访问请求进行授权;
根据所述目标策略,控制所述用户端访问Kafka系统中的业务数据;
其中,所述在确定所述策略代理库中没有与所述访问请求对应的缓存策略情况下,通过基于属性的访问控制模块获取与所述访问请求对应的认证结果和目标策略,包括:将所述访问请求转换成符合XACML模板的目标请求;获取与所述目标请求相对应的目标策略;对所述用户端的身份信息进行评估,生成认证结果;
所述对所述用户端的身份信息进行评估,生成认证结果,包括:对所述用户端的身份信息进行第一次评估,生成第一评估结果;确定所述第一评估结果为需要收集与所述用户端对应的属性信息的情况下,获取所述用户端的属性信息,其中,所述属性信息用于表征所述用户端的资源配置信息;根据所述属性信息,对所述用户端的身份信息进行第二次评估,生成第二评估结果;根据所述第二评估结果,生成认证结果。
2.根据权利要求1所述的方法,其中,根据所述认证结果,对所述用户端的访问请求进行授权之前,包括:
将所述认证结果和目标策略缓存于所述策略代理库。
3.根据权利要求1所述的方法,其中,该方法还包括:
响应于业务数据访问权限的变更,获取与该业务数据对应的元数据及访问权限的信息;
将所述业务数据对应的元数据及访问权限的信息同步至所述基于属性的访问控制模块。
4.根据权利要求3所述的方法,其中,所述将所述业务数据对应的元数据及访问权限的信息同步至所述基于属性的访问控制模块,包括:
根据所述业务数据对应的元数据及访问权限的信息,确定该业务数据的属性信息;
构建所述属性信息与所述基于属性的访问控制模块中的目标策略之间的映射关系;
将所述映射关系同步至所述基于属性的访问控制模块。
5.根据权利要求4所述的方法,其中,所述属性信息包括资源信息、访问对象信息和环境信息,其中,所述资源信息包括资源自身的属性特征,所述访问对象信息包括访问对象自身的特征信息,所述环境信息包括访问请求发生的环境或上下文信息。
6.根据权利要求1所述的方法,其中,该方法还包括:
在确定所述策略代理库中有与所述访问请求对应的缓存策略情况下,将与所述访问请求对应的缓存策略作为目标策略。
7.根据权利要求1所述的方法,其中,该方法还包括:
确定所述第一评估结果为不需要收集与所述用户端对应的属性信息的情况下,根据所述第一评估结果,生成认证结果。
8.一种访问控制装置,包括:
接收模块,用于接收由用户端发送的业务数据访问请求;
查询模块,用于基于策略代理库,查询与该访问请求对应的缓存策略,其中,所述缓存策略用于表征与所述访问请求对应的权限;
基于属性的访问控制模块,用于在确定所述策略代理库中没有与所述访问请求对应的缓存策略情况下,通过基于属性的访问控制模块获取与所述访问请求对应的认证结果和目标策略,其中,所述基于属性的访问控制模块包括策略决策点、策略信息点和策略管理点,所述认证结果用于表征对所述用户端身份信息核验通过,所述目标策略用于表征与所述访问请求对应的权限;
授权模块,用于根据所述认证结果,对所述用户端的访问请求进行授权;以及
处理模块,用于根据所述目标策略,控制所述用户端访问Kafka系统中的业务数据;
其中,基于属性的访问控制模块,还用于将所述访问请求转换成符合XACML模板的目标请求;获取与所述目标请求相对应的目标策略;对所述用户端的身份信息进行评估,生成认证结果;以及
用于对所述用户端的身份信息进行第一次评估,生成第一评估结果;确定所述第一评估结果为需要收集与所述用户端对应的属性信息的情况下,获取所述用户端的属性信息,其中,所述属性信息用于表征所述用户端的资源配置信息;根据所述属性信息,对所述用户端的身份信息进行第二次评估,生成第二评估结果;根据所述第二评估结果,生成认证结果。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。
CN202311040376.0A 2023-08-18 2023-08-18 访问控制方法、装置、设备及存储介质 Active CN116760640B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311040376.0A CN116760640B (zh) 2023-08-18 2023-08-18 访问控制方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311040376.0A CN116760640B (zh) 2023-08-18 2023-08-18 访问控制方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116760640A CN116760640A (zh) 2023-09-15
CN116760640B true CN116760640B (zh) 2023-11-03

Family

ID=87948254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311040376.0A Active CN116760640B (zh) 2023-08-18 2023-08-18 访问控制方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116760640B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967620A (zh) * 2015-06-17 2015-10-07 中国科学院信息工程研究所 一种基于属性访问控制策略的访问控制方法
CN108494750A (zh) * 2018-03-09 2018-09-04 中山大学 一种扩展xacml访问控制的排序策略授权方法及系统
CN111464487A (zh) * 2019-01-22 2020-07-28 华为技术有限公司 访问控制方法、装置及系统
CN111970253A (zh) * 2020-07-31 2020-11-20 上海派拉软件股份有限公司 Pep的配置方法、装置、电子设备和存储介质
CN113572746A (zh) * 2021-07-12 2021-10-29 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备及存储介质
CN114726639A (zh) * 2022-04-24 2022-07-08 国网河南省电力公司信息通信公司 一种访问控制策略自动编排方法及系统
CN115378719A (zh) * 2022-08-25 2022-11-22 方盈金泰科技(北京)有限公司 一种基于角色的Kafka访问控制方法
CN115935328A (zh) * 2021-09-22 2023-04-07 三六零数字安全科技集团有限公司 资源访问控制方法、装置、设备及存储介质
CN116489179A (zh) * 2023-04-26 2023-07-25 中国建设银行股份有限公司 业务处理系统及业务处理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966576B2 (en) * 2012-02-27 2015-02-24 Axiomatics Ab Provisioning access control using SDDL on the basis of a XACML policy
US8904551B2 (en) * 2012-11-07 2014-12-02 International Business Machines Corporation Control of access to files
EP2993606A1 (en) * 2014-09-05 2016-03-09 Axiomatics AB Provisioning system-level permissions using attribute-based access control policies

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967620A (zh) * 2015-06-17 2015-10-07 中国科学院信息工程研究所 一种基于属性访问控制策略的访问控制方法
CN108494750A (zh) * 2018-03-09 2018-09-04 中山大学 一种扩展xacml访问控制的排序策略授权方法及系统
CN111464487A (zh) * 2019-01-22 2020-07-28 华为技术有限公司 访问控制方法、装置及系统
CN111970253A (zh) * 2020-07-31 2020-11-20 上海派拉软件股份有限公司 Pep的配置方法、装置、电子设备和存储介质
CN113572746A (zh) * 2021-07-12 2021-10-29 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备及存储介质
CN115935328A (zh) * 2021-09-22 2023-04-07 三六零数字安全科技集团有限公司 资源访问控制方法、装置、设备及存储介质
CN114726639A (zh) * 2022-04-24 2022-07-08 国网河南省电力公司信息通信公司 一种访问控制策略自动编排方法及系统
CN115378719A (zh) * 2022-08-25 2022-11-22 方盈金泰科技(北京)有限公司 一种基于角色的Kafka访问控制方法
CN116489179A (zh) * 2023-04-26 2023-07-25 中国建设银行股份有限公司 业务处理系统及业务处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于AC的XACML访问控制模型的设计及实现;唐成华;胡昌振;;计算机应用研究(10);参见正文第139-142页,图3 *

Also Published As

Publication number Publication date
CN116760640A (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
RU2387003C2 (ru) Способ, система и устройство для обнаружения источников данных и соединения с источниками данных
CN108289098B (zh) 分布式文件系统的权限管理方法和装置、服务器、介质
US20160217013A1 (en) Method and system for generating a virtual device resource accessible by an application
CN109936571B (zh) 一种海量数据共享方法、开放共享平台及电子设备
US20110289499A1 (en) Techniques to automatically update software applications
US20130346453A1 (en) System and method for end-to-end exposure of exported representations of native data types to third-party applications
US8429673B2 (en) Systems and methods of accessing information across distributed computing components
US8341733B2 (en) Creating secured file views in a software partition
CN113468511B (zh) 数据处理方法、装置、计算机可读介质及电子设备
CN103414585A (zh) 建立业务系统的安全基线的方法和装置
US20220229657A1 (en) Extensible resource compliance management
WO2018036328A1 (zh) 面向多应用的用户数据管理方法和系统
CN116303608A (zh) 一种应用服务的数据处理方法和装置
US20180300369A1 (en) Secure query interface
US8112495B2 (en) Transmitting information about distributed group memberships
CN116760640B (zh) 访问控制方法、装置、设备及存储介质
CN113011960A (zh) 基于区块链的数据访问方法、装置、介质及电子设备
CN117170784A (zh) 菜单及其页面的渲染方法、装置和电子设备
US20220385596A1 (en) Protecting integration between resources of different services using service-generated dependency tags
CN116069725A (zh) 文件迁移方法、装置、设备、介质和程序产品
CN114640485B (zh) 一种服务数据的集中访问方法、装置、设备和存储介质
CN115643093A (zh) 一种基于组织架构的权限管控方法、系统、设备及介质
CN114363172B (zh) 用于容器组的解耦管理方法、装置、设备、介质
CN117009327B (zh) 一种数据处理方法、装置及计算机设备、介质
CN109683942B (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