CN117242447A - 用于提供访问控制管理的方法和系统 - Google Patents
用于提供访问控制管理的方法和系统 Download PDFInfo
- Publication number
- CN117242447A CN117242447A CN202280026981.XA CN202280026981A CN117242447A CN 117242447 A CN117242447 A CN 117242447A CN 202280026981 A CN202280026981 A CN 202280026981A CN 117242447 A CN117242447 A CN 117242447A
- Authority
- CN
- China
- Prior art keywords
- policy
- access
- processor
- directed graph
- data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012545 processing Methods 0.000 claims abstract description 35
- 238000004891 communication Methods 0.000 claims description 35
- 238000011156 evaluation Methods 0.000 claims description 34
- 230000015654 memory Effects 0.000 claims description 24
- 238000013461 design Methods 0.000 claims description 9
- 239000002131 composite material Substances 0.000 claims description 7
- 239000000523 sample Substances 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 18
- 230000001276 controlling effect Effects 0.000 description 13
- 238000013475 authorization Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000012550 audit Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000012854 evaluation process Methods 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008450 motivation Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013386 optimize process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2101—Auditing as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供一种用于管理对系统的访问的控制策略的方法。该方法包括:接收多个策略数据单元,所述策略数据单元各自包括与关于系统的访问确定相关的信息;通过构建策略数据单元处理器的第一有向图,处理多个策略数据单元,并获得作为处理结果的访问权限策略规则;通过使用第一有向图在分布于时间和空间的计算环境中评估获得的访问权限策略规则;基于获得的访问权限策略规则生成与预定用户相关联的经签名的访问令牌;以及将经签名的访问令牌传输给预定用户。
Description
相关申请的交叉引用
本申请要求享有2021年4月7日提交的序列号为63/171,850的美国临时专利申请的权益,该申请的全部内容通过引用并入本文。
技术领域
本技术总体上涉及用于控制对信息的访问的方法和系统,尤其涉及用于管理对信息资源的功能访问及数据访问的控制策略的方法和系统。
背景技术
随着向基于云的服务的迁移,曾是整体式的软件应用和服务正在被重构为业务行为、计算和存储的小型封装式单元,各个单元都在狭小定义的范围内承担各自独立的职责。然后,这些“微服务”被组装成功能上相互协作的社区。保护并提供对这些微服务及它们管理的数据的正确访问需要一种新颖且独特的设计,特别是,包括一种用于控制架构的新途径。
以前大规模全面解决此访问控制问题的努力包括基于角色的访问控制(RBAC)、可扩展访问控制标记语言(XACML)、下一代访问控制(NGAC)等等。
XACML:尽管完整XACML规范的部署很少,但它仍是访问策略的有用且经常引用的架构。XACML架构的基础是关注点的逻辑分离,策略决策在空间和时间上均与这些决策的执行分离。这种分离在XACML对策略决策点(PDP)的定义中是作为单独的逻辑组件来体现的。
XACML的逻辑架构被进一步分解用以支持策略评估。PDP结合来自多个源的信息来做出决策:1)访问请求,包含描述所请求的访问的性质的属性。2)支持信息,通过称为PIP(策略信息点)的XACML构造从其他数据源获取的。3)一组决策规则,表示为XACML策略,来源自称为策略检索点(PRP)的系统。PDP基于此信息组合做出允许或拒绝访问的决策。然后,所做出的决策将传递到策略执行点(PEP),REP充当控制访问的大门。
XACML架构的问题在于,它通常假定请求、策略中的规则、和支持信息可以由PDP同时整合在一起,并且PDP在此单个时间点能够做出完整的决策。这是不切实际、效率低下或根本不可能的,这是由于以下几个不同的原因:1)数据安全决策可能需要关于软件如何构建和测试、如何部署、如何保护其容器或运行时环境、以及所请求的特定数据需要哪些数据保护机制。在单个决策点内汇集这些信息可能是不切实际的。2)单个策略决策可能通过多种不同的执行机制得到最好的执行。例如,禁止通信的决策可能需要作为防火墙规则、在API网关的配置中、以及应用或数据服务内来强制执行。3)数据访问点的策略决策可能携带对动作的要求,其必须在临完成该动作之前发生。例如,特定交易可能需要用户批准/授权。4)策略决策可能要求比如必须在未来某个时间完成的审计或数据保留之类的动作。
XACML架构中所概述的方法的关键缺点与时间和位置上的“点”概念有关,这是比如“策略决策点”的设计元素中固有的。在实践中,这会导致实施问题,特别是在可扩展性方面。由于XACML设计在很大程度上忽略了时间组件,这给何时信息可以用于执行访问计算构成非常真实的限制。XACML试图通过支持在某些情况下必须在未来某个时间履行的义务来解决这一时间差距(temporal gap)。
虽然XACML支持将义务附加到决策(实质上是定义关联策略评估的未来要求)的能力,但该义务(只要它可包含确定访问的条件)是与确定其如何生成的规则存在重大差异的不透明实体。因此,该义务本身不能作为XACML策略进行评估,并且各个特性必须由应用代码以某种方式进行处理。
最终结果是,从策略引擎的角度来看,XACML决策被视为最终决策,并且这种“最终决策导向”使得难以为未来活动(“义务”)提供支持需求的功能,如审计或数据保留需求。最后,这种方法是弱的,且XACML义务是非结构化的标记,是一种“留给读者的证明”的形式。因此,XACML的商业和开源实现通常不会使用义务功能,而是使用依赖于数据使用约定并且可能导致供应商锁定的其他解决方案装点其系统。
部分评估的使用:美国专利申请公开号US2020/0410125 A1(以下称“‘125公开”),题为“跨通过应用编程接口暴露的信息模型定义策略的方法”,披露了可能由XACML PDP发出的控制数据访问的XACML义务在性质上与其关联的策略基本相同。它还披露了一种机制,通过该机制,策略可跨越应用编程接口(Application Programming Interface,API)的边界传递,使得其可通过应用或底层数据服务进行解析。
‘125公开还披露了“......因为策略中的简单谓语相对于信息模型良好地形成,因此简单谓语可以替换为信息模型中的具体值集。因此,在将策略引入主动系统做出最终决定之前,有能力针对多个系统对策略执行部分评估和替换为结果值集。因此,可对企业范围的策略进行递增评估,而无需集中式策略决策引擎访问所有相关属性。
但是,‘125公开没有提供一种解决方案,用以对控制架构上的这种递增评估进行分区,以某种方式解决如何能让策略及其支持过程具有权威性、防篡改性和高效性,正如被问“策略是如何附加到API调用的?”这个问题时可见的那样。
显然,不应单单是用户要向应用声称控制用户自身访问的策略,或甚至要声称他们希望资源服务器(Resource Server)在评估该策略时要考虑的有关他们自己的任何其他信息。也不应该是客户端(即用户与之交互并实际代表用户进行API调用的软件代理)单方面的责任要声称这些事情。只要客户端能够声称应用要针对用户使用的策略,它必须在允许应用确定该策略是正确的控制架构中这样做。
发明内容
本公开通过其各个方面、实施例、和/或特定特征或子组件中的一个或多个,尤其提供了用于管理对信息资源的功能访问及数据访问的控制策略的不同系统、服务器、设备、方法、介质、程序和平台。
根据本公开的一个方面,提供一种用于管理对系统的访问的控制策略的方法。该方法由至少一个处理器实现。该方法包括:由所述至少一个处理器接收多个策略数据单元,所述策略数据单元各自包含与关于所述系统的访问确定相关的信息;由所述至少一个处理器处理所述多个策略数据单元,并获得作为所述处理的结果的访问策略规则;由所述至少一个处理器基于所述获得的访问策略规则生成与预定用户相关联的经签名的访问令牌;和由所述至少一个处理器将所述经签名的访问令牌传输给所述预定用户。
所述多个策略数据单元中的每个策略数据单元包括下述之一:包含报头和数据但不包含策略逻辑的第一简单型策略数据单元,包含报头和策略逻辑但不包含数据的第二简单型策略数据单元,以及包含报头、数据和策略逻辑的复合型策略数据单元。
所述多个策略数据单元的所述处理包括构建策略数据单元处理器的第一有向图。该方法还包括通过使用所述第一有向图在分布于时间和空间的计算环境中评估所述获得的访问策略规则。
所述获得的访问策略规则的所述评估是随着相应软件被构建、测试和部署而递增执行的。
所述获得的访问策略规则的所述评估是在随时间变化的云计算环境中执行的,使得所述获得的访问策略规则的至少一部分由于所述云计算环境的变化而被修改。
该方法还包括:构建所述策略数据单元处理器的第二有向图,并通过使用所述第二有向图评价对所述访问策略规则的使用的正确性、完整性和/或一致性。
评价对所述访问策略规则的使用包括使用所述第二有向图中包含的至少一个探测控件,以确定所述访问策略规则是否在按照设计执行,和确定所述访问策略规则及与所述访问策略规则相关联的参考数据中的至少一个是否已经受到篡改。
该方法还包括:使用所述第二有向图以生成基于所述第一有向图做出的决策的可审计记录。
根据本公开的另一个方面,提供一种用于管理对系统的访问的控制策略的计算装置。该计算装置包括:第一处理器;存储器;和通信接口,耦接至所述第一处理器和所述存储器中的每一个。所述第一处理器被配置为:通过所述通信接口接收多个策略数据单元,所述策略数据单元各自包括与关于所述系统的访问确定相关的信息;处理所述多个策略数据单元,并获得作为所述处理的结果的访问策略规则;基于所述获得的访问策略规则生成与预定用户相关联的经签名的访问令牌;和通过所述通信接口将所述经签名的访问令牌传输给所述预定用户。
所述多个策略数据单元中的每个策略数据单元包括下述之一:包含报头和数据但不包含策略逻辑的第一简单型策略数据单元,包含报头和策略逻辑但不包含数据的第二简单型策略数据单元,以及包含报头、数据和策略逻辑的复合型策略数据单元。
所述多个策略数据单元的所述处理包括构建策略数据单元处理器的第一有向图。第一处理器还可被配置为通过使用所述第一有向图在分布于时间和空间的计算环境中评估所述获得的访问策略规则。
所述获得的访问策略规则的所述评估是随着相应软件被构建、测试和部署而递增执行的。
所述获得的访问策略规则的所述评估是在随时间变化的云计算环境中执行的,使得所述获得的访问策略规则的至少一部分由于所述云计算环境的变化而被修改。
第一处理器还可被配置为构建所述策略数据单元处理器的第二有向图,并通过使用所述第二有向图评价对所述访问策略规则的使用的正确性、完整性和/或一致性。
评价对所述访问策略规则的使用包括使用所述第二有向图中包含的至少一个探测控件,以确定所述访问策略规则是否在按照设计执行,和确定所述访问策略规则及与所述访问策略规则相关联的参考数据两者之中至少一个是否已经受到篡改。
第一处理器还可被配置为使用所述第二有向图来生成基于所述第一有向图做出的决策的可审计记录。
根据本公开的又一个方面,提供一种存储有指令的非暂时性计算机可读存储介质,用于管理对系统的访问的控制策略,该存储介质包括可执行代码,所述可执行代码在由处理器执行时,使得所述处理器:接收多个策略数据单元,所述策略数据单元各自包括与关于所述系统的访问确定相关的信息;处理所述多个策略数据单元,并获得作为所述处理的结果的访问策略规则;基于所述获得的访问策略规则生成与预定用户相关联的经签名的访问令牌;和将所述经签名的访问令牌传输给所述预定用户。
所述多个策略数据单元中的每个策略数据单元包括下述之一:包含报头和数据但不包含策略逻辑的第一简单型策略数据单元,包含报头和策略逻辑但不包含数据的第二简单型策略数据单元,以及包含报头、数据和策略逻辑的复合型策略数据单元。
所述可执行代码还可被配置使得所述处理器:构建策略数据单元处理器的第一有向图;和通过使用所述第一有向图在分布于时间和空间的计算环境中评估所述获得的访问策略规则。
可执行代码还被配置为构建所述策略数据单元处理器的第二有向图,并通过使用所述第二有向图评价对所述访问策略规则的使用的正确性、完整性和/或一致性。
附图说明
下面参照多个附图,在具体实施方式部分以本公开的优选实施例的非限制性示例的方式,对本公开进行更多描述,其中,相同的附图标记在附图的几个视图中表示相同的要素。
图1示出了示例性计算机系统。
图2示出了示例性网络环境的示例图。
图3示出了用于实现管理对信息资源的功能访问及数据访问的控制策略的方法的示例性系统。
图4是用于实现管理对信息资源的功能访问及数据访问的控制策略的方法的示例性过程的流程图。
图5是示出根据示例性实施例的策略数据单元(PDU)的结构的图示。
图6是示出根据示例性实施例的由PDU组合成链的图示。
图7是示出根据示例性实施例的PDU处理的一般模式的图示,其中,输入PDU与在本地域上为真(true)的本地PDU相结合。
图8是示出根据示例性实施例的用例的图示,该用例用于以支持细粒度数据访问控制的方式整合了身份提供者服务与用户数据访问请求。
图9是示出根据示例性实施例的PDU处理架构如何能在时间和空间上进行分区以实现访问控制系统的实施方式的图示。
图10是示出根据示例性实施例的以PDU为中心的架构的图示,该架构支持并整合了实现安全令牌的安全模式。
图11是示出根据示例性实施例的在云计算环境中服务实例化的图示。
图12是示出根据示例性实施例的可用于身份管理和施行系统跨系统协调的PDU网络的框图。
具体实施方式
通过具体实施方式各个方面其中之一或多个,实施例和/或本公开的特定特征或子组件,旨在呈现如上下文具体描述和提及的一个或多个优势。
这些示例还可以体现为一个或多个非暂时性计算机可读介质,其上存储了用于本文所述和举例说明的本技术的一个或多个方面的指令。一些示例中的指令包括可执行代码,当由一个或多个处理器执行时,这些代码导致处理器执行实现本文描述和阐释的该技术示例的方法所需的步骤。
图1是用于依照本文描述的实施例的示例性系统。系统100被概括示出并且可以包括计算机系统102,其被概括示出。
计算机系统102可以包含一组指令,这些指令可以执行以使计算机系统102单独或与其它描述的设备组合执行本文公开的任何一种或多种方法或基于计算机的功能。计算机系统102可以作为独立设备运行或者可以连接到其它系统或外围设备。例如,计算机系统102可以包括,或被包括在,任何一个或多个计算机、服务器、系统、通信网络或云环境。甚而,指令可以在这种基于云的计算环境中运行。
在网络部署中,计算机系统102可以以服务器身份或作为服务器—客户端用户网络环境中的客户端用户计算机、云计算环境中的客户端用户计算机、或作为对等(或分布式)网络环境中的对等计算机系统。计算机系统102或其部分可以被实现为或并入到各种设备中,例如个人计算机、平板电脑、机顶盒、个人数字助理、移动设备、掌上计算机、膝上型计算机、台式计算机、通信设备、无线智能手机、个人可信设备、可穿戴设备、全球定位卫星(GPS)设备、Web设备或任何其他能够执行一组指令(按顺序或其他方式)的计算机,这些指令指定该计算机要执行的操作。此外,虽然示出了单个计算机系统102,但附加实施例可以包括系统或子系统的任何集合,该集合以单独或联合方式来执行指令或履行功能。术语“系统”应在本公开中通篇被理解为包括系统或子系统的任何集合,该集合以单独或联合方式执行一个或多个指令集,来执行一个或多个计算机功能。
如图1所示,计算机系统102可以包括至少一个处理器104。处理器104是有形的和非暂时性的。如本文所用,术语“非暂时性”不应解释为一个状态的永恒特征,而应解释为将持续一段时间的状态的特征。术语“非暂时性”明确区别于转瞬即逝的特征,例如特定载波或信号的特征或其他形式,这些特征仅在任何时间任何地方短暂存在。处理器104是制造物品和/或机器部件。处理器104被配置成执行软件指令,以便执行本文各实施例中描述的功能。处理器104可以是通用处理器或者可以是专用集成电路(ASIC)的一部分。处理器104还可以是微处理器、微型计算机、处理器芯片、控制器、微控制器、数字信号处理器(DSP)、状态机或可编程逻辑器件。处理器104还可以是逻辑电路,包括可编程门阵列(PGA)如现场可编程门阵列(FPGA),或包括分立式栅极和/或晶体管逻辑的其他类型的电路。处理器104可以是中央处理单元(CPU)、图形处理单元(GPU)或两者。此外,本文中描述的任何处理器可以包括多个处理器、并行处理器或两者都有。多个处理器可以包含在或耦接到单个设备或多个设备中。
计算机系统102还可以包括计算机存储器106。计算机存储器106可以包括静态存储器、动态存储器或两者的通信。本文中描述的存储器是有形的存储介质,可以存储数据和可执行指令,并且在指令存储在其中期间是非暂时性的。同样,如本文所用,“非暂时性”一词不应被解释为一种状态的永恒特征,而应解释为一种将持续一段时间的国家的特征。术语“非暂时性”明确区别于转瞬即逝的特征,例如特定载波或信号的特征或其他形式,这些特征仅在任何时间的任何地方短暂存在。存储器是制造和/或机器部件的物品。此处描述的存储器是计算机可读介质,计算机可以从中读取数据和可执行指令。本文所述的存储器可以是随机存取存储器(RAM)、只读存储器(ROM)、闪存、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、缓存、可移动磁盘、磁带、光盘只读存储器(CD-ROM)、数字多功能磁盘(DVD)、软盘、蓝光盘或本领域已知的任何其他形式的存储介质。内存可能是易失性或非易失性的、安全和/或加密的、不安全的和/或未加密的。当然,计算机存储器106可以包括存储器或单个存储器的任意组合。
计算机系统102还可以包括显示器108,例如液晶显示器(LCD)、有机发光二极管(OLED)、平板显示器、固态显示器、阴极射线管(CRT)、等离子显示器、或任何其他类型的显示器,其实例为本领域技术人员所熟知。
计算机系统102还可以包括至少一个输入设备110,例如键盘、触敏输入屏或键盘、语音输入、鼠标、具有无线键盘的远程控制设备、耦接到语音识别引擎的麦克风、诸如摄像机或静止摄像机的摄像头、光标控制装置、全球定位系统(GPS)设备、高度计、陀螺仪、加速度计、接近传感器或其任意组合。本领域技术人员理解计算机系统102的各种实施例可以包括多个输入设备110。此外,本领域技术人员还理解上面列出的、示例性输入设备110并不意味着是穷尽的,并且计算机系统102可以包括任何附加的或替代的输入设备110。
计算机系统102还可以包括介质读取器112,其被配置成从本文描述的任何存储器中读取任何一组或多组指令,例如软件。指令由处理器执行时,可用于执行本文描述的一个或多个方法和过程。在特定实施例中,指令可以完全或至少部分驻留在计算机系统102执行期间的存储器106、介质读取器112和/或处理器110内。
此外,计算机系统102可以包括任何附加设备、组件、部件、外围设备、硬件、软件或其任何组合,这些设备、组件、部件、外围设备、硬件、软件或其任何组合被普遍地知道并理解为被包含与计算机系统一起或包含在计算机系统内部,例如但不限于网络接口114和输出设备116。输出设备116可以是但不限于,扬声器、音频输出、视频输出、遥控输出、打印机或其任意组合。
计算机系统102的每个组件可以相互连接并通过总线118或其它通信链路进行通信。如图1所示,每个组件可以互连并通过内部总线进行通信。然而,本领域技术人员理解,任何组件也可以通过扩展总线连接。此外,总线118可以通过任何标准或其它公知和理解的规范实现通信,例如但不限于外围组件互连、快速外围组件互连、并行先进技术附件、串行先进技术附件等。
计算机系统102可以通过网络122与一个或多个附加的计算机设备120通信。网络122可以是,但不限于,局域网、广域网、因特网、电话网、短程网、或本领域公知和理解的任何其他网络。短程网络可以包括,例如,蓝牙、Zigbee、红外、近场通信、超频带或其任意组合。本领域技术人员理解,已知和理解的附加网络122可以附加地或替代地使用,并且示例性网络122不是限制性的或穷尽的。同样,虽然网络122在图1中被示为无线网络,但本领域技术人员理解,网络122也可以是有线网络。
附加计算机设备120在图1中示为个人计算机。然而,本领域技术人员理解,在本申请的替代实施例中,计算机设备120可以是膝上型计算机、平板电脑、个人数字助理、移动设备、掌上计算机、台式计算机、通信设备、无线电话、个人可信设备、web设备、服务器或任何其他能够执行一组指令的设备,按顺序或其他方式,指定该设备要执行的操作。当然,本领域技术人员理解,上述设备仅仅是示例性设备,并且设备120可以是本领域通常已知和理解的任何附加设备或装置,而不脱离本申请的范围。例如,计算机设备120可以与计算机系统102相同或相似。此外,本领域技术人员同样理解,该装置可以是设备和装置的任意组合。
当然,本领域技术人员理解,上面列出的计算机系统102的组件仅仅是为了作为示例性的,而不是旨在穷尽和/或包容性的。此外,上面列出的组件示例也旨在提供示例性,同样并不意味着穷尽和/或包容性的。
根据本公开的各种实施例,这里描述的方法可以使用执行软件程序的硬件计算机系统来实现。此外,在示例性的、非限制的实施例中,实现可以包括分布式处理、组件/对象分布式处理和并行处理。虚拟计算机系统处理可以被构造为实现本文描述的一个或多个方法或功能,并且本文描述的处理器可用于支持虚拟处理环境。
如本文所述,各种实施例提供了对控制信息资源的功能访问及数据访问的策略进行管理的优化了的方法和系统。
参考图2,示出了用于实现对控制信息资源的功能访问及数据访问的策略进行管理的方法的示例性网络环境200的示意图。在示例性实施例中,该方法在任何联网计算机平台如个人计算机(PC)上是可执行的。
对控制信息资源的功能访问及数据访问的策略进行管理的方法可以由ACPG(Access Control Policy Governance,访问控制策略管理)设备202实现。ACPG设备202可以与图1描述的计算机系统102相同或相似。ACPG设备202可以存储一个或多个应用,这些应用可以包括可执行指令,当由ACPG设备202执行时,导致ACPG设备202执行诸如发送、接收或以其他方式处理网络消息的动作,以及执行下面参照附图描述和示出的其它动作。应用可以作为其他应用的模块或组件实现。此外,应用可以实现为操作系统扩展、模块、插件等。
甚而,应用可以在基于云的计算环境中运行。应用可以作为虚拟机或虚拟服务器,或在其内部执行,且它们托管于基于云的计算环境。还有,应用,甚至ACPG设备202本身,可以位于运行在基于云的计算环境中的虚拟服务器中,而不是绑定到一个或多个特定的物理网络计算设备。此外,应用可以在ACPG设备202上执行的一个或多个虚拟机(VM)中运行。此外,在该技术的一个或多个实施例中,在ACPG设备202上运行的虚拟机可以由虚拟机监视器托管或监督。
在图2的网络环境200中,ACPG设备202耦接到托管多个数据库206(1)-206(n)的多个服务器设备204(1)-204(n),并且还通过通信网络210耦接到多个客户端设备208(1)-208(n)。ACPG设备202的通信接口,如图1的计算机系统102的网络接口114,在ACPG设备202、服务器设备204(1)-204(n)和/或客户端设备208(1)-208(n)之间有效地耦接和通信,它们都通过通信网络210耦接在一起,尽管也可以使用其他类型和/或数量的通信网络或系统,以其他类型和/或数量的连接方式连接到其他设备和/或元素,和/或配置为其他设备和/或元素。
通信网络210可以与图1描述的网络122相同或相似,尽管ACPG设备202、服务器设备204(1)-204(n)和/或客户端设备208(1)-208(n)可以通过其它拓扑耦接在一起。此外,网络环境200可以包括其它网络设备,例如一个或多个路由器和/或交换机,这些设备是本领域公知的,因此在此不再描述。本技术提供了许多优点,包括方法、非暂时性计算机可读介质和ACPG设备,这些设备有效地实现了对控制信息资源的功能访问及数据访问的策略进行管理的方法。
仅作为示例,通信网络210可以包括局域网(LAN)或广域网(WAN),并且可以使用基于以太网的TCP/IP和行业标准协议,尽管可以使用其他类型和/或数量的协议和/或通信网络。在此示例中的通信网络210可以采用任何合适的接口机制和网络通信技术,包括例如任何合适形式的远程业务(例如,语音、调制解调器等)、公共交换电话网(PSTN)、基于以太网的分组数据网络(PDN)、它们的组合等等。
ACPG设备202可以是独立设备或与一个或多个其它设备或装置集成,例如一个或多个服务器设备204(1)-204(n)。在一个特定示例中,ACPG设备202可以包括或由服务器设备204(1)-204(n)之一托管,并且其它安排也是可能的。此外,ACPG设备202的一个或多个设备可以位于相同或不同的通信网络中,例如包括一个或多个公有、私有或云网络。
多个服务器设备204(1)-204(n)可以与图1描述的计算机系统102或计算机设备120相同或相似,包括它们描述的任何特征或特征的有关组合。例如,任何服务器设备204(1)-204(n)尽管可以使用其它数量和/或类型的网络设备,可以包括,除其他特征外,一个或多个处理器、存储器和通信接口,它们通过总线或其它通信链路耦接在一起。在此示例中,例如,服务器设备204(1)-204(n)可以根据基于HTTP和/或JavaScript对象表示法(JSON)协议处理接收的经由通信网络210发自ACPG设备202的请求,尽管也可以使用其它协议。
服务器设备204(1)-204(n)可以是硬件或软件,或者可以表示在一个在池中的带有多个服务器的系统,其中可以包括内部或外部网络。服务器设备204(1)-204(n)托管数据库206(1)-206(n),这些数据库被配置为存储信息模型,该信息模型描述信息的类和针对数据系统及数据域的信息类之间的关系,以及存储策略和访问控制规则,这些规则包括与向特定实体公开特定数据类型相关的数据访问规则,针对特定数据类型执行特定功能的能力相关的功能访问规则,以及数据访问规则和功能访问规则所反映的管理原则。
尽管服务器设备204(1)-204(n)被示出为单个设备,但每个服务器设备204(1)-204(n)的一个或多个动作可以分布在一个或多个不同的网络计算设备上,这些计算设备一起包括一个或多个服务器设备204(1)-204(n)。而且,服务器设备204(1)-204(n)不限于特定配置。因此,服务器设备204(1)-204(n)可以包含多个使用主/从方法操作的网络计算设备,由此服务器设备204(1)-204(n)的网络计算设备之一操作以管理和/或以其他方式协调其他网络计算设备的操作。
例如,服务器设备204(1)-204(n)可以作为多个网络计算设备运行在集群架构、对等架构、虚拟机或云架构内。因此,此处公开的技术不应被理解为仅限于单个环境,它还设想了其他配置和架构。
多个客户端设备208(1)-208(n)也可以与图1描述的计算机系统102或计算机设备120相同或相似,包括它们描述的任何特征或特征的有关组合。例如,在此示例中的客户端设备208(1)-208(n)可以包括任何类型的计算设备,其可以通过通信网络210与ACPG设备202交互。因此,客户端设备208(1)-208(n)可以是移动计算设备、桌面计算设备、膝上型计算设备、平板电脑计算设备、虚拟机(包括基于云的计算机)等,例如主机聊天、电子邮件或语音转文本应用。在示例性实施例中,至少一个客户端设备208是无线移动通信设备,即智能手机。
客户端设备208(1)-208(n)可以运行接口应用,例如标准web浏览器或独立客户端应用,其可以提供经由通信网络210与ACPG设备202通信的接口,以便传达用户请求和信息。例如,客户端设备208(1)-208(n)还可以包括,除其它特征外,显示设备,例如显示屏或触摸屏,和/或输入设备,例如键盘。
尽管示例性网络环境200与ACPG设备202、服务器设备204(1)-204(n)、客户端设备208(1)-208(n)和通信网络210在此描述和示出,但可以使用其它类型和/或数量的系统、设备、组件和/或元素中的其它拓扑结构。应当理解为,本文中描述的示例的系统是用于示例性目的的,因为用于实现示例的特定硬件和软件的许多变化是可能的,正如相关领域的技术人员所理解的那样。
在网络环境200中描绘的一个或多个设备,例如ACPG设备202、服务器设备204(1)-204(n)或客户端设备208(1)-208(n),例如可以被配置成在同一物理机器上作为虚拟实例运行。换言之,一个或多个ACPG设备202、服务器设备204(1)-204(n)或客户端设备208(1)-208(n)可以是在同一物理设备上运行,而不是作为通过通信网络210通信的独立设备。此外,ACPG设备202、服务器设备204(1)-204(n)或客户端设备208(1)-208(n)可能比图2所示的更多或更少。
此外,两个或多个计算系统或设备可以替代任何示例中的任何一个系统或设备。因此,分布式处理的原则和优点,例如冗余和复制也可以根据需要实现,以提高示例的设备和系统的鲁棒性和性能。这些示例还可以在跨任何合适的网络扩展的计算机系统上实现,使用任何合适的接口机制和通信技术,包括仅以任何合适形式的电信(例如,语音和调制解调器)、无线通信网络、蜂窝通信网络、分组数据网络(PDN)、因特网、内部网及其组合。
ACPG设备202在图3中被描述和示出为包括访问控制策略管理模块302,尽管它可以包括例如其它规则、策略、模块、数据库或应用。如下文所述,访问控制策略管理模块302被配置为以自动化、高效、可扩展和可靠的方式实现对控制信息资源的功能访问及数据访问的策略进行管理的方法。
通过利用图2的网络环境来实现对控制信息资源的功能访问及数据访问的策略进行管理的机制的示例性过程300被示为在图3中得到执行。具体而言,第一客户端设备208(1)和第二客户端设备208(2)被示为与ACPG设备202进行通信。在此,第一客户端设备208(1)和第二客户端设备208(2)可以是ACPG设备202的“客户端”,并且在本文中就如此描述。然而,应当知道并理解为,第一客户端设备208(1)和/或第二客户端设备208(2)不一定非是ACPG设备202的“客户端”,或本文中描述的与其有关的任何实体。第一客户端设备208(1)和第二客户端设备208(2)之中的一个或两个与ACPG设备202可以存在任何附加或替代关系,或者不存在任何关系。
另外,ACPG设备202被示出为能够访问信息模型存储库206(1)和策略和访问控制规则数据库206(2)。访问控制策略管理模块302可以被配置成用于访问这些数据库,用于实现对控制信息资源的功能访问及数据访问的策略进行管理的方法。
第一客户端设备208(1)可以是例如智能手机。当然,第一客户端设备208(1)可以是本文描述的任何附加设备。第二客户端设备208(2)可以是例如个人计算机(PC)。当然,第二客户端设备208(2)也可以是本文描述的任何附加设备。
该过程可以通过通信网络210执行,其可以包括如上所述的多个网络。例如,在示例性实施例中,第一客户端设备208(1)和第二客户端设备208(2)中的一个或两个可以通过宽带或蜂窝通信与ACPG设备202通信。当然,这些实施例仅仅是示例性的,并不是限制性的或穷尽的。
一旦被启动,访问控制策略管理模块302执行对控制信息资源的功能访问及数据访问的策略进行管理的过程。对控制信息资源的功能访问及数据访问的策略进行管理一个示例性过程概要表示在图4中的流程图400中。
在图4的流程400中,在步骤S402,访问控制策略管理模块302接收一组策略数据单元(PDU),每个策略数据单元包括与信息资源的系统之内的访问确定有关的信息。PDU是数据和逻辑的离散包,可以高效处理,以实现可管理、透明和超细粒度的访问控制。在示例性实施例中,PDU集可以包括包含报头和数据没有策略逻辑的第一简单型PDU,包含报头和策略逻辑没有数据的第二简单型PDU,和/或包含报头、数据和策略逻辑的复合型PDU。
在步骤S404,访问控制策略管理模块302处理PDU,并且在步骤S406,访问控制策略管理模块302基于步骤S404中执行的处理的结果获得访问策略规则。在示例性实施例中,步骤S404中执行的处理包括构建PDU处理器的第一有向图。
在步骤S408,访问控制策略管理模块302基于在步骤S406中获得的访问策略规则为特定用户生成经签名的访问令牌。然后,在步骤S410,访问控制策略管理模块302将经签名的访问令牌发送给特定用户,以便使该用户能够根据访问策略规则访问信息。
在步骤S412,访问控制策略管理模块302使用第一有向图在分布于时间和空间的计算环境中对访问策略规则进行评估。在示例性实施例中,评估是随着相应软件被构建、测试和部署而递增执行的。在示例性实施例中,评估在随时间变化的云计算环境中执行,使得访问策略规则的至少一部分由于云计算环境的变化而被修改。
在步骤S414,访问控制策略管理模块302构建PDU处理器的第二有向图。然后,在步骤S416,访问控制策略管理模块302使用第二有向图以评价对所述访问策略规则的使用的正确性、完整性和/一致性中的一个或多个。在示例性实施例中,评价对访问策略规则的使用包括使用第二有向图中包含的一个探测控件以确定访问策略规则是否在按照设计执行,和确定访问策略规则和/或与访问策略规则相关联的参考数据是否已经受到篡改。在示例性实施例中,第二有向图还可用于生成基于第一有向图做出的决策的可审计记录。
在示例性实施例中,对控制信息资源的功能访问及数据访问的策略进行管理的方法通过引入策略数据单元(PDU)来支持安全性和访问控制,PDU是数据和逻辑的离散包,可以对其进行有效处理以实现可管理、透明和超细粒度的访问控制。这些PDU在PDU处理器网络中存储和传播,这些处理器链接在一起以形成安全决策网络或结构。此结构则在可能分处于时间和空间上的业务服务中产生一致的安全行为,包括软件标识、身份(标识)验证和访问控制。生成的安全架构可以进行调整,以支持对最小微服务的细粒度控制,同时可以规模化以处理最大的企业业务。
PDU可以在任何用户、数据、网络或功能集合之间定义精确且离散的访问控制措施,并以可预测、可扩展、正确、可管理和透明的方式弥补当前在访问控制方法上的缺陷。此外,相同的方法可用于定义PDU生命周期管理的控制措施。支持这种以PDU为中心的方法的是一种可实现更高准确性、更低风险和更高自动化程度的控制架构。
动机:高度监管的行业,例如金融行业、航空电子行业和医疗保健行业,具有最具挑战性的信息访问控制要求。本公开的动机是提供一种实用的机制和设计,用于将访问控制策略集成到这些高度监管的组织所需的控制架构内,以确保适当的对访问控制的管理。
对数据访问、控制措施或服务策略的评估可以通过对表达式和支持数据组成的信息的评估来有效地实现。在实践中,策略所需的数据可能在不同系统之中在流程的正在持续的生命周期内的不同点——例如应用的开发、构建、部署,经历访问请求、批准、再认证、身份认证、许可和实际访问请求——进行控制。每个流程中发生的任何事情都可能受到由监管、业务、客户或运营要求驱动的强制性控制。
在示例性实施例中,访问控制策略(即“策略”)被写入由身份提供者(identityprovider)或授权服务器根据OpenID Connect(OIDC)标准的模式发出的经过签名的访问令牌中,并且被传递到客户端,然后将经签名的令牌与访问请求一起传给资源服务器。这个范式引入了许多关键控制措施——身份提供者对用户进行身份验证,将令牌安全传递给客户端,以及身份提供者对应用的令牌进行签名检查——从而确保该应用是正确的接收者。
在示例性实施例中,令牌总是在访问请求生成之前发出,并且令牌具有一定寿命,使得它可由客户端存储并重复用于多个访问请求。这意味着此架构在时间和地点上被分区,因为令牌中的策略和用户属性是建立在时空内一个点的,然后将它们传递给应用,应用在后续评估的情况下使用它们。本质上,该架构支持时态性和分布式决议。
策略数据单元:在示例性实施例中,本公开提供了允许信息和策略流经系统的通用框架,使得策略的评估可以在非常普遍理解的意义上的整个生命周期中不同的时空点递增地执行,使策略评估和数据检索可直接链接到它们被最佳控制的系统中。
图5是示出根据示例性实施例的策略数据单元(PDU)的结构的图示500。访问控制策略和对资源的访问(即查询)请求都是逻辑陈述。查询(目标)将根据至少一个策略数据单元(PDU)进行评估。参考图5,PDU500包含报头、策略逻辑和数据。PDU可以有两种形式:简单型或复合型。特别地,PDU可以包含数据或策略逻辑或两者皆有——如复合型PDU500的情况。根据一个PDU评估目标的输出是另一个PDU。每个PDU可以是临时的,也可以是持续的——且可以重复使用。报头数据信息用于支持路由、沿袭、身份验证和其他安全相关功能。
用法:PDU的好处随着它的评估得以体现。在PDU处理生命周期的任何步骤,作为结果输出的PDU都可用于描述查询或允许的访问。这可用于控制用户到数据、用户到系统或系统到系统的信息流。查询根据PDU进行评估,结果生成可以答复该查询的PDU——取决于被提供的某些未知信息。
当用户尝试特定访问时,决议可以是允许或拒绝,也可作为另一个简单型或复合型PDU被发出。如果没有未知信息,则第一种情况很简单,决议是允许、拒绝、单例或集合。在仍存在剩余未知信息的情况下,部分评估会产生一个条件,可以传递该条件以供进一步评估。例如,业务规则可能规定任何用户只能访问由该同一用户创建的记录。输入PDU可能包含用户的标识符,输出条件使用用户的标识符构建表达式。此评估过程会发出一个新的PDU,其中包含过滤掉任何不允许的数据所需的谓语。
图6是示出根据示例性实施例将PDU组合成链的图示600。PDU评估生命周期:参考图6,PDU处理步骤可以被链接起来,如PDU序列600中所示,甚至可以内置到网络中,使得可以跨最大的企业管理最复杂的访问控制策略。此外,PDU可用于在部署之前测试和证明所提出的策略PDU是正确的。
优点:这种原子化的访问控制方法允许设计将最终访问决策分解为一系列点决策的访问方案,这些点决策将评估本地化至数据和策略信息受到最佳控制的位置。用此方法,可以就在实际访问资源之前执行最终评估。因此,访问控制过程可以性能更好、更可管理、安全且透明。
PDU处理:参考图7,图示700示出了PDU处理的一般模式,其中输入PDU与在本地域上为真的本地PDU相结合。这本质上是策略的结合和数据的结合——还有可能是一个非本地PDU,即更大域上的表达式。通过部分评估过程,生成作为其结果的输出PDU。策略评估只是把一个或多个未经验证或经过验证的PDU,将它们合并在一起,然后发出一个或多个PDU,这些PDU可能是经过验证的、未经验证的或有条件的。经过验证的PDU本质上是“允许的”请求,未经验证的PDU是“拒绝”的请求,而有条件的PDU是在以后可以计算的特定条件下得到允许的。尽管图示700说明了一个简单的情况,但可以进行任意数量的输入和输出。这意味着在示例性实施例中,这种方法可以在复杂的生命周期中任意合并和分支。
评估的结果是PDU和查询,该PDU正是解析查询所必需的,它可以与一个或多个其他PDU结合。
PDU包含足够充足的资源位置信息,使得它可以通过应用编程接口(API)请求服务。结合验证令牌的使用,这允许PDU访问或提供许多允许的功能
在示例性实施例中,PDU处理器必须验证PDU有权访问PDU所请求的数据和策略信息。PDU处理器还必须向PDU提供附加信息,以便完成处理请求;PDU处理器必须能够评估请求;PDU处理器必须能够根据结果的状态将输出PDU路由到其他PDU处理器或查询驱动程序。此外,PDU处理器可以创建、销毁、合并和拆分(或这些的任意组合)PDU。此外,执行这些变化的机制知道PDU的双重(即数据和逻辑)性质。
输出PDU的路由也由生成的PDU中的策略和数据确定,因此工作流编排受到与在评估的策略相同的控制。
PDU处理器之间的交互和信任:由于PDU是访问控制智能的实例化,因此必须使用适当的控制措施和测试协议执行PDU的修改、创建和销毁。
在示例性实施例中,为了提供正确的控制架构,策略的分区不是可选的;一般来说,PDU处理器不会信任输入PDU的发出者,甚至不信任非本地PDU,并且可能需要对其进行验证。验证策略不能位于传入的PDU中,而是由另一个源提供,它可能位于本地PDU中。此外,本地PDU是在PDU处理器内部建立的,并且要受自己控制。在示例性实施例中,这种交互也发生在PDU处理器的网络上。
在示例性实施例中,可以以至少两种方式之一获取本地PDU:1)本地PDU可以由外部代理在运行时周期性地进行更新;或2)本地PDU可以通过软件部署管道安装,并且在PDU处理器的生命周期内是不可变化的。
在情况1中,PDU处理器借助与PDU存储相关的查询通过API调用以类似于输入策略的方式接收输入PDU,并且它在本地评估策略以确定如何/是否持久化PDU。
在情况2中,软件代理(例如,持续部署作业实例)和实例化PDU处理器的平台(例如,云服务)之间通常存在交互,在这种情况下,平台本身充当PDU处理器并评估它自己的实例化策略,以确定PDU处理器是否可以实例化以及本地PDU是否绑定到其中。
PDU风险和控制的一般模式:要求对本地和输入PDU都进行控制,以建立至少以下:1)PDU旨在发给策略评估器;2)PDU由与策略评估器有信任关系的软件代理发出;3)PDU的寿命被正确建立;4)PDU在策略评估之时尚未过期;5)PDU在传输过程中未被篡改;6)PDU在接收和合并之间未被篡改;7)PDU由已知正常运行的软件代理来结合;8)结合的PDU未被篡改;9)部分评估由已知正常运行的软件代理来执行;10)可以跟踪部分评估的顺序,以确定决定访问的基本策略要素;11)记录PDU处理器执行的每次评估。
在策略和数据源自外部策略存储或数据存储的工作流的输入终端,对这些源进行控制,以确保以下各项:1)对于元数据和策略,可以追溯任何改变的要求;2)至少对策略、元数据和用户属性的更改需要有所有权和批准;3)策略显示为与PDU内和整个策略集中的其他策略一致;4)所有流程均经过测试并提供测试证据;5)PDU中的用户属性受到额外控制和/或受到保密要求的约束。许多控制措施都需要协调和异常管理流程。
用例:使用访问令牌的数据访问策略:数据访问控制中最常见的问题之一涉及以支持细粒度数据访问控制的方式整合了身份提供者服务与用户数据访问请求。此用例说明了使用PDU支持此整合功能的高级受控数据流。通过跨时间和空间将完整的计算分区,必要的数据输入在需要的时间和空间是可用的。
图8是示出了根据示例性实施例以支持细粒度数据访问控制的方式整合身份提供者服务与用户数据访问请求的用例的图示800。参考图8,此场景中,客户端正在访问存储在关系数据库中的数据,该数据库受资源服务器保护,例如,资源服务器是流行的三层体系结构中的中间层。在图示800中,用户正在与软件客户端(例如,查询工具)交互,后者向资源服务器发出超文本传输协议(http)请求。
在时间T0,用户借助IdP进行身份验证,并请求向客户端发出令牌(token)。例如,OIDC提供了多种实现此目的的方案。该令牌的内容包括PDU。在时间T1>T0,客户端存储该令牌,并代表用户向资源服务器发出数据访问请求。该请求带有访问令牌,资源服务器在某时间T2接收到该访问令牌,T2>T1。
同时,在时间T3,资源服务器已获取另一个单独的PDU,其中包含与数据存储(DataStore)相关的元数据和策略。为了正确响应用户的访问请求,资源服务器将令牌中的策略和数据与其本地PDU中的策略合并。此时,PDU包含结合的策略和数据,可以进行部分评估。此部分评估将转换为数据存储的本地语言(通常为SQL)的过滤后的访问请求,则可以对其进行全面评估并创建响应。然后,此响应数据集通过资源服务器返回到客户端。
用例:链接整个软件开发生命周期的评估:使用跨时间和空间PDU的好处可以作为软件开发生命周期的一部分(包括访问控制策略的制定)来说明。从历史上看,截获和部署用于细粒度访问控制的访问控制规则的过程一直是不透明、易出错、且难以管理的。这主要是因为需要转化跨知识领域和特定专业知识领域(法律、业务、技术特定)的各种需求,却没有办法使流程正式化和自动化。在示例性实施例中,一旦以正式语言截获策略,PDU就提供了使技术组件自动化的机会。
参考图9,图示900示出了PDU处理架构如何能够跨时间和空间的不同点进行分区,以便根据示例性实施例实现控制数据访问的方法和系统。
在此场景中,可以在策略制定和部署生命周期的三个阶段跟踪集成数据。在创建策略期间,需要应用元数据。例如,此元数据可能描述特定针对该应用要运行的地理位置的限制。实例策略可能特定于应用运行的环境。例如,对生产、测试和开发环境的数据访问的限制通常是不同的。此外,策略可能需要参数或其他数据,它们或是定义限制或阈值,或是影响何时以及如何应用该策略。例如,策略可能会对单个交易的美元金额设置限制,此美元限额可以作为特定于交易的数据值予以提供。
在图示900中,在图示的最右侧部分,有用于业务规则的输入规范。假设交易者X已被分配角色A,角色A被定义为能够交易产品B,只能在生产平台上访问生产数据,并且存在地理限制,即当数据来自国家E时,必须始终屏蔽个人身份信息(personally identifiableinformation,PII)。此外,还有一个额外的运行时限制,为一天内可以完成的交易的总美元价值提供了一千万美元的上限。以下是构建、配置和运行时时间段的描述。
在构建过程中,将提供包含定义角色A所需的逻辑和数据的PDU作为输入。此时,没有用户,但需要将策略作为正常的SDLC(systems development life cycle,系统开发生命周期)过程的一部分进行测试。此外,单元、集成、一致性、回归和压力测试可以在此阶段执行。在此阶段,支持这些测试的PDU形式的元数据是可用的。策略通过此构建阶段后,可以针对其将在其上运行的各种环境对其进行配置。此阶段的元数据输入可能支持与请求源,可访问的数据性质(例如,开发、测试或生产),或配置特定实例所需的其他元数据相关的策略。在运行时,PDU提供的其他信息将支持访问前测试,以满足交易限制以及根据当地法规必须屏蔽PII数据的要求。
图10是示出了根据示例性实施例的以PDU为中心的体系结构的图示1000,该体系结构支持和整合了实现安全令牌的安全模式。用例:支持新和新兴的安全架构:参考图10,在示例性实施例中,以PDU为中心的架构1000可以支持并整合实现安全令牌的其它安全模式,例如,JSON Web令牌(JWT)和安全断言标记语言(Security Assertion MarkupLanguage,SAML)断言。还支持OAuth 2.0扩展的实现,称为OAuth 2.0令牌交换。在示例性实施例中,可以使用既可以验证又可以重新发出安全令牌的安全令牌服务(Security TokenService,STS)。PDU可以支持此设计中所用安全令牌的创建、签名、加密、传输和路由。这些带有PDU的令牌可能包含必要的参数,包括授权类型、资源、受众和范围,以及其他必填字段和可选字段。此外,PDU处理器可以配置为提供所需的验证和重新发出新的安全令牌。
充当STS的授权服务器可能最初充当资源服务器,因为它接受令牌以确定是否允许令牌请求。为此,授权服务器应用该令牌的发出者与其自身之间预先共享的策略。然后,授权服务器使用这些令牌中的信息,结合本地数据和本地令牌发行策略,此策略描述其与预期受众之间的合同。这样会生成新的响应令牌。
常规架构能够使用资源服务器处理输入请求和OAuth客户端处理输出来组建。结果是,以PDU为中心的架构为安全架构的构建提供了基本构建模块。
图11是示出根据示例性实施例在云计算环境中的服务实例化的图示1100。用例:云中的服务实例化:参考图11,如图示1100所示,在云/微服务环境中,单个服务实例,如数据库、消息代理或无状态函数(即lambda)由服务代理托管,并代表更高级别的应用或服务被实例化。通常,服务代理接收创建服务或将服务分配给用户所有的特定账户或订阅的请求。作为实例化的一部分,服务代理使用安全令牌建立服务实例的身份,然后将服务实例绑定到特定账户或订阅。创建服务实例时,它会向身份提供者注册,提供有关服务实例的足够信息以支持之后的身份验证。服务身份验证是其自己的技术和安全领域,包括身份验证因素的管理和证明,这些因素用于建立服务标识和证明特定工作负载明确是该服务实例的一部分。在身份验证时,身份提供者(IdP)提供关于特定工作负载的声明,它符合如SAML或OAuth等各种行业标准协议,并使用如X.509或Java Web令牌等适当的标准形式携带于数字证书中。
尽管数字声明包含没有策略的数据,但数字声明符合PDU架构,可视为PDU。除了声明本身之外,IdP有一套规则来管理声明如何构造、声明所指内容、以及必须如何解释内容,即,IdP有可关联声明的“发出者声明策略”。在大多数协议实现(如OAuth或SAML)中,发出者声明策略通常不随声明本身一起递送,而是由声明的受众视为隐含的。对此,受众“知道如何解释声明”。PDU架构使这个知识明确清楚。发出者声明策略形成第二个PDU,该PDU承载解释规则,然后身份验证处理器将声明与策略合并。管理身份验证的规则,描述所需的风险级别、可接受的身份验证器等等,可以单独描述为本地策略,并可能由本地上下文信息补充。
“管道的末端”是OAuth资源服务器,它接收对其所保护资源执行操作的请求,并确定随附的令牌是否允许该操作并返回有关此所保护资源的一些信息。
用例:身份管理和管理系统的协调:参考图12,图示1200示出了根据示例性实施例用于跨身份管理和管理(IGA)系统进行协调的PDU网络。在此用例中,PDU被用于促进一组分布式IGA系统之间的协调和履行。
从历史上看,协调问题的解决通常利用单个多维度包含一个所有相关信息的块的“数据立方体”,和一组根据需要沿任意方向遍历此数据立方体的规则。这本身就存在规模和性能问题。PDU架构,包括部分评估能力,允许重构协调问题,以便数据立方体不在一个时间和空间组装。
当针对各种角色授权考虑角色定义时,在具有数千用户的全球分布式系统的背景下,要在单个中央系统中协调整个企业的角色授权是不切实际的,甚至是不可能的。另一种方法是以分布式方式应用协调策略,“遍历”整个企业,针对可能在各个数据存储中维护和管理的角色授权来协调定义。此外,当协调遍历不同的应用上下文时,各应用上下文可能需要其自己的专门动作来完成协调。此类特定于应用的操作可以在单独的策略中描述,作为本地策略提供给各个PDU。
用例:使用策略管理策略:一旦启用部分评估,可以通过PDU处理器的有向图支持复杂的控制用例。这允许在应用交付生命周期、服务管理生命周期和/或数据管理生命周期的各个阶段根据控制策略评估当前状态,并随后将这些评估组合在一起,以构建控制的递增视图,以满足访问和其他安全要求。此有向图包含节点和边;节点是PDU处理器,PDU沿图形方向沿边缘流动。有向图本身要受到检查和审查,为了支持这一类的活动,PDU处理器需要支持审计操作。但是,由于网络是松散耦接的,因此每个单独的PDU处理器可能缺少支持端到端审计的整体上下文信息。在示例性实施例中,使用起源本体(Provenance Ontology)作为工作模型,以便每个PDU都使用统一的资源标识符(URI)进行标识,并且每个PDU处理器可以发出关于其执行的活动的简单的起源本体陈述,指向它使用和产生的PDU。
这有助于审计起源记录并收集有关部分评估的信息。审计过程本身由以PDU形式阐述的策略控制。因而,审计流程本身可以使用用于解决早期用例的相同的策略基础设施来进行描述、部署和管理。
在示例性实施例中,使用安全管理的PDU的网络可能会创建足够灵活以扩展到最大问题空间的访问控制方案。它们支持同步和异步访问控制,同时提供必要决策空间的适当分区,支持创建可针对种类繁多的访问控制用例进行部署和高效操作的控制架构。
因此,通过该技术,提供了一种优化的对控制信息资源的功能访问及数据访问的策略进行管理的过程。
尽管已经参照几个示例性实施例对本发明进行了描述,但可以理解,已经使用的词语是描述和说明的词语,而不是限制性的词语。如目前所述和修订的那样,可以在所附权利要求的范围内进行更改,而不会偏离本公开的范围和精神。尽管已经参照特定的手段、材料和实施例对本发明进行了描述,但本发明并不打算局限于所公开的细节;相反,本发明扩展到所有功能等同的结构、方法和用途,如在所附权利要求范围之内的那样。
例如,虽然计算机可读介质可以被描述为单个介质,但是术语“计算机可读介质”包括单个介质或多个介质,例如集中式或分布式数据库、和/或存储相关联的高速缓存和服务器,存储有一组或多组指令。术语“计算机可读介质”还应当包括能够存储、编码或携带一组指令以供处理器执行或者使得计算机系统执行本文所公开的实施例中的任何一个或多个的任何介质。
计算机可读介质可以包括一个或多个非暂时性计算机可读介质和/或包括一个或多个暂时性计算机可读介质。在特定的非限制性示例性实施例中,计算机可读介质可以包括固态存储器,例如存储卡或容纳一个或多个非易失性只读存储器的其他封装。此外,计算机可读介质可以是随机存取存储器或其他易失性可重写存储器。另外,计算机可读介质可以包括磁光或光学介质,例如盘或磁带或其他存储设备以捕获载波信号,例如通过传输介质传送的信号。因此,本公开被认为包括其中可以存储数据或指令的任何计算机可读介质或其他等同物和接替介质。
尽管本申请描述了具体实施例,其可以在计算机可读介质中实现为计算机程序或代码段,但应当理解,专用硬件实现,例如专用集成电路、可编程逻辑阵列和其它硬件设备,可以被构建为实现本文描述的一个或多个实施例。可能包括本文中阐述的各种实施例的应用可以广泛地包括各种电子和计算机系统。因此,本申请可以包括软件、固件和硬件实现,或其组合。本申请中的任何内容都不应被解释为仅通过软件而不是硬件实现或可实现。
尽管本说明书参考特定标准和协议描述了可以在特定实施例中实现的组件和功能,但是本公开不限于这样的标准和协议。这些标准定期被具有基本相同功能的更快或更有效的等效标准所取代。因此,具有相同或相似功能的替代标准和协议被认为是其等同物。
本文描述的实施例的附图旨在提供对各种实施例的一般理解。附图并不旨在用作利用本文描述的结构或方法的装置和系统的所有元件和特征的完整描述。在阅读本公开后,许多其他实施例对于本领域技术人员来说是显而易见的。可以利用其他实施例并从本公开导出其他实施例,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。另外,附图仅仅是代表性的并且可能不是按比例绘制的。图中的某些比例可能被夸大,而其他比例可能被最小化。因此,本公开和附图应被视为说明性的而非限制性的。
本公开的一个或多个实施例在本文中可以单独地和/或共同地通过术语“发明”来提及,这仅仅是为了方便并且无意将本申请的范围限制于任何特定的发明或发明概念。此外,虽然本文已经图示和描述了具体实施例,但是应当理解,设计用于实现相同或相似目的的任何后续布置可以替代所示的具体实施例。本公开旨在覆盖各种实施例的任何和所有后续的修改或变型。本领域技术人员在阅读描述后将清楚上述实施例以及本文未具体描述的其他实施例的组合。
本公开的摘要提交时对其理解是,它不会用于解释或限制权利要求的范围或含义。此外,在前述详细实施方式中,各种特征可以组合在一起或在单个实施例中描述,以精简本公开。本公开不应被解释为反映所要求保护的实施例要求比每项权利要求中明确叙述的更多特征的意图。相反,如所附权利要求所反映的,发明主题可以涉及少于任何所公开的实施例的所有特征。因此,以下权利要求并入具体实施方式中,每个权利要求独立地定义单独要求保护的主题。
上述公开的主题应被视为说明性的,而不是限制性的,所附权利要求旨在涵盖属于本公开真正精神和范围的所有此类修改、增强和其他实施例。因此,在法律允许的最大范围内,本公开的范围应由对以下权利要求及其等同物的最广泛允许的解释来确定,而不受上述详细说明的限制或限制。
Claims (20)
1.一种用于管理对系统的访问的控制策略的方法,所述方法由至少一个处理器实现,所述方法包括:
由所述至少一个处理器接收多个策略数据单元,所述策略数据单元各自包括与关于所述系统的访问确定相关的信息;
由所述至少一个处理器处理所述多个策略数据单元,并获得作为所述处理的结果的访问策略规则;
由所述至少一个处理器基于所述获得的访问策略规则生成与预定用户相关的经签名的访问令牌;和
由所述至少一个处理器将所述经签名的访问令牌传输给所述预定用户。
2.根据权利要求1所述的方法,其中,所述多个策略数据单元中的每个策略数据单元包括下述之一:
包含报头和数据但不包含策略逻辑的第一简单型策略数据单元,
包含报头和策略逻辑但不包含数据的第二简单型策略数据单元,以及
包含报头、数据和策略逻辑的复合型策略数据单元。
3.根据权利要求1所述的方法,其中,
处理所述多个策略数据单元包括:构建策略数据单元处理器的第一有向图,以及
所述方法还包括:通过使用所述第一有向图在分布于时间和空间的计算环境中评估所述获得的访问策略规则。
4.根据权利要求3所述的方法,其中,评估所述获得的访问策略规则是随着相应软件被构建、测试和部署而递增执行的。
5.根据权利要求3所述的方法,其中,评估所述获得的访问策略规则是在随时间变化的云计算环境中执行的,使得所述获得的访问策略规则的至少一部分根据所述云计算环境的变化而被修改。
6.根据权利要求3所述的方法,还包括:
构建所述策略数据单元处理器的第二有向图,以及
通过使用所述第二有向图,评价对所述访问策略规则的使用的正确性、完整性和一致性中的至少一个。
7.根据权利要求6所述的方法,其中,评价对所述访问策略规则的使用包括使用所述第二有向图中包含的至少一个探测控件,以
确定所述访问策略规则是否在按照设计执行,以及
确定所述访问策略规则及与所述访问策略规则相关联的参考数据中的至少一个是否已经受到篡改。
8.根据权利要求6所述的方法,还包括:
使用所述第二有向图,以生成基于所述第一有向图做出的决策的可审计记录。
9.一种用于管理对系统的访问的控制策略的计算装置,所述计算装置包括:
第一处理器;
存储器;和
通信接口,耦接至所述第一处理器和所述存储器中的每一个,
其中,所述第一处理器被配置为:
经由所述通信接口接收多个策略数据单元,所述策略数据单元各自包括与关于所述系统的访问确定相关的信息;
处理所述多个策略数据单元,并获得作为所述处理的结果的访问策略规则;
基于所述获得的访问策略规则生成与预定用户相关的经签名的访问令牌;和
经由所述通信接口将所述经签名的访问令牌传输给所述预定用户。
10.根据权利要求9所述的计算装置,其中,所述多个策略数据单元中的每个策略数据单元包括下述之一:
包含报头和数据但不包含策略逻辑的第一简单型策略数据单元,
包含报头和策略逻辑但不包含数据的第二简单型策略数据单元,以及
包含报头、数据和策略逻辑的复合型策略数据单元。
11.根据权利要求9所述的计算装置,其中,
所述多个策略数据单元的所述处理包括:构建策略数据单元处理器的第一有向图,以及
所述第一处理器还被配置为:通过使用所述第一有向图在分布于时间和空间的计算环境中评估所述获得的访问策略规则。
12.根据权利要求11所述的计算装置,其中,所述获得的访问策略规则的所述评估是随着相应软件被构建、测试和部署而递增执行的。
13.根据权利要求11所述的计算装置,其中,所述获得的访问策略规则的所述评估是在随时间变化的云计算环境中执行的,使得所述获得的访问策略规则的至少一部分由于所述云计算环境的变化而被修改。
14.根据权利要求11所述的计算装置,其中,所述第一处理器还被配置为:
构建所述策略数据单元处理器的第二有向图,以及
通过使用所述第二有向图,评价对所述访问策略规则的使用的正确性、完整性和一致性中的至少一个。
15.根据权利要求14所述的计算装置,其中,评价对所述访问策略规则的使用包括使用所述第二有向图中包含的至少一个探测控件,以
确定所述访问策略规则是否在按照设计执行,以及
确定所述访问策略规则及与所述访问策略规则相关联的参考数据中的至少一个是否已经受到篡改。
16.根据权利要求14所述的计算装置,其中,所述第一处理器还被配置为:使用所述第二有向图生成基于所述第一有向图做出的决策的可审计记录。
17.一种存储有指令的非暂时性计算机可读存储介质,用于管理对系统的访问的控制策略,所述存储介质包括可执行代码,所述可执行代码在由处理器执行时,使得所述处理器:
接收多个策略数据单元,所述策略数据单元各自包括与关于所述系统的访问确定相关的信息;
处理所述多个策略数据单元,并获得作为所述处理的结果的访问策略规则;
基于所述获得的访问策略规则生成与预定用户相关的经签名的访问令牌;和
将所述经签名的访问令牌传输给所述预定用户。
18.根据权利要求17所述的存储介质,其中,所述多个策略数据单元中的每个策略数据单元包括下述之一:
包含报头和数据但不包含策略逻辑的第一简单型策略数据单元,
包含报头和策略逻辑但不包含数据的第二简单型策略数据单元,以及
包含报头、数据和策略逻辑的复合型策略数据单元。
19.根据权利要求17所述的存储介质,其中,所述可执行代码还被配置为使得所述处理器:
构建策略数据单元处理器的第一有向图;和
通过使用所述第一有向图在分布于时间和空间的计算环境中评估所述获得的访问策略规则。
20.根据权利要求19所述的存储介质,其中,所述可执行代码还被配置为:
构建所述策略数据单元处理器的第二有向图,以及
通过使用所述第二有向图,评价对所述访问策略规则的使用的正确性、完整性和一致性中的至少一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163171850P | 2021-04-07 | 2021-04-07 | |
US63/171,850 | 2021-04-07 | ||
PCT/US2022/023821 WO2022216923A1 (en) | 2021-04-07 | 2022-04-07 | Method and system for providing access control governance |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117242447A true CN117242447A (zh) | 2023-12-15 |
Family
ID=83509365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280026981.XA Pending CN117242447A (zh) | 2021-04-07 | 2022-04-07 | 用于提供访问控制管理的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220327223A1 (zh) |
EP (1) | EP4278289A1 (zh) |
CN (1) | CN117242447A (zh) |
WO (1) | WO2022216923A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220156393A1 (en) * | 2020-11-19 | 2022-05-19 | Tetrate.io | Repeatable NGAC Policy Class Structure |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9043862B2 (en) * | 2008-02-06 | 2015-05-26 | Qualcomm Incorporated | Policy control for encapsulated data flows |
US9083749B1 (en) * | 2012-10-17 | 2015-07-14 | Amazon Technologies, Inc. | Managing multiple security policy representations in a distributed environment |
WO2018169430A1 (en) * | 2017-03-17 | 2018-09-20 | Oracle International Corporation | Integrating logic in micro batch based event processing systems |
US11134058B1 (en) * | 2017-10-06 | 2021-09-28 | Barracuda Networks, Inc. | Network traffic inspection |
US10764752B1 (en) * | 2018-08-21 | 2020-09-01 | HYPR Corp. | Secure mobile initiated authentication |
US11245682B2 (en) * | 2018-10-18 | 2022-02-08 | Oracle International Corporation | Adaptive authorization using access token |
US12021898B2 (en) * | 2019-01-25 | 2024-06-25 | Nicira, Inc. | Processes and systems that translate policies in a distributed computing system using a distributed indexing engine |
US11483350B2 (en) * | 2019-03-29 | 2022-10-25 | Amazon Technologies, Inc. | Intent-based governance service |
US11303678B2 (en) * | 2019-08-15 | 2022-04-12 | ColorTokens, Inc. | Determination and autocorrection of modified security policies |
US11363068B2 (en) * | 2019-11-04 | 2022-06-14 | ColorTokens, Inc. | Method and system for providing a complete traceability of changes incurred in a security policy |
US11563733B2 (en) * | 2020-02-26 | 2023-01-24 | Microsoft Technology Licensing, Llc. | Security token validation using partial policy validations |
-
2022
- 2022-04-07 EP EP22785437.9A patent/EP4278289A1/en active Pending
- 2022-04-07 CN CN202280026981.XA patent/CN117242447A/zh active Pending
- 2022-04-07 WO PCT/US2022/023821 patent/WO2022216923A1/en active Application Filing
- 2022-04-07 US US17/658,336 patent/US20220327223A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022216923A1 (en) | 2022-10-13 |
US20220327223A1 (en) | 2022-10-13 |
EP4278289A1 (en) | 2023-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11418510B2 (en) | Systems, methods, and apparatuses for implementing a role based access control and authorization validator via blockchain smart contract execution using distributed ledger technology (DLT) | |
US11611560B2 (en) | Systems, methods, and apparatuses for implementing consensus on read via a consensus on write smart contract trigger for a distributed ledger technology (DLT) platform | |
US20240248894A1 (en) | Dag based methods and systems of transaction processing in a distributed ledger | |
EP3688650B1 (en) | System and method for providing a representational state transfer proxy service for a blockchain cloud service | |
Song et al. | Research advances on blockchain-as-a-service: Architectures, applications and challenges | |
US11762842B2 (en) | Systems and methods for asynchronous delayed updates in virtual distributed ledger networks | |
US10891383B2 (en) | Validating computer resource usage | |
Awaysheh et al. | Next-generation big data federation access control: A reference model | |
US20190303623A1 (en) | Promotion smart contracts for software development processes | |
US20190305959A1 (en) | Announcement smart contracts to announce software release | |
US20190303541A1 (en) | Auditing smart contracts configured to manage and document software audits | |
KR102569409B1 (ko) | 가상 분산 원장 네트워크를 위한 시스템 및 방법 | |
US11507291B2 (en) | Data block-based system and methods for predictive models | |
US11838406B2 (en) | Systems and methods for control-data plane partitioning in virtual distributed ledger networks | |
Putz et al. | Trust Factors and Insider Threats in Permissioned Distributed Ledgers: An Analytical Study and Evaluation of Popular DLT Frameworks | |
US11763298B2 (en) | Systems and methods for hybrid synchronization in virtual distributed ledger networks | |
Dhasarathan et al. | Data privacy breach prevention framework for the cloud service | |
Barati et al. | Privacy‐aware cloud ecosystems: Architecture and performance | |
CN117242447A (zh) | 用于提供访问控制管理的方法和系统 | |
Alshinwan et al. | Integrated cloud computing and blockchain systems: A review | |
Ghumman et al. | Verification requirements for secure and reliable cloud computing | |
US20230015246A1 (en) | Method and system for facilitating identity and access management in a cloud environment | |
US12061600B2 (en) | API management for batch processing | |
US20230153457A1 (en) | Privacy data management in distributed computing systems | |
Ngo et al. | Enhancing Security and Scalability in IoT Networks Applying Blockchain Technology |
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: 40101063 Country of ref document: HK |