CN109891851B - 用于隔离的集合的委托授权方法及系统 - Google Patents
用于隔离的集合的委托授权方法及系统 Download PDFInfo
- Publication number
- CN109891851B CN109891851B CN201780067109.9A CN201780067109A CN109891851B CN 109891851 B CN109891851 B CN 109891851B CN 201780067109 A CN201780067109 A CN 201780067109A CN 109891851 B CN109891851 B CN 109891851B
- Authority
- CN
- China
- Prior art keywords
- resource
- access
- requestor
- isolated
- underlying
- 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
- 238000013475 authorization Methods 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000015654 memory Effects 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 description 33
- 238000012545 processing Methods 0.000 description 11
- 238000011156 evaluation Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- 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
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/28—Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Paper (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开内容的示例描述了委托授权以访问隔离的数据集合的系统和方法。在各方面中,应用可以接收用于访问资源标识符和关系的隔离的集合的请求。资源标识符可以与一个或多个远程数据存储库中的资源相对应。在接收到请求时,应用可以询问远程数据存储库以确定请求者当前是否被授权访问与隔离的集合中的资源标识符相对应的一个或多个资源。如果确定请求者被授权,则应用可以使用由远程数据存储库提供的授权指示来向请求者提供对隔离的集合的访问。如果确定请求者未被授权,则应用可以禁止对隔离的集合的访问。
Description
背景技术
电子信息的认证是评估一组接收的凭证以确定用户的真实性(例如,用户是所声称的人)的过程。在成功认证之后发生的授权是针对一个或多个用户确定对电子信息的访问的过程。多年来,各种授权方法已经演化。通常,这样的方法需要实现和维护必须全面促进过程的复杂架构和服务,所述过程例如注册、令牌生成/指派和生命周期维护。由于这样的要求通常是资源密集型的,因此在许多情况下替代授权方法是期望的。
关于这些和其他一般性考虑,已经做出了本文公开的各方面。而且,尽管可以讨论相对具体的问题,但是应当理解,示例不应限于解决在背景技术中或本公开内容中其他地方所标识的具体问题。
发明内容
提供本概述是为了以简化的形式介绍对构思的选择,所述构思将在下面的详细描述部分中进一步描述。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于辅助确定所要求保护的主题的范围。
本公开内容的示例描述了委托授权访问隔离的数据集合的系统和方法。在各方面中,用于访问资源、资源标识符和/或关系的隔离的集合的请求可以由应用接收,以用于确定、导航和/或可视化资源(例如,人、文件、任务等)之间的关系。资源标识符可以与一个或多个远程数据存储库中的资源相对应。在接收到请求时,应用可以询问远程数据存储库以确定请求者当前是否被授权访问与隔离的集合中的资源标识符相对应的一个或多个资源。如果确定请求者被授权,则应用可以使用由远程数据存储库提供的授权指示来向请求者提供对隔离的集合的访问。如果确定请求者未被授权,则应用可以禁止请求者访问隔离的集合。
提供本概述是为了以简化的形式介绍对构思的选择,所述构思将在下面的详细描述中被进一步描述。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。示例的附加的方面、特征和/或优点将部分地在下面的描述中被阐述,并且部分地将根据描述而显而易见,或者可以通过本公开内容的实践来获知。
附图说明
参考以下附图描述了非限制性和非穷举性的示例。
图1示出了如本文所述的用于授权访问隔离的集合的示例性系统的概述。
图2示出了如本文所述的用于管理资源标识符和对应关系的隔离的集合的示例性系统的概述。
图3A-E示出了如本文所述的示例性的隔离的集合。
图4示出了如本文所述的委托授权以访问隔离的数据集合的示例性方法。
图5示出了如本文所述的确定对隔离的数据集合的底层资源的访问的示例性方法。
图6示出了如本文所述的有条件地授权访问隔离的数据集合的示例性方法。
图7示出了如本文所述的确定用于访问隔离的集合的条件是否已被满足的示例性方法。
图8是示出可以用其可以实践本公开内容的各方面的计算设备的示例性物理组件的框图。
图9A和图9B是用其可以实践本公开内容的各方面的移动计算设备的简化框图。
图10是其中可以实践本公开内容的各方面的分布式计算系统的简化框图。
图11示出了用于执行本公开内容的一个或多个方面的平板计算设备。
具体实施方式
下面参考附图更全面地描述了本公开内容的各个方面,所述附图形成本文的一部分,并且示出了具体的示例性方面。然而,本公开内容的不同方面可以以许多不同的形式实现,并且不应当被解释为限于本文阐述的方面;相反,提供这些方面以使得本公开内容将彻底和完整,并且将各方面的范围充分传达给本领域技术人员。各方面可以被实践为方法、系统或设备。因此,各方面可以采用硬件实施方式、完全软件实施方式或组合软件和硬件方面的实施方式的形式。因此,以下详细描述不应被视为具有限制意义。
本公开内容提供了委托授权以访问隔离的断言数据集合的系统和方法。在各方面中,用于管理隔离的断言数据集合的应用或服务可以是客户端可访问的。如本文所使用的,隔离的断言数据集合可以指代一个或多个断言的资源以及那些资源之间的关系。在示例中,资源可以与人、实体、文件、任务、电子通信、文档(或其部分)、日历事件、任务等相对应。资源可以与资源标识符(例如,统一资源定位符(URL)、统一资源名称(URN)等) 相关联。资源标识符可以标识资源并且使得能够通过网络与资源的表示进行交互。关系可以标识一个或多个资源和/或资源标识符之间的关联。可以使用一个或多个规则集或使用语义网络技术(例如,资源描述框架(RDF)、 RDF模式(RDFS)、SPARQL协议和RDF查询语言(SPARQL)、网络本体语言(OWL)等)来手动识别和/或确定这样的关系。隔离的集合可以包括一个或多个资源、资源标识符和/或关系。隔离的集合还可以包括许可信息、一个或多个规则集和/或元数据(例如,资源/关系描述属性,例如标题、创建者、主题、描述、发布者、贡献者、日期、类型格式、标识符、源、语言、关系、覆盖面、权利等)。当资源和/或关系未由隔离的集合推断或定义时,资源和/或关系(和对应的数据)可以被称为“断言的”。例如,如果资源/关系是手动定义的、通过查询或与资源提供者或数据存储(data store) 交互来确定的等等,则可以断言资源/关系。作为对比,当隔离的集合使用隔离的集合的一个或多个规则来定义资源/关系(或其属性)时,资源/关系 (和对应的数据)可以被称为“推断的”。例如,如果隔离的集合(或管理隔离的集合的应用或服务)针对由隔离的集合存储的断言数据执行由隔离的集合存储(或特别地与之相关联)的一个或多个规则,则可以推断资源/ 关系。推断的资源或关系可以为断言数据(例如,资源、资源标识符、关系等)提供附加信息或丰富信息。推断数据可以存储在隔离的集合中或由隔离的集合存储。包括断言数据和推断数据二者的隔离的集合可以被称为丰富的隔离的断言数据集合。如本文所使用的,隔离的断言数据集合和丰富的隔离的断言数据集合可以被称为“隔离的集合”或“集”。
在各方面中,隔离的集合的数据(及其元数据)可以存储在应用/服务可访问的一个或多个数据存储中。元数据可以包括资源和/或关系描述属性,例如标题、创建者、主题、描述、发布者、贡献者、日期、类型格式、标识符、来源、语言、关系、覆盖范围、权限等。应用/服务可以提供对用于查询、导航、可视化和/或修改隔离的集合、相关联的元数据或对应底层资源的接口的访问。在示例中,应用/服务可以从请求者接收用于访问或生成隔离的集合和/或与隔离的集合相关联的数据的请求。应用/服务可以搜索数据存储以确定包括在所请求的隔离的集合中的至少一部分资源标识符。应用/服务可以使用所确定的资源标识符来标识和/或定位一个或多个对应的资源。识别/定位资源可以包括例如:执行对资源标识符的HTTP调用,将资源标识符提供给搜索/查找实用程序,查询资源提供者等。在一些方面中,当所确定的资源标识符被定位时,可以由应用/服务询问可操作以访问与所确定的资源标识符相对应的资源的资源提供者。如本文所使用的,询问可以指代用于针对一个或多个资源和/或资源提供者确定授权信息的请求。在示例中,询问可以包括访问资源提供者上的授权文件、用户访问事件文件、授权令牌存储库和/或一组资源许可。询问可以附加地或替代地包括来自应用/服务的用于响应与以下各项有关的一个或多个问题的请求:例如请求者是否被授权访问资源或资源提供者,资源提供者或认证提供者是否已经授权请求者对资源的访问,对授权/认证的指示(例如,令牌、凭证、许可集等)当前是否可由资源提供者访问,资源提供者是否具有对资源的访问权限,对授权/认证的指示的到期日期/时间等。
在各方面中,应用/服务可以使用询问的结果来确定是否提供对隔离的集合的访问和/或与隔离的集合相关联的一个或多个资源。例如,如果应用/ 服务从询问中确定请求者拥有用于访问资源的有效授权指示,则应用/服务可以提供对包括与资源相对应的资源标识符的一个或多个隔离的集合的访问。另一方面,如果应用/服务从询问中确定请求者未拥有用于访问资源的有效授权指示,则应用/服务可以防止(或至少不提供)对包括与资源相对应的资源标识符的一个或多个隔离的集合的访问。
因此,本公开内容提供了多个技术益处,包括但不限于:使用户能够定义和标识资源之间的关系;从小数据集推断出丰富的关系;创建鲁棒的查询模型;使得能够对隔离的集合执行强大的查询;提供用户接口来创建、管理和可视化隔离的集合和许可数据;为隔离的集合访问提供委托授权模型;为隔离的集合访问提供有条件的授权模型(conditionalauthorization model);保护对隔离的集合底层的远程资源的访问,以及其它示例。
图1示出了如本文所述的用于授权访问隔离的集合的示例性系统的概述。示例性系统100可以是相互依赖的组件的组合,所述组件交互以形成用于执行委托授权的集成整体。在各方面中,系统100可以包括硬件组件 (例如,用于执行/运行操作系统(OS))和/或在硬件上运行的软件组件(例如,应用、应用编程接口(API)、模块、虚拟机、运行时库等)。在特定方面中,系统100可以为软件组件提供环境,以执行、评估操作约束集并且利用系统100的资源或设施。在这样的方面中,环境可以包括一个或多个处理设备或被安装在其上。例如,软件(例如,应用、操作指令、模块等) 可以在处理设备上运行,所述处理设备例如计算机、移动设备(例如,智能手机/电话、平板电脑、膝上型电脑、个人数字助理(PDA)等)和/或任何其他电子设备。作为处理设备操作环境的示例,参考图8-11中描绘的示例性操作环境。在其他实例中,本文公开的系统的组件可以跨多个设备分布并且可由多个设备执行。例如,输入可以在客户端设备上被录入,并且信息可以从网络中的其他设备(例如,服务器设备、网络设备(network appliance)、其他客户端设备等)处理或访问。
如所呈现的,系统100包括客户端设备102A-C、分布式网络104和包括一个或多个服务器(例如,服务器设备106A-C)的分布式服务器环境。本领域技术人员将领会,诸如系统100之类的系统的规模可以变化,并且可以包括与图1中描述的组件相比附加的或更少的组件。在一些方面中,系统100的组件之间的接合可以远程发生,例如其中,系统100的组件可以跨分布式网络的一个或多个设备分布。
在各方面中,客户端设备102A-C可以被配置为经由用户接口组件或其他输入手段接收输入。输入的示例可以包括语音、视觉、触摸和文本输入。接口组件可以实现对各种数据集和图形表示的创建、修改和导航。在示例中,各种数据集可以包括(或以其他方式与之相关联)例如:资源标识符、资源元数据、关系信息、断言关系(asserted relationship)、图形映射信息、查询数据、规则集(例如,推理规则)、授权信息、认证信息等,如下面更详细讨论的。通常,数据集存储在服务器设备106A-C中的一者或多者上,并且可由客户端设备102A-C经由网络连接(例如,分布式网络104)访问。然而,在一些示例中,数据集可以至少部分地存储在客户端设备102A-C中的一者或多者上。各种数据集中表示的底层资源可以本地存储或存储在客户端设备102A-C可访问的数据存储中,例如云存储应用。在至少一个示例中,各种数据集(或其部分)中表示的底层资源可以跨客户端设备102A-C 分布。例如,客户端设备102A(例如,移动电话)可以本地存储在数据集中表示的资源的第一部分,客户端设备102B(例如,平板电脑)可以本地存储资源的第二部分,并且客户端设备102C(例如,膝上型计算机)可以本地存储在数据集中表示的资源的剩余部分。在示例中,客户端设备102A-C可以具有对被包括在数据集中的所有资源的访问权限,可以具有对被包括在数据集中的资源的子集的访问权限,或者替代地可以不具有对被包括在数据集中的资源中的任一者的访问权限。
客户端设备102A-C还可以被配置为确定一个或多个资源的位置。在各方面中,客户端设备102A-C可以询问包括与各种数据集中的资源标识符相对应的资源的资源提供者和/或数据存储。询问可以包括识别资源所位于(或者资源可以从其访问)的远程设备。在一些方面中,询问可以另外包括确定远程设备(或服务/单独的远程设备)是否具有对资源的授权访问。如果确定了已经授权对资源的访问,则客户端设备102A-C可以从远程设备或认证提供者检索认证(或授权)指示。然后,客户端设备102A-C可以使用认证/授权指示来提供对包括对应资源标识符的各种数据集中的一者或多者的访问。如本文所使用的,这样的授权技术可以被称为委托授权。在其他方面中,询问可以另外包括确定与数据集相关联的一组条件是否已被满足。在示例中,一组条件中的条件中的一者或多者可以在数据集的内部、数据集的外部或其某种组合。如果确定了一组条件已被满足,则客户端设备 102A-C可以提供对一个或多个对应数据集的访问。如本文所使用的,这样的授权技术可以被称为有条件的授权。
服务器设备106A-C可以被配置为存储一个或多个资源和/或提供对一个或多个资源的访问。例如,服务器设备102A可以是网络服务器,服务器设备102B可以是包括协作消息传送工具和日历应用的设备,并且服务器设备102C可以是电子邮件服务器。这些设备中的每一者可以包括可经由一个或多个授权机制访问的资源存储库。在示例中,当对资源的请求被接收到时,服务器设备106A-C可以执行或监测授权过程。如果授权成功,则授权设备可以存储或维护在指定的时间段内认证/授权指示。当时间段期满时,服务器设备106A-C可以移除或尝试更新认证/授权指示。在示例中,服务器设备106A-C可以将认证/授权指示提供给询问客户端设备。在一些方面中,服务器设备106A-C还可以被配置为存储各种数据集和图形表示的至少一部分,如上所述。
图2示出了用于管理资源标识符和对应关系的隔离的集合的示例性系统200的概述。在系统200中实现的隔离集合技术可以包括图1中描述的委托授权技术中的一者或多者或与之相关联。在替代示例中,单个设备(包括诸如处理器和/或存储器之类的一个或多个组件)可以执行分别在系统 100和200中描述的处理。
关于图2,系统200可以包括集创建应用202和204、集环境206、集 208和210、实体212和214、资源标识符216、218、220、222、224和226 以及资源228、230、232、234、236和238。在各方面中,集创建应用202 和204可以是被配置为创建、推断、操纵、导航和可视化各种资源、关系和图形表示的应用或服务。集创建应用202和204可以定义资源(例如,人、文件、任务、邮件、文档、日历事件等)之间的关系的隔离的集合以及对那些隔离的集合执行查询。集创建应用202和204还可以提供:定义和存储用于推断隔离的集合中的一个或多个关系的规则集,以及显示隔离的集合数据的图形表示。定义的规则集可以存储在隔离的集合本身中,并且在一些示例中,作为元数据存储在隔离的集合内。在示例中,可以在客户端设备上或在分布式环境中的一个或多个设备上安装和执行集创建应用 202和204。例如,集创建应用202可以安装在客户端设备102A上,集创建应用204可以安装在客户端设备102B上,并且与服务器设备106A相关联的集创建服务可以是客户端设备102C可访问的。
在各方面中,集创建应用202和204可以具有对文件目录或执行环境 (例如,环境206)的访问权限。环境206可以与集创建应用共同定位的,或者环境206可以远离集创建应用定位。环境206可以提供对一个或多个隔离的数据集合(例如,集208和210)的访问。在示例中,可以使用由集创建应用202和204生成和/或维护的一个或多个许可集来确定对隔离的数据集合的访问。权限集可以是跨隔离的数据集合中的一者或多者不同的。作为结果,隔离的数据集合中的一者或多者(或与其相关联的功能)可能是不可从集创建应用202和204中的一者或多者访问的。
集208和210可以分别包括断言和/或推断的资源标识符和关系的隔离的集合。隔离的集合中的关系可以手动定义,或者可以使用一个或多个规则集自动导出。可以使用诸如命名的图之类的图形结构来表示隔离的集合,所述图形结构直接关联数据集合中的资源并且提供用单个操作检索关系数据。每个隔离的集合可以包括对该隔离的集合独特的资源标识符。替代地,隔离的集合可以包括被包括在一个或多个替代隔离的集合中的资源标识符。例如,如图2所示,集208可以包括资源标识符216、218、220和222,并且集210可以包括资源标识符220、222、224和226。资源标识符216、218、 220、222、224和226可以对应于和/或标识一个或多个资源的位置。如本文所使用的,资源标识符引用现有资源但其本身不是资源。示例性类型的资源标识符包括但不限于统一资源标识符(例如,统一资源定位符(URL)、统一资源名称(URN)等)、IP地址、存储器或存储地址等等。本领域技术人员将领会,在不脱离本公开内容的范围的情况下,本文公开的各个方面可以采用任何类型的标识符。识别资源的位置可以包括:使用例如正则表达式来解析资源标识符,将资源标识符的一个或多个部分提供给搜索实用程序,执行资源标识符等等。在各方面中,具有对数据集合的访问权限不保证对由被包括在每个数据集合中的资源标识符标识的资源的访问权限。例如,尽管用户可以是能够访问和操纵集208的,但是用户可能未被授权访问与集208中的资源标识符相对应的底层资源中的一者或多者。
资源提供者212和214可以被配置为存储一个或多个资源和/或提供对一个或多个资源的访问。如此,本文使用的资源提供者可以是数据存储、云服务提供者、客户端计算设备、服务器计算设备、设备的分布式系统(例如,企业网络)、应用、软件平台(例如,操作系统、数据库等)等等。在各方面中,资源提供者212和214可以是(或可以具有对其的访问权限) 各种不同的数据源,例如内容提供者、数据存储、各种应用数据集等。数据存储可以包括与一个或多个资源标识符相对应的一个或多个资源。例如,如图2所示,资源提供者212可以是包括各种不同类型的资源的数据存储,所述资源例如资源228(例如,文档1(D1))和资源230(例如,演示文稿2(P1)),并且资源提供者214可以是联系人管理应用,包括联系人资源232(例如,联系人1(C1))、234(例如,联系人2(C2))、236(例如,联系人3(C3))和238(例如,联系人4(C4))。在该示例中,资源标识符216可以对应于资源228;资源标识符218可以对应于资源230;资源标识符220可以对应于资源232;资源标识符222可以对应于资源234;资源标识符224可以对应于资源236;并且资源标识符226可以对应于资源238。
在一些方面中,资源提供者212和214(或与其相关联的资源)可以是集创建应用202和204可访问的。例如,集创建应用202和204可以访问资源提供者212和214以确定资源的存在和/或检索与资源相关联的信息(例如,资源元数据、资源位置、资源标识符、许可集、授权数据等)。在替代示例中,集创建应用202和204可能不具有对资源提供者212和214的访问权限。相反,资源提供者212和214可以例如向一个或多个设备或存储位置发布或广播资源和/或资源信息。然后,集创建应用202和204可以访问接收资源/资源信息的设备或存储位置,以确定资源的存在。在又一示例中,集创建应用202和204可以直接接收资源/资源信息。例如,用户可以使用集创建应用202和204可访问的接口来创建或上载一个或多个资源。在这样的方面中,所检索的资源/资源信息可以用于确定与可用资源中的一者或多者相对应的一组资源标识符。该组资源标识符可以用于创建一个或多个隔离的集合。如上所述,资源标识符可以是或包括用于其对应资源的持久URI。例如,资源标识符216可以包括用于实际文档(D1)228的URI。因此,在这样的示例中,用户能够从集中确定文档(D1)228的位置,并且取决于授权和访问限制,检索文档(D1)228。作为另一示例,如图2所示,资源提供者212可以由集创建应用202访问。集创建应用202可以确定资源提供者212至少包括资源228和230,并且可以针对资源中的每一者确定资源标识信息。基于所确定的资源标识信息,资源标识符216和218 可以分别应用/关联于资源228和230,并且提供给环境206。然后,环境 206可以使资源标识符216和218适格于到一个或多个隔离的集合中的包含分析(inclusionanalysis)。
图3A示出了资源标识符和对应关系的示例性的隔离的集合300。示例性的隔离的集合300包括资源标识符302、304、306、308、310、312和314,以及关系316、318、320、322、324和326。在各方面中,可以使用集合创建实用程序来生成和/或操纵隔离的集合300,所述集合创建实用程序可以作为如上所述的集创建应用的一部分而被包括。当以图3A中描绘的图形形式呈现时,每个资源标识符可以被称为“节点”,并且每个关系可以被称为“边”。集合创建实用程序还可以使用一个或多个规则集来识别资源和/或确定集合的资源类型,所述规则集可以包括根据语义网络技术定义的规则,所述语义网络技术例如资源描述框架(RDF)、RDF模式(RDFS)、SPARQL 协议和RDF查询语言(SPARQL)、网络本体语言(QWL)等。例如,隔离的集合300包括表示底层资源(在所描绘的示例中为“email789”)的资源标识符312。类似地,资源标识符304表示资源文档“Doc123”,并且资源标识符302表示资源任务“Task123”。被包括在隔离的集合300中的资源和关系中的每一者可以已由开发者通过集创建应用来断言。例如,开发者可以手动添加资源标识符和资源标识符之间的关系中的每一者。作为示例,开发者可以手动指示“task123”是“Doc123”上的任务,如由“taskOn”关系316在隔离的集合300中表示的。资源标识符和关系还可以由开发者所创建的外部机器人(bot)或应用断言。例如,可以对加载项(add-in)进行编程以监测浏览器或其他应用中的活动以跟踪应用的使用。基于应用的使用,加载项可以发送要被包括在隔离的集合300中的附加资源和关系。
与断言的资源标识符和关系形成对比,集合创建实用程序可以执行规则集以确定附加的关系和资源类型,在本文中被称为“推断关系”以及“推断资源标识符”或“推断资源类型”。例如,在执行了规则集时,集合创建实用程序可以确定资源标识符312表示电子邮件消息,并且资源标识符304 表示文档。下面更详细地讨论了推断关系和资源的生成。基于该确定,集合创建实用程序可以指派关系324(例如,“attachmentOn”)以定义资源标识符312与资源标识符304之间的关联。集合创建实用程序可以利用类似的方法来指派关系326(例如,“attachmentOn”)以定义资源标识符314与资源标识符306之间的关联。
隔离的集合300进一步描绘了资源标识符302与资源标识符304、306 和308以及资源标识符310相关联。集合创建实用程序可以确定资源标识符302表示要对标识符304、306和308执行的任务。基于该确定,集合创建实用程序可以指派关系316、318和320(例如,“taskOn”)以定义资源标识符302与资源标识符304、306和308之间的关联。集合创建实用程序可以进一步确定资源标识符310表示包括对资源标识符302的一个或多个方面的讨论的电子邮件(没有附件)。基于该确定,集合创建实用程序可以指派关系322(例如,“hasDiscussion”)以定义资源标识符302与资源标识符310之间的关联。
图3B-3E示出了可以用于遍历隔离的集合300的示例性查询模型。在各方面中,可以经由由集合创建实用程序提供的接口来执行查询。可以针对包括诸如资源标识符、资源类型、资源元数据、许可数据等的信息的一个或多个文件和/或目录执行查询。查询结果可以以图形形式可视化为一个或多个集合,例如隔离的集合300。例如,整个隔离的集合300数据集可以仅包括集合300中示出的那些元素(例如,资源标识符302、304、306、308、 310、312和314以及关系316、318、320、322、324和326)。在该特定示例中,资源标识符312可以表示包括主题“API设计”的电子邮件,并且资源标识符314可以表示包括主题“集”的电子邮件。可以针对隔离的集合 300执行查询“http://.../collection300/task123”。查询结果可以包括资源标识符302并且如所示的被可视化。在图3C中,查询已被修改为“http://.../collection300/task123?$expand=taskOn”并且针对隔离的集合300 来执行。查询结果可以包括资源标识符302、304、306和308以及关系316、 318和320,并且如所示的被可视化。在图3D中,查询已被修改为“http://.. Jcollection300/task123?$expand=taskOn($expand=attachmentOn)”并且针对隔离的集合300执行。查询结果可以包括资源标识符302、304、306、308、 312和314以及关系316、318、320、324和326,并且如所示的被可视化。在图3E中,查询已被修改为“http://.. Jcollection300/task123?($expand=taskOn($expand=attachmentOn($filter=Subje c t eq'Sets'))”并且针对隔离的集合300执行。由于仅资源标识符包括主题“集”,因此查询结果可以包括资源标识符302、306和314以及关系318 和326,并且如所示的被可视化。
图4示出了委托授权以访问隔离的集合的示例性方法400。在各方面中,方法400可以由诸如图1的系统100之类的示例性系统执行。在示例中,方法400可以在包括至少一个处理器的设备上执行,所述处理器被配置为存储和执行操作、程序或指令。然而,方法400不限于这样的示例。在其他示例中,方法400可以对用于提供委托授权的应用或服务执行。在至少一个示例中,方法400可以由分布式网络的一个或多个组件(例如,网络服务/分布式网络服务(例如,云服务))执行(例如,计算机实现的操作)。
示例性方法400开始于操作402处,其中,用于访问一个或多个隔离的集合(例如,集208和210)的请求可以由集合创建应用/服务(例如,集创建应用202和204)接收,以用于开发和探索隔离的集合。在各方面中,集合创建应用/服务可以安装在诸如客户端设备102A-C之类的计算设备上或可由其访问。集合创建应用/服务可以具有对包括信息的一个或多个文件或目录的访问权限,所述信息例如资源标识符、资源类型、资源元数据、关系信息、一个或多个规则集、一个或多个统计或预测模型、许可数据、授权信息、查询数据、一个或多个查询模型、图形组件、资源映射数据等。集合创建应用/服务可以是可经由接口访问的,所述接口例如图形用户接口、命令行接口、API等。在示例中,集合创建应用/服务可以经由接口用于接收生成和/或访问一个或多个隔离的集合和/或相关联信息的请求。请求可以采用查询形式,如上面关于图3B-E所述的。在另一示例中,请求可以采用对菜单、菜单项、对象、性质/属性(property/attribute)、图形或图形对象的一部分等的选择的形式。请求可以包括请求数据,例如客户端数据(例如,用户名、口令、设备名称、IP地址、认证和/或授权指示等)、隔离集合数据、文件系统位置等。隔离的集合可以包括来自上述文件或目录的一个或多个部分的资源标识符、关系信息和/或者元数据。隔离的集合可能受到各种安全许可或边界的约束。在示例中,每个隔离的集合可以包含其自己的安全许可集。安全许可可以提供对隔离的集合的不同程度的访问。例如,第一许可类别可以提供对隔离的集合和对应元数据的完全控制,第二许可类别可以提供对隔离的集合的内容的读/写访问,但是不提供对对应的元数据的访问,并且第三许可类别可以仅提供对隔离的集合的内容的读访问,但是不提供对对应的元数据的访问。可以在访问隔离的集合时以及在访问隔离的集合所涉及的文件或目录时检查安全许可。安全许可可以存储为隔离的集合的元数据的部分。在各方面中,对隔离的集合的访问不一定意味着从隔离的集合访问由隔离的集合中的资源标识符表示的底层资源。意即,具有对隔离的集合中的资源标识符的访问权限的用户或组可能无法从隔离的集合访问底层资源。在这样的方面中,隔离的集合的安全许可可以是单独的,并且不同于与隔离的集合相关联的底层资源的安全许可。
在操作404处,一个或多个底层资源可以被定位。在各方面中,集合创建应用/服务可以搜索和/或评估隔离的集合(或对应的文件/目录)以识别一个或多个资源标识符。搜索可以包括一个或多个模式匹配技术、属性或性质分析等。搜索可以生成资源标识符的列表。资源标识符的列表可以用于确定与资源列表中的资源相对应的底层资源的物理或逻辑位置。在示例中,可以通过以下方式来确定底层资源的位置:使用一个或多个通信协议 (例如,HTTP、FTP等)来调用资源标识符,将资源标识符提供给搜索/ 查找实用程序,针对存储的/可访问的资源的列表查询资源提供者,针对发送的/存储的资源和位置的列表查询网络设备等。例如,集合创建应用/服务可以使对所识别的资源标识符的HTTP调用向搜索引擎做出。搜索引擎可以通过提供底层资源、底层资源的位置、对资源提供者的访问、授权质询等来进行响应。
在操作406处,可以确定对底层资源的访问。在各方面中,集合创建应用/服务可以使用请求数据的一个或多个部分来确定请求者是否与所标识的资源提供者或数据存储(例如,资源提供者212和214)相关联。例如,集合创建应用/服务可以使用在请求数据中提供的账户信息(例如,用户名和/或用户凭证)来确定资源提供者或数据存储是否关联于请求者的用户账户(例如,请求对隔离的集合的访问的用户)相关联。确定可以包括:将账户信息提供给单点登录(SSO)访问控制系统/实用程序,将账户信息提供给授权提供者,将来自集合创建应用/服务的账户信息与来自资源提供者的账户信息进行比较,将请求数据中的凭证应用于资源提供者等等。在一些方面中,如果确定请求者与资源提供者相关联,则集合创建应用/服务可以生成授权和/或认证指示。在其他方面中,如果确定请求者与资源提供者相关联,则集合创建应用/服务可以确定请求者是否被授权或已被认证,以从资源提供者/在资源提供者上访问底层资源。该确定可以包括:识别一个或多个认证和/或授权指示(例如,令牌、凭证、许可集等),分析一个或多个授权事件/访问事件等。在特定示例中,集合创建应用/服务可以从资源提供者检索所识别的认证/授权指示(或其近似副本)。
在操作408处,可以提供对隔离的集合的访问。在各方面中,集合创建应用/服务可以至少部分地基于操作406的一个或多个确定来提供对隔离的集合的访问。例如,确定可以包括对若干因素的分析,例如,请求者是否被确定为被授权访问具有对底层资源的访问权限的资源提供者,用于访问底层资源的认证/授权指示是否已被识别,认证/授权指示的到期日期/时间,请求者对资源或资源提供者的最近期的访问日期/时间,请求者对资源提供者的最近期的访问日期/时间等。在示例中,集合创建应用/服务可以基于单个确定或基于多个确定来提供或阻止对隔离的集合的访问。通常,如果集合创建应用/服务确定提供对隔离的集合的访问,则仅向请求者提供对所请求的隔离的集合的访问。然而,在一些方面中,如果集合创建应用/服务确定提供对隔离的集合的访问,则还可以向请求者提供对一个或多个附加的隔离的集合的访问,所述一个或多个附加的隔离的集合包括确定了对其的访问的底层资源的资源标识符。
在至少一个方面中,集合创建应用/服务可以执行访问冲突解决。例如,隔离的集合可以至少包括第一资源标识符和第二资源标识符。集合创建应用/服务可以确定请求者被授权访问与第一资源标识符相对应的底层资源,但是未被授权访问与第二资源标识符相对应的底层资源。作为结果,集合创建应用/服务可以应用一组访问解析规则。如果确定请求者具有对与隔离的集合中的资源标识符相对应的底层资源中的至少一者的访问权限,则访问解析规则可以提供例如其中请求者被提供了对整个隔离的集合的访问的方法。作为另一示例,访问解析规则可以提供一种方法,其中,如果确定请求者不具有对与隔离的集合中的资源标识符相对应的所有底层资源的访问权限,则阻止请求者访问隔离的集合。作为又一示例,访问解析规则可以提供混合方法,其中,请求者仅限于访问与请求者具有对其的访问权限的底层资源相对应的隔离的集合的那些部分。
图5示出了确定对隔离的集合的底层资源的访问的示例性方法500。示例性方法500开始于操作502处,其中,可以询问资源提供者。在各方面中,诸如集创建应用202和204之类的集合创建应用/服务可以询问资源提供者,例如资源提供者212和214。询问可以旨在确定请求者(例如,请求访问隔离的集合的用户)对资源提供者和/或底层资源的访问。询问可以包括访问资源提供者的授权数据和/或用户访问事件数据、认证令牌存储库和/ 或资源提供者的一组资源许可。例如,集合创建应用/服务可以分析资源提供者上的请求者账户的许可集。分析可以包括确定请求者是否被授权或已经被认证,以访问资源提供者。作为另一示例,集合创建应用/服务可以从资源提供者请求安全令牌,所述安全令牌授权对底层资源的访问。本文使用的安全令牌可以指代用于存储密码数据并以电子方式证明用户身份的数字对象。安全令牌可以由安全令牌发布机构的资源提供者存储。作为又一示例,集合创建应用/服务可以资源提供者搜索授权文件,以确定用户登录和/或认证的位置和时间、用户名、访问时间、设备信息、认证提供者等。
在决策操作器504处,可以执行或以其他方式确定请求者的授权。在各方面中,集合创建应用/服务可以至少使用操作502的询问信息来确定请求者是否被授权访问资源提供者和/或底层资源。例如,集合创建应用/服务可以使用通过询问资源提供者而识别的安全令牌来确定请求者对资源提供者可访问的一个或多个底层资源的访问已被授权。如果集合创建应用/服务确定对于请求者该访问被授权,则流程可以前进到操作506。在操作506处,集合创建应用/服务可以接收或生成对所确定的授权的指示。例如,集合创建应用/服务可以从资源提供者、安全令牌存储库或令牌发布机构取回安全令牌(或安全令牌的副本)。作为另一示例,集合创建应用/服务可以将请求者的资源提供者许可(或其指示)复制/存储到包括与底层资源相对应的数据的隔离的集合的元数据。如果集合创建应用/服务确定访问未针对请求者被授权,则流程可以前进到操作508。
在操作508处,请求者的访问可以被授权。在各方面中,如果集合创建应用/服务确定请求者(或请求者的访问)当前未被授权,则集合创建应用/服务可以尝试认证请求者或请求者对底层资源的访问。例如,集合创建应用/服务可以请求资源提供者生成(或更新)对于请求者的授权。请求可以包括客户端数据(例如,用户名、口令、设备名称、IP地址、认证/授权指示等)、资源标识符、到期日期/时间、过期的凭证/授权等。资源提供者接收授权请求可以使授权事件发起。在一些示例中,授权事件可以包括注册过程,其中,请求者凭证被提供给凭证服务提供者。凭证服务提供者可以执行验证过程以验证请求者的身份。授权事件还可以包括安全令牌(或凭证)的创建/更新。安全令牌可以包括属性/性质,例如令牌标识符、用户 ID、令牌类型、生存时间(TTL)值、特权集等。安全令牌可以由令牌生成机构、资源提供者或SSO访问控制系统/实用程序发送和/或存储。
在决策操作器510处,可以确定授权事件的成功。在各方面中,集合创建应用/服务可以监测或维护在操作508中描述的授权事件。如果集合创建应用/服务确定授权事件成功(例如,有效授权已被识别),则流程前进到操作506,如上所述。如果集合创建应用/服务确定授权事件不成功,则流程前进到操作512。在操作512处,集合创建应用/服务可以接收或生成关于授权事件不成功的指示。集合创建应用/服务可以使用所接收/生成的指示来确定是否提供对一个或多个隔离的集合的访问。
图6示出了有条件地授权对隔离的集合的访问的示例性方法600。示例性方法600开始于操作602处,其中,用于访问一个或多个隔离的集合(例如,集208和210)的请求可以由集合创建应用/服务(例如,集创建应用 202和204)接收,以用于开发和探索隔离的集合。在各方面中,集合创建应用/服务可以安装在诸如客户端设备102A-C之类的计算设备上或可由其访问。集合创建应用/服务可以具有对包括信息的一个或多个文件或目录的范文权限,所述信息例如资源标识符、资源类型、资源元数据、关系信息、一个或多个规则集、一个或多个统计或预测模型、许可数据、授权信息、查询数据、一个或多个查询模型、图形组件、资源映射数据等。集合创建应用/服务可以是可经由接口访问的,所述接口例如图形用户接口、命令行接口、API等。在示例中,集合创建应用/服务可以经由接口接收用于生成和/或访问一个或多个隔离的集合和/或相关联的信息的请求。请求可以采用查询形式,如上面关于图3B-E描述的。在另一示例中,请求可以采用对菜单、菜单项、对象、属性/性质、图形或图形对象的一部分等的选择的形式。请求可以包括请求数据,例如客户端数据(例如,用户名、口令、设备名称、IP地址、授权指示等)、隔离的集合数据、文件系统位置等。隔离的集合可以包括来自上述文件或目录的一个或多个部分的资源标识符、关系信息和/或元数据。隔离的集合可能受到各种安全许可或边界的约束。在示例中,每个隔离的集合可以包含其自己的安全许可集。安全许可可以提供对隔离的集合和/或与隔离的集合相关联的个别资源的不同程度的访问。例如,第一许可类别可以提供对隔离的集合和对应元数据的完全控制,第二许可类别可以提供对隔离的集合的内容的读/写访问,但是不提供对对应元数据的访问,并且第三许可类别可以仅提供对隔离的集合的内容的读访问,但是不提供对对应元数据的访问。可以在访问隔离的集合时以及在访问隔离的集合所涉及的文件或目录时检查安全许可。安全许可可以存储为隔离的集合的元数据的部分。在各方面中,对隔离的集合的访问不一定意味着从隔离的集合对由隔离的集合中的资源标识符表示的底层资源的访问。意即,具有对隔离的集合中的资源标识符的访问权限的用户或组可能无法从隔离的集合访问底层资源。在这样的方面中,隔离的集合的安全许可可以是独立的,并且不同于与隔离的集合相关联的底层资源的安全许可。
在操作604处,可以监测条件集。在各方面中,条件集可以与隔离的集合相关联。条件集可以包括一个或多个条件,以用于例如有条件地授权对隔离的集合的访问。条件可以在隔离的集合的内部、在隔离的集合外部、或其某种组合。集合创建应用/服务可以具有对条件集的访问权限。例如,资源提供者可以将条件集发布到集合创建应用/服务可访问的位置。作为另一示例,资源提供者可以向集合创建应用/服务注册条件集。作为又一示例,资源提供者可以向服务注册条件集以用于监测条件。服务可以是可操作以组织和/或监测条件,并且可以充当针对集合创建应用/服务监测访问点的单个条件。作为又一示例,可以将条件集手动录入到集合创建应用/服务中。在各方面中,条件集可以由集合创建应用/服务、一个或多个资源提供者或条件监测服务来监测。监测条件集可以包括向计算设备(例如,客户端设备102A-C)的一个或多个传感器注册条件集中一个或多个条件。例如,可以向移动设备的GPS注册用于检测进入到特定地理位置中的条件。监测条件集还可以包括向一个或多个应用或服务注册一个或多个条件。例如,可以向基于云的文字处理应用注册用于检测文件的修改的条件。监测条件集还可以包括存储用于成功完成条件集的标准。例如,条件集的完成标准可以指示必须满足条件集中的四个条件中的三个条件以完成条件集。
在操作606处,可以确定条件集的状态。在各方面中,条件集中的一个或多个条件可以由条件评估实体(例如,集合创建应用/服务、条件评估服务、一个或多个资源提供者等)来评估以确定条件集是否已被满足/完成。评估条件集可以包括轮询数据源(例如,资源提供者、资源、应用、服务、传感器、认证系统、基于声明的身份系统等)以接收传感器数据、条件状态、数据更新等。本文使用的基于声明的身份系统可以指代这样的系统,其中,描述与系统中的实体相关联的能力的声明被打包成一个或多个令牌并被用于访问一个或多个资源。轮询可以以指定的间隔、响应于某些事件或者随机地手动执行。替代地,可以由数据源将传感器数据、条件状态和/ 或对其的更新推送到条件评估实体。评估条件集还可以包括确定条件集或一个或多个条件是否已被满足。在示例中,这样的确定可以包括将所接收的轮询信息与一个或多个门限进行比较、执行模式匹配技术、评估许可集、评估组成员、将轮询信息提供给机器学习模型、分析用户信号(例如,GPS 坐标、IP地址、日期/时间、用户输入等)等等。
在操作608处,可以提供对隔离的集合的访问。在各方面中,集合创建应用/服务可以基于一个或多个被满足的条件或条件集来认证对隔离的集合的访问。例如,集合创建应用/服务可以接收关于条件集中的每个条件已被满足的指示。作为结果,集合创建应用/服务可以认证对所请求的隔离的集合的访问。作为另一示例,集合创建应用/服务可以接收关于条件集中的条件中的少于所有的条件已被满足的指示。作为结果,集合创建应用/服务可以不认证对所请求的隔离的集合的访问和/或将对不完整条件的指示提供给请求者。通常,如果集合创建应用/服务确定提供对隔离的集合的访问,则仅向请求者提供对所请求的集的访问。然而,在一些方面中,如果集合创建应用/服务确定提供对隔离的集合的访问,则还可以向请求者提供对包括针对其访问被确定的底层资源的资源标识符的一个或多个附加的隔离的集合的访问。在至少一个方面中,集合创建应用/服务可以执行访问冲突解决,如上面关于图4所描述的。例如,对隔离的集合的访问可以由第一条件集和第二条件集来管理。集合创建应用/服务可以确定请求者已成功完成第一条件集,但尚未完成第二条件集。作为结果,集合创建应用/服务可以应用解决这种冲突的访问解析规则集。
图7示出了确定用于访问隔离的集合的条件是否已被满足的示例性方法700。示例性方法700开始于操作702处,其中,用于访问隔离的集合的条件集被识别。在各方面中,条件集可以包括一个或多个条件并且与用于满足条件集的标准相关联。例如,公司ABC可以建立用于访问隔离的集合的条件集。条件集可包括以下条件:1)请求者是“管理员(admin)”组的成员,以及2)必要的培训课程已完成;以及3)请求者是“HR”组的成员。对应的条件集满足标准可以指示必须完成条件1)或者必须完成条件2)和 3)。
在操作704处,可以轮询条件。在各方面中,条件评估实体可以轮询一个或多个数据源(例如,资源提供者、资源、应用、服务、传感器等) 以针对条件集中的条件接收轮询数据(例如,传感器数据、事件数据、条件状态等)。例如,可以注册创建应用/服务针对账户和/或许可数据轮询公司ABC账户信息数据库。轮询公司ABC数据库可以包括在接收到用于访问隔离的集合的请求时发送包括请求者的账户名的查询语句。创建应用/服务还可以被配置为解析来自公司DEF网站的数据。公司DEF可以在每周二和周五早上将培训课程信息(例如,课程名称、完成状态、分数、完成日期、注册者信息等)发布到网站。
在决策操作706处,可以评估条件。在各方面中,条件评估实体可以确定轮询数据是否满足一个或多个条件。该确定可以包括将所接收的轮询数据与一个或多个门限进行比较、执行模式匹配技术、评估许可集、评估组参与者、将轮询信息提供给机器学习模型等。例如,创建应用/服务可以使用模式匹配技术来针对匹配(或近似匹配)请求者(例如,请求对隔离的集合的用户的访问)的用户名的用户名搜索从公司ABC的数据库中检索的账户信息。另外,创建应用/服务可以将公司DEF用于发布训练课程信息的网站的URL提供给机器学习模型。机器学习模型可以分析网站以确定请求者是否在培训课程毕业生和/或参与者的列表中。
在各方面中,如果条件评估实体确定条件集中的一个或多个条件未被满足,则流程前进到操作708。在操作708处,可以提供/记录关于条件集尚未被满足的指示。在各方面中,条件评估实体可以更新条件集以反映最近期的监测/轮询周期的结果。条件评估实体还可以将对一个或多个失败的条件的更新提供给请求者。例如,如果创建应用/服务确定请求者在“HR”组中,但尚未通过必要的培训课程,则创建应用/服务可以将未完成的培训课程条件报告给请求者。然而,如果条件评估实体确定条件集中的所有条件被满足,则流程前进到710。在操作710处,可以提供/记录关于条件集已被满足的指示。在各方面中,条件评估实体可以更新条件集并将成功指示符提供给请求者。例如,如果创建应用/服务确定请求者在“管理员”组中,但尚未通过必要的培训课程,则创建应用/服务可以向请求者报告条件集完成。在至少示例中,创建应用/服务还可以将条件集中的每个条件的状态提供给请求者。
图8-11和相关联的描述提供了其中可以实践本公开内容的各方面的各种操作环境的讨论。然而,关于图8-11示出和讨论的设备和系统是出于示例和说明的目的,而不是限制可以用于实践本文所述的公开内容的各方面的大量计算设备配置。
图8是示出可以用其实践本公开内容的各方面的计算设备800的物理组件(例如,硬件)的框图。下面描述的计算设备组件可以适合于上述计算设备,包括客户端计算设备102A-C和服务器计算设备106A-C。在基本配置中,计算设备800可以包括至少一个处理单元802和系统存储器804。取决于计算设备的配置和类型,系统存储器804可以包括但不限于易失性存储装置(例如,随机存取存储器)、非易失性存储装置(例如,只读存储器)、闪速存储器或这样的存储器的任何组合。系统存储器804可以包括操作系统805和适合于运行软件应用820的一个或多个程序模块806,例如由本文描述的系统支持的一个或多个组件。作为示例,系统存储器804可以存储隔离的集合数据(例如,资源标识符、资源元数据、关系信息、断言/ 推断的关系、图形映射信息、查询数据、规则集(例如,推理规则)、授权信息、认证信息等)以及用于针对隔离的集合执行委托认证的指令。例如,操作系统805可以适合于控制计算设备800的操作。此外,本公开内容的实施例可以结合图形库、其他操作系统或任何其他应用程序来实践,并且不限于任何特定的应用或系统。该基本配置在图8中由虚线808内的那些组件示出。计算设备800可以具有附加特征或功能。例如,计算设备800 还可以包括附加数据存储设备(可移动和/或不可移动的),例如磁盘、光盘或磁带。图8中由可移动存储设备809和不可移动存储设备810示出了这样的附加存储装置。
如上所述,多个程序模块和数据文件可以存储在系统存储器804中。当在处理单元802上执行时,程序模块806(例如,应用820)可以执行包括但不限于如本文所述的各方面的处理。可以根据本公开内容的各方面来使用的其他程序模块可以包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示文稿应用、绘图或计算机辅助应用程序等。
此外,本公开内容的实施例可以在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路中、或者在包含电子元件或微处理器的单个芯片上实践。例如,本公开内容的实施例可以经由片上系统(SOC)来实践,其中,图8所示的组件中的每个或许多组件可以集成在单个集成电路上。这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,所有这些都作为单个集成电路集成(或“烧制”)到芯片衬底上。当经由SOC操作时,本文描述的关于客户端用于切换协议的能力的功能可以经由与单个集成电路 (芯片)上的计算设备800的其他组件集成的专用逻辑来操作。还可以使用能够执行逻辑运算的其他技术来实践本公开内容的实施例,所述逻辑运算例如与(AND)、或(OR)以及非(NOT),所述技术包括但不限于机械、光学、流体和量子技术。此外,本公开内容的实施例可以在通用计算机内或任何其他电路或系统中实践。
计算设备800还可以具有一个或多个输入设备812,例如键盘、鼠标、笔、声音或语音输入设备、触摸和/或滑动输入设备等。还可以包括诸如显示器、扬声器、打印机等的输出设备814。上述设备是示例,并且可以使用其他设备。计算设备800可以包括允许与其他电子设备850通信的一个或多个通信连接816。合适的通信连接816的示例包括但不限于射频(RF) 发射器、接收器和/或收发器电路;通用串行总线(USB)、并行和/或串行端口。
本文使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构或程序模块之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器804、可移动存储设备809和不可移动存储设备810都是计算机存储介质示例(例如,存储器存储装置)。计算机存储介质可包括 RAM、ROM、电可擦除只读存储器(EEPROM)、闪速存储器或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者可以用于存储信息并且可以由计算设备800访问的任何其他制品。任何这样的计算机存储介质可以是计算设备800的一部分。计算机存储介质不包括载波或其他传播或调制的数据信号。
通信介质可以由计算机可读指令、数据结构、程序模块或调制的数据信号(例如,载波或其他传输机制)中的其他数据来体现,并且包括任何信息递送介质。术语“调制的数据信号”可以描述其一个或多个特性以对信号中的信息进行编码的方式设置或改变的信号。通过示例而非限制的方式,通信介质可以包括有线介质(例如,有线网络或直接有线连接)以及无线介质(例如,声学、射频(RF)、红外和其他无线介质)。
图9A和图9B示出了可以用其实践本公开内容的实施例的移动计算设备900,例如移动电话、智能电话、可穿戴计算机(例如,智能手表)、平板计算机、膝上型计算机等。在一些方面中,客户端可以是移动计算设备。参考图9A,示出了用于实现这些方面的移动计算设备900的一个方面。在基本配置中,移动计算设备900是具有输入元件和输出元件二者的手持式计算机。移动计算设备900通常包括显示器905和允许用户将信息录入到移动计算设备900中的一个或多个输入按钮910。移动计算设备900的显示器905也可以充当输入设备(例如,触摸屏显示器)。如果被包括,则可选的侧输入元件915允许进一步的用户输入。侧输入元件915可以是旋转开关、按钮或任何其他类型的手动输入元件。在替代方面中,移动计算设备 900可以包括更多或更少的输入元件。例如,在一些实施例中,显示器905 可以不是触摸屏。在又一替代实施例中,移动计算设备900是便携式电话系统,例如蜂窝电话。移动计算设备900还可以包括可选的按键板935。可选的按键板935可以是物理按键板或在触摸屏显示器上生成的“软”按键板。在各种实施例中,输出元件包括用于显示图形用户接口(GUI)的显示器905、视觉指示器920(例如,发光二极管)和/或音频换能器925(例如,扬声器)。在一些方面中,移动计算设备900包括振动换能器,以用于向用户提供触觉反馈。在又一方面中,移动计算设备900包括输入和/或输出端口,例如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,HDMI端口),以用于将信号发送到外部设备或从外部设备接收信号。
图9B是示出移动计算设备的一个方面的架构的框图。意即,移动计算设备900可以包括系统(例如,架构)902以实现一些方面。在一个实施例中,系统902被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏和媒体客户端/播放器) 的“智能电话”。在一些方面中,系统902被集成为计算设备,例如集成的个人数字助理(PDA)和无线电话。
一个或多个应用程序966可以被加载到存储器962中,并且在操作系统964上运行或与操作系统964相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传送程序等。系统902还包括存储器962内的非易失性存储区域968。非易失性存储区域968可以用于存储在系统902掉电的情况下不应丢失的持久性信息。应用程序966可以使用非易失性存储区域968中的信息并在非易失性存储区域968中存储信息,所述信息例如由电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也驻留在系统902上,并被编程为与驻留在主计算机上的对应同步应用交互,以使存储在非易失性存储区域968中的信息与存储在主计算机处的对应信息保持同步。应当领会,其他应用可以被加载到存储器962中并在本文描述的移动计算设备900上运行(例如,搜索引擎、提取器模块、相关性排名模块、答案评分模块等)。
系统902具有电源970,其可以被实现为一个或多个电池。电源970 还可以包括外部电源,例如为电池补电或再充电的AC适配器或电动对接支架。
系统902还可以包括执行发送和接收射频通信的功能的无线接口层 972。无线接口层972促进系统902与“外界”之间的经由通信运营商或服务提供商的无线连接。在操作系统964的控制下进行去往和来自无线接口层972的传输。换言之,由无线接口层972接收的通信可以经由操作系统 964散布到应用程序966,反之亦然。
视觉指示器920可以用于提供视觉通知,并且/或者音频接口974可以用于经由音频换能器925产生可听通知。在所示实施例中,视觉指示器920 是发光二极管(LED),并且音频换能器925是扬声器。这些设备可以直接耦合到电源970,以使得当它们被激活时,即使处理器(例如,处理器960 和/或专用处理器961)和其他组件可能关闭以节省电池电力,它们也在由通知机制规定的持续时间内保持开启。LED可以被编程为无限期地保持开启,直到用户采取行动来指示设备的上电状态。音频接口974用于将可听信号提供给用户并从用户接收可听信号。例如,除了耦合到音频换能器925 之外,音频接口974还可以耦合到麦克风以接收可听输入,例如以促进电话对话。根据本公开内容的实施例,麦克风还可以充当音频传感器以促进对通知的控制,如下所述。系统902还可以包括视频接口976,其实现了车载相机930的用于记录静止图像、视频流等的操作。
实现系统902的移动计算设备900可以具有附加的特征或功能。例如,移动计算设备900还可以包括附加的数据存储设备(可移动和/或不可移动的),例如磁盘、光盘或磁带。这样的附加存储装置在图9B中由非易失性存储区域968示出。
由移动计算设备900生成或捕获并经由系统902存储的数据/信息可以本地存储在移动计算设备900上(如上所述),或者数据可以存储在任何数量的存储介质上,所述存储介质可以由设备经由无线接口层972或经由移动计算设备900和与移动计算设备900相关联的单独计算设备(例如,诸如互联网之类的分布式计算网络中的服务器计算机)之间的有线连接访问。如应当领会的,可以经由无线接口层972或经由分布式计算网络经由移动计算设备900访问这样的数据/信息。类似地,可以在计算设备之间容易地传送这样的数据/信息以用于根据公知的数据/信息传送和存储手段(包括电子邮件和协作数据/信息共享系统)来存储和使用。
图10示出了用于处理在计算系统处从远程源(例如,个人计算机1004、平板计算设备1006或移动计算设备1008)接收的数据的系统的架构的一个方面,如上所述。在服务器设备1002处显示的内容可以存储在不同的通信信道或其他存储类型中。例如,可以使用目录服务1022、门户网站1024、邮箱服务1026、即时消息存储1028或社交网络站点1030来存储各种文档。隔离的集合应用1021可以由与服务器设备1002通信的客户端采用,并且/ 或者隔离的集合应用1020可以由服务器设备1002采用。服务器设备1002 可以通过网络1015提供去往和来自诸如个人计算机1004、平板计算设备 1006和/或移动计算设备1008(例如,智能电话)之类的客户端计算设备。通过示例的方式,上述计算机系统可以体现在个人计算机1004、平板计算设备1006和/或移动计算设备1008(例如,智能电话)中。除了接收可用于在图形发起系统处进行预处理或在接收计算系统处进行后处理的图形数据之外,计算设备的这些实施例中的任一者还可以从存储1016获得内容。
图11示出了可以执行本文公开的一个或多个方面的示例性平板计算设备1100。另外,本文描述的方面和功能可以在分布式系统(例如,基于云的计算系统)上操作,其中,应用功能、存储器、数据存储和检索以及各种处理功能可以通过分布式计算网络(例如,互联网或内联网)彼此远程操作。各种类型的用户接口和信息可以经由机载计算设备显示器或经由与一个或多个计算设备相关联的远程显示单元来显示。例如,可以在墙面上显示和交互各种类型的用户接口和信息,在所述墙面上投影了各种类型的用户接口和信息。与可以用其实践本发明的实施例的多个计算系统的交互包括键击输入、触摸屏输入、语音或其他音频输入、手势输入,其中,相关联的计算设备配备有用于捕获和解释用于控制计算设备的功能的用户手势的检测(例如,相机)功能等。
例如,以上参考根据本公开内容的各方面的方法、系统和计算机程序产品的框图和/或操作说明来描述了本公开内容的各方面。框中记录的功能/ 动作可以不按任何流程图所示的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能/动作。
本申请中提供的一个或多个方面的描述和说明不旨在以任何方式限制或限定本公开内容的范围。本申请中提供的方面、示例和细节被认为足以传达拥有(possession)并使其他人能够制造和使用所要求保护的公开内容的最佳模式。所要求保护的公开内容不应被解释为限于本申请中提供的任何方面、示例或细节。无论是组合地还是单独地被示出和描述,各种特征 (结构和方法的)都旨在选择性地被包括或省略以产生具有特定特征集的实施例。已经提供了对本申请的描述和说明,本领域技术人员可以设想落入在本申请中体现的总体发明构思的更广泛方面的精神内的变型、修改和替代方面,其不脱离所要求保护的公开内容的更广泛的范围。
Claims (10)
1.一种用于委托授权以访问图形数据库的系统,包括:
至少一个处理器;以及
存储器,其耦合到所述至少一个处理器,所述存储器包括计算机可执行指令,所述计算机可执行指令当由所述至少一个处理器执行时,执行图形数据库方法,所述方法包括:
从请求者接收用于访问包括资源标识符的图形数据库的请求,其中,对所述图形数据库的访问是基于第一安全许可集的;
定位与所述资源标识符相对应的底层资源,其中,对所述底层资源的访问是基于第二安全许可集的;
确定所述请求者是否满足所述第二安全许可集,其中,确定所述请求者是否满足所述第二安全许可集包括将与所述请求者相关联的凭证发送到与所述底层资源相关联的资源提供者;以及
当所述请求者满足所述第一安全许可集而不满足所述第二安全许可集时,提供对所述图形数据库的访问而不提供对所述底层资源的访问。
2.如权利要求1所述的系统,其中,所述请求由包括接口的应用接收,其中,所述接口可操作以实现对一个或多个图形数据库的开发和导航。
3.如权利要求1所述的系统,其中,定位底层资源包括以下各项中的至少一项:
使用一个或多个通信协议来执行对所述资源标识符的调用;
将所述资源标识符提供给搜索实用程序;
针对可访问资源的列表查询资源提供者;以及
针对资源位置的列表查询网络设备。
4.如权利要求1所述的系统,其中,确定对所述底层资源的访问是否被授权包括将关联于所述请求者的账户信息与关联于单点登录(SSO)系统的账户信息进行比较。
5.如权利要求1所述的系统,其中,确定对所述底层资源的访问是否被授权包括将关联于所述请求者的账户信息与关联于资源提供者的账户信息进行比较。
6.如权利要求1所述的系统,其中,确定对所述底层资源的访问是否被授权包括以下各项中的至少一项:识别授权指示,分析一个或多个授权事件,以及分析许可集。
7.如权利要求1所述的系统,其中,所述图形数据库包括其自己的安全许可集,以使得提供对所述图形数据库的访问不另外提供对包括所述资源标识符的单独的图形数据库的访问。
8.如权利要求1所述的系统,还包括:当确定了对所述底层资源的访问未被授权时,尝试认证所述访问,其中,尝试认证所述访问包括请求令牌发布机构提供有效授权指示并且将所述有效授权指示提供给一个或多个资源提供者。
9.一种用于委托授权以访问图形数据库的方法,所述方法包括:
从请求者接收用于访问包括资源标识符的图形数据库的请求,其中,对所述图形数据库的访问是基于第一安全许可集的;
定位与所述资源标识符相对应的底层资源,其中,对所述底层资源的访问是基于第二安全许可集的;
确定所述请求者是否满足所述第二安全许可集,其中,确定所述请求者是否满足所述第二安全许可集包括将与所述请求者相关联的凭证发送到与所述底层资源相关联的资源提供者;以及
当所述请求者满足所述第一安全许可集而不满足所述第二安全许可集时,提供对所述图形数据库的访问而不提供对所述底层资源的访问。
10.一种存储计算机可执行指令的硬件设备,所述计算机可执行指令当被执行时使计算系统执行方法,所述方法包括:
从请求者接收用于访问包括资源标识符的图形数据库的请求,其中,对所述图形数据库的访问是基于第一安全许可集的;
定位与所述资源标识符相对应的底层资源,其中,对所述底层资源的访问是基于第二安全许可集的,并且其中,定位底层资源包括以下各项中的至少一项:
使用一个或多个通信协议来执行对所述资源标识符的调用;
将所述资源标识符提供给搜索实用程序;
针对可访问资源的列表查询资源提供者;以及
针对资源位置的列表查询网络设备;
确定对所述底层资源的访问是否被授权,其中,确定对所述底层资源的访问是否被授权包括将与所述请求者相关联的凭证发送到与所述底层资源相关联的资源提供者;以及
当所述请求者满足所述第一安全许可集而不满足所述第二安全许可集时,提供对所述图形数据库的访问而不提供对所述底层资源的访问。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111464118.6A CN114143097A (zh) | 2016-11-04 | 2017-11-02 | 用于隔离的集合的委托授权方法及系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/344,229 | 2016-11-04 | ||
US15/344,229 US10924467B2 (en) | 2016-11-04 | 2016-11-04 | Delegated authorization for isolated collections |
PCT/US2017/059623 WO2018085472A1 (en) | 2016-11-04 | 2017-11-02 | Delegated authorization for isolated collections |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111464118.6A Division CN114143097A (zh) | 2016-11-04 | 2017-11-02 | 用于隔离的集合的委托授权方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109891851A CN109891851A (zh) | 2019-06-14 |
CN109891851B true CN109891851B (zh) | 2021-12-14 |
Family
ID=60327412
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111464118.6A Pending CN114143097A (zh) | 2016-11-04 | 2017-11-02 | 用于隔离的集合的委托授权方法及系统 |
CN201780067109.9A Active CN109891851B (zh) | 2016-11-04 | 2017-11-02 | 用于隔离的集合的委托授权方法及系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111464118.6A Pending CN114143097A (zh) | 2016-11-04 | 2017-11-02 | 用于隔离的集合的委托授权方法及系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10924467B2 (zh) |
EP (1) | EP3535944B1 (zh) |
CN (2) | CN114143097A (zh) |
ES (1) | ES2941475T3 (zh) |
WO (1) | WO2018085472A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9646159B2 (en) * | 2015-03-31 | 2017-05-09 | Juniper Networks, Inc. | Multi-file malware analysis |
US11503035B2 (en) * | 2017-04-10 | 2022-11-15 | The University Of Memphis Research Foundation | Multi-user permission strategy to access sensitive information |
US10514854B2 (en) | 2016-11-04 | 2019-12-24 | Microsoft Technology Licensing, Llc | Conditional authorization for isolated collections |
US10356080B2 (en) | 2017-03-17 | 2019-07-16 | Verizon Patent And Licensing Inc. | System and method for centralized authentication and authorization for cloud platform with multiple deployments |
US10938821B2 (en) * | 2018-10-31 | 2021-03-02 | Dell Products L.P. | Remote access controller support registration system |
WO2020264309A1 (en) * | 2019-06-28 | 2020-12-30 | Sigma Computing, Inc. | Syncing data warehouse permissions using single sign-on authentication |
WO2021035708A1 (zh) * | 2019-08-30 | 2021-03-04 | Oppo广东移动通信有限公司 | 集合资源的访问方法、装置、设备及存储介质 |
JP2021064319A (ja) * | 2019-10-17 | 2021-04-22 | 富士通株式会社 | 通信プログラム、認可サーバ、および、通信システム |
US11494482B1 (en) * | 2019-11-19 | 2022-11-08 | Cyral Inc. | Centralized applications credentials management |
EP3836504A1 (en) * | 2019-12-12 | 2021-06-16 | Noscendo GmbH | Providing and obtaining one or more data sets via a digital communication network |
CN111488594B (zh) * | 2020-03-03 | 2023-11-03 | 杭州未名信科科技有限公司 | 一种基于云服务器的权限检查方法、装置、存储介质及终端 |
WO2021232347A1 (en) * | 2020-05-21 | 2021-11-25 | Citrix Systems, Inc. | Cross device single sign-on |
US20230015789A1 (en) * | 2021-07-08 | 2023-01-19 | Vmware, Inc. | Aggregation of user authorizations from different providers in a hybrid cloud environment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7010568B1 (en) * | 1999-09-01 | 2006-03-07 | Eric Schneider | Search engine request method, product, and apparatus |
CN105991614A (zh) * | 2015-03-03 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种开放授权、资源访问的方法及装置、服务器 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7461334B1 (en) * | 1999-03-19 | 2008-12-02 | Network Solutions, Llc | Apparatus and method for web forwarding |
US6848000B1 (en) * | 2000-11-12 | 2005-01-25 | International Business Machines Corporation | System and method for improved handling of client state objects |
US7152048B1 (en) * | 2002-02-07 | 2006-12-19 | Oracle International Corporation | Memphis: multiple electronic money payment highlevel integrated security |
US7441264B2 (en) * | 2002-06-24 | 2008-10-21 | International Business Machines Corporation | Security objects controlling access to resources |
US8250093B2 (en) * | 2003-08-25 | 2012-08-21 | International Business Machines Corporation | Method and system for utilizing a cache for path-level access control to structured documents stored in a database |
US8775468B2 (en) * | 2003-08-29 | 2014-07-08 | International Business Machines Corporation | Method and system for providing path-level access control for structured documents stored in a database |
US20050160107A1 (en) * | 2003-12-29 | 2005-07-21 | Ping Liang | Advanced search, file system, and intelligent assistant agent |
US8010458B2 (en) | 2004-05-26 | 2011-08-30 | Facebook, Inc. | System and method for managing information flow between members of an online social network |
US8302164B2 (en) | 2004-07-22 | 2012-10-30 | Facebook, Inc. | Authorization and authentication based on an individual's social network |
US7711835B2 (en) | 2004-09-30 | 2010-05-04 | Citrix Systems, Inc. | Method and apparatus for reducing disclosure of proprietary data in a networked environment |
US7774830B2 (en) | 2005-03-14 | 2010-08-10 | Microsoft Corporation | Access control policy engine controlling access to resource based on any of multiple received types of security tokens |
US8090919B2 (en) * | 2007-12-31 | 2012-01-03 | Intel Corporation | System and method for high performance secure access to a trusted platform module on a hardware virtualization platform |
US7533136B2 (en) * | 2005-12-22 | 2009-05-12 | Oracle International Corporation | Efficient implementation of multiple work areas in a file system like repository that supports file versioning |
WO2007120799A2 (en) * | 2006-04-11 | 2007-10-25 | Medox Exchange, Inc. | Dynamic binding of access and usage rights to computer-based resources |
US7712143B2 (en) * | 2006-09-27 | 2010-05-04 | Blue Ridge Networks, Inc. | Trusted enclave for a computer system |
US7881938B2 (en) * | 2007-03-27 | 2011-02-01 | Nuance Communications, Inc. | Speech bookmarks in a voice user interface using a speech recognition engine and acoustically generated baseforms |
US8214883B2 (en) | 2007-10-22 | 2012-07-03 | Microsoft Corporation | Using social networks while respecting access control lists |
US20090300714A1 (en) * | 2008-05-27 | 2009-12-03 | Open Invention Network Llc | Privacy engine and method of use in a user-centric identity management system |
US8990924B2 (en) * | 2008-08-27 | 2015-03-24 | Medtronic, Inc. | Multiple user accounts for managing stored information in an implantable medical device system |
US20120054824A1 (en) | 2009-04-10 | 2012-03-01 | Ryo Furukawa | Access control policy template generating device, system, method and program |
GB0906409D0 (en) | 2009-04-15 | 2009-05-20 | Ipv Ltd | Metadata browse |
US8880620B2 (en) | 2009-06-12 | 2014-11-04 | Microsoft Corporation | Social graphing for data handling and delivery |
US8353019B2 (en) * | 2010-03-26 | 2013-01-08 | Canon Kabushiki Kaisha | Security token destined for multiple or group of service providers |
US8185558B1 (en) | 2010-04-19 | 2012-05-22 | Facebook, Inc. | Automatically generating nodes and edges in an integrated social graph |
US8676844B2 (en) | 2010-05-26 | 2014-03-18 | Hewlett-Packard Development Company, L.P. | Graph authorization |
US20120198570A1 (en) * | 2011-02-01 | 2012-08-02 | Bank Of America Corporation | Geo-Enabled Access Control |
US8904553B2 (en) * | 2011-03-15 | 2014-12-02 | Business Objects Software Limited | Resource expression for access control |
US9165079B1 (en) | 2011-09-06 | 2015-10-20 | Google Inc. | Access controls in a search index |
JP5803502B2 (ja) * | 2011-09-27 | 2015-11-04 | 富士通株式会社 | 監視装置、制御方法及び制御プログラム |
US9177168B2 (en) * | 2012-03-19 | 2015-11-03 | Alcatel Lucent | Method of modifying access control for web services using query languages |
US9047643B2 (en) | 2012-03-19 | 2015-06-02 | Alcatel Lucent | Method of extending web service application programming interfaces using query languages |
US8966570B1 (en) | 2012-03-22 | 2015-02-24 | Amazon Technologies, Inc. | Entity to authorize delegation of permissions |
US20130290226A1 (en) | 2012-04-05 | 2013-10-31 | Maynard Dokken | System and method for social graph and graph assets valuation and monetization |
US8943504B2 (en) | 2012-04-20 | 2015-01-27 | Qualcomm Incorporated | Tracking and releasing resources placed on a deferred unlock list at the end of a transaction |
US9852153B2 (en) * | 2012-09-28 | 2017-12-26 | Ab Initio Technology Llc | Graphically representing programming attributes |
US9565194B2 (en) | 2012-10-19 | 2017-02-07 | Mcafee, Inc. | Utilizing a social graph for network access and admission control |
US8887260B2 (en) * | 2012-10-25 | 2014-11-11 | Facebook, Inc. | Token-based access control |
US9294485B2 (en) * | 2013-01-27 | 2016-03-22 | Dropbox, Inc. | Controlling access to shared content in an online content management system |
US9607166B2 (en) * | 2013-02-27 | 2017-03-28 | Microsoft Technology Licensing, Llc | Discretionary policy management in cloud-based environment |
US9348947B2 (en) | 2013-07-26 | 2016-05-24 | Helynx, Inc. | Systems and methods for visualizing and manipulating graph databases |
US20150058191A1 (en) * | 2013-08-26 | 2015-02-26 | Apple Inc. | Secure provisioning of credentials on an electronic device |
US20150287120A1 (en) * | 2014-04-07 | 2015-10-08 | Ebay Inc. | Merchant menu suggestions based on user location and food preferences |
US9740837B2 (en) * | 2014-08-06 | 2017-08-22 | Infineon Technologies Ag | Apparatus and method for preventing cloning of code |
US9940472B2 (en) * | 2015-01-08 | 2018-04-10 | International Business Machines Corporation | Edge access control in querying facts stored in graph databases |
US9742744B1 (en) | 2015-06-11 | 2017-08-22 | Tp Lab, Inc. | Documents with location attributes for access and storage |
US10514854B2 (en) | 2016-11-04 | 2019-12-24 | Microsoft Technology Licensing, Llc | Conditional authorization for isolated collections |
-
2016
- 2016-11-04 US US15/344,229 patent/US10924467B2/en active Active
-
2017
- 2017-11-02 CN CN202111464118.6A patent/CN114143097A/zh active Pending
- 2017-11-02 WO PCT/US2017/059623 patent/WO2018085472A1/en unknown
- 2017-11-02 ES ES17798067T patent/ES2941475T3/es active Active
- 2017-11-02 CN CN201780067109.9A patent/CN109891851B/zh active Active
- 2017-11-02 EP EP17798067.9A patent/EP3535944B1/en active Active
-
2021
- 2021-01-07 US US17/143,655 patent/US20210126911A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7010568B1 (en) * | 1999-09-01 | 2006-03-07 | Eric Schneider | Search engine request method, product, and apparatus |
CN105991614A (zh) * | 2015-03-03 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种开放授权、资源访问的方法及装置、服务器 |
Also Published As
Publication number | Publication date |
---|---|
EP3535944A1 (en) | 2019-09-11 |
WO2018085472A1 (en) | 2018-05-11 |
US20210126911A1 (en) | 2021-04-29 |
CN114143097A (zh) | 2022-03-04 |
ES2941475T3 (es) | 2023-05-23 |
US20180131684A1 (en) | 2018-05-10 |
CN109891851A (zh) | 2019-06-14 |
EP3535944B1 (en) | 2023-03-01 |
US10924467B2 (en) | 2021-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109891851B (zh) | 用于隔离的集合的委托授权方法及系统 | |
CN109952752B (zh) | 用于针对隔离集合的有条件授权的系统和方法 | |
EP3535656B1 (en) | Ingress and egress of data using callback notifications | |
US20180262510A1 (en) | Categorized authorization models for graphical datasets | |
US11188551B2 (en) | Multi-level data pagination | |
US20180129715A1 (en) | Versioning of inferred data in an enriched isolated collection of resources and relationships | |
US10452672B2 (en) | Enriching data in an isolated collection of resources and relationships | |
US10614057B2 (en) | Shared processing of rulesets for isolated collections of resources and relationships | |
US11588635B2 (en) | Strong resource identity in a cloud hosted system | |
US11475320B2 (en) | Contextual analysis of isolated collections based on differential ontologies | |
CN110431548B (zh) | 针对图表的上下文规则 | |
US20180268004A1 (en) | Rule hierarchies for graph adaptation |
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 |