CN115698998A - 使用远程主体对象针对外部身份的安全资源授权 - Google Patents

使用远程主体对象针对外部身份的安全资源授权 Download PDF

Info

Publication number
CN115698998A
CN115698998A CN202180039222.2A CN202180039222A CN115698998A CN 115698998 A CN115698998 A CN 115698998A CN 202180039222 A CN202180039222 A CN 202180039222A CN 115698998 A CN115698998 A CN 115698998A
Authority
CN
China
Prior art keywords
domain
remote
access
principal
directory
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
Application number
CN202180039222.2A
Other languages
English (en)
Inventor
C·P·R·达萨里
M·亚林
D·乔杜里
J·A·斯泰曼
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN115698998A publication Critical patent/CN115698998A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • 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
    • H04L63/104Grouping 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

用于使用远程主体对象对外部身份进行安全资源授权的方法由系统和设备执行。外部实体创建用户群组,并将所有实体的安全资源的权利定义为针对该群组的权限集合。具有权限的不可变的访问模板和针对安全资源的访问策略被提供给所有实体以用于批准。批准后,根据权限和访问策略在所有者目录中创建远程主体对象。作为群组成员的远程主体使用外部域凭证请求经由接口访问所有者域。远程主体的身份由令牌服务针对远程主体对象进行验证。验证导致生成具有枚举权利的令牌并向远程主体接口发放该令牌,从而影响对安全资源的访问的重定向。

Description

使用远程主体对象针对外部身份的安全资源授权
背景技术
数据资源的所有者通常允许出于各种原因的对其数据资源的外部身份访问,诸如协作、技术支持等等。外部身份的授权和访问的一种实践是,数据资源所有者在其目录中为特定的外部身份添加条目,以支持登录访问,而其他实践包括访客凭证实现的变体,其还包括具有特定于要访问的数据资源的有限权限的所有者目录条目。然而,在每种情况下,数据资源的所有者都定义了权限,并能够更改所允许的访问类型以及外部身份可以访问的数据资源。
发明内容
本发明内容以简化的形式被提供以介绍一些概念,这些概念将在下面的具体实施方式中被进一步描述。本发明内容无意于标识所要求保护的主题的关键特征或基本特征,也无意用于限制所要求保护的主题的范围。
用于使用远程主体对象对外部身份进行安全资源授权的方法由系统和设备执行。外部实体从其域内创建用户的群组,并将不同域的所有者实体对安全资源的权利定义为该群组的权限集合。具有权限的访问模板和针对安全资源的访问策略被提供给所有实体以供批准。权限和访问策略是所有实体不可变的。当所有实体批准访问时,根据权限和访问策略在所有者目录中创建远程主体对象。作为群组成员的远程主体使用外部域凭证请求经由用户界面访问所有者域。远程主体的声明由令牌服务针对远程主体对象进行验证。对远程主体的资源访问权限的验证致使生成具有枚举权利的令牌并向远程主体的用户界面发放,从而影响用户界面的重定向以访问安全资源。
下面参考附图详细描述了其他特征和优点以及各种示例的结构和操作。值得注意的是,这些构思和技术并不限于本文描述的具体示例。本文所呈现的示例仅用于说明目的。基于本文包含的教导,对于(多个)相关领域的技术人员而言,其他示例将是显而易见的。
附图说明
本文所包含并构成说明书一部分的附图说明了本申请的实施例,并与描述一起进一步用于解释实施例的原理,使相关领域的技术人员能够制作和使用实施例。
图1A示出了根据示例实施例的使用远程主体对象对外部身份进行安全资源授权的系统的框图。
图1B示出了根据示例实施例的使用远程主体对象对外部身份进行安全资源授权的基于云的系统的框图。
图2示出了根据示例实施例的被配置用于使用远程主体对象对外部身份进行安全资源授权的计算系统的框图。
图3示出了根据示例实施例的具有远程主体对象的链接和权限的系统的框图。
图4示出了根据示例实施例的用于使用远程主体对象对外部身份的安全资源授权的流程图。
图5示出了根据示例实施例的用于图4的使用远程主体对象对外部身份进行安全资源授权的流程图的实施例的流程图。
图6示出了根据示例实施例的用于使用远程主体对象对外部身份进行安全资源授权的令牌。
图7示出了根据示例实施例的用于使用远程主体对象对外部身份进行安全资源授权的流程图。
图8示出了根据示例实施例的作为用于使用远程主体对象对外部身份进行安全资源授权的数据结构的群组。
图9示出了根据示例实施例的用于使用远程主体对象对外部身份进行安全资源授权的流程图。
图10示出了根据示例实施例用于使用远程主体对象对外部身份进行安全资源授权的流程图。
图11示出了根据示例实施例的用于使用远程主体对象对外部身份进行安全资源授权的流程图。
图12示出了可以用于实现实施例的示例移动设备的框图。
图13示出了可以用于实现实施例的示例计算设备的框图。
当结合附图时,实施例的特征和优点将从下文描述的具体实施方式中变得更加明显,在附图中,类似的参考字符始终标识相应的元素。在附图中,类似的参考标号通常表示相同、功能相似和/或结构相似的元素。元素首次出现的附图由相应参考标号中最左边的(多个)数字表示。
具体实施方式
一、介绍
下面的具体实施方式公开了许多实施例。本专利申请的范围不限于所公开的实施例,还包括所公开实施例的组合,以及对所公开实施例的修改。
说明书中对“一个实施例”、“实施例”和“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但并非每个实施例都必然包括特定特征、结构或特性。此外,这些短语不一定指代相同实施例。此外,当结合实施例描述特定特征、结构或特性时,应认为无论是否明确描述,结合其他实施例来实现这种特征、结构或者特性均在本领域技术人员的知识范围内。
在讨论中,除非另有说明,否则诸如“基本上”、“近似”和“大约”等形容词修改本公开的实施例的一个或多个特征的条件或关系特性,被理解为意味着该条件或特性被定义为在其预期应用的实施例的操作可接受的容忍范围内。
此外,应当理解,本文所使用的空间描述(例如,“上方”、“下方”、“上”,“左”、“右”、“下”、“顶部”、“底部”、“垂直”、“水平”等)仅用于说明目的,并且本文描述的结构和附图的实际实现可以以任何朝向或方式进行空间布置。此外,附图可能不按比例提供,并且附图元素的朝向或组织在实施例中可能不同。
下面描述了许多示例性实施例。值得注意的是,本文中提供的任何章节/小节标题均不具有限制性。本文档中描述了实施例,并且任何类型的实施例可以被包含在任何章节/小节中。此外,在任何章节/小节中公开的实施例可以以任何方式与相同章节/小节和/或不同章节/小节中描述的任何其他实施例相结合。
下面的第二章节描述了使用远程主体对象对外部身份进行安全资源授权的示例实施例。下面的第三章节描述了可以用于实现本文描述的实施例的特征的示例移动和计算设备。下面的第四章节描述了其他示例和优点,第五章节提供了一些结论性意见。
二、使用远程主体对象对外部身份进行安全资源授权的示例实施例
使用远程主体对象对外部身份进行安全资源授权的方法由系统和设备执行。本文中的各种实施例涉及基于云的系统,诸如但不限于云服务、云托管租用、目录、代码存储库系统、文件共享服务等,以及企业系统和其他域系统,客户/用户系统和/或设备通过这些系统在执行任务时访问安全数据资源,并且根据实施例,使用远程主体对象(本文中也称为“RPO”)针对外部身份实施安全资源授权。
为了执行涉及其自身远程的域中的安全数据资源的任务,用户或主体需要访问安全数据资源的域。随着大型企业运营规模的扩大,这一需求远远超出了少数用户/负责人的范围,发展为可能具有多个班次、学员等的若干团队或群组。例如,为了为某些应用和服务提供支持,提供商可能会在平台应用和服务中雇佣数百或数千名工程师,这些工程师分布在多个地理位置,包括供应商。此外,对于每项任务,若干支持工程师、技术顾问和/或产品组工程师可能被分配和/或参与其执行。在域之间协作任务的上下文中,对安全数据资源的访问也很重要。
本文中的实施例使得能够将远程用户表示为远程主体,以访问其所有者的域中的安全数据资源,从而执行任务。
本文使用的域通常是指在实体控制下的物理和/或逻辑边界,其中数据资源被安全存储,并且对其的访问需要域特定的凭证,并且在实施例中还包括子域和/或类似物。示例性非限制域包括但不限于web域、托管云平台的租用、云服务提供者、企业系统和/或需要特定于域的凭证进行认证和访问的任何其他类型的网络或系统。租户是特定类型的域,其是云或身份平台中组织的表示。云平台中的租户的域是其租用,租户在其中注册和管理应用、存储数据/文件、访问服务等。在实施例中,远程主体是属于远程或外部域的个人、一群人、(多个)应用、(多个)服务等或其任何组合,其打算访问其所有者的域中的安全数据资源以用于执行任务。数据资源或安全数据资源是数据、信息、文件、文档、服务/应用程序的配置设置和/或类似物,其安全地驻留在一个域中,并且在没有所有者域的凭证的情况下,其他域的主体无法轻易访问,并且权利生命周期管理器(ELM)服务被配置为管理针对安全数据资源的权利授予,及其生命周期。
所描述的实施例还能够捕获要授予这些远程用户/远程主体的权限。远程主体及其请求的权限被定义(例如,在远程域实体或要访问的数据资源的域生成和提供的模板中,或作为模板以外的其他数据/信息表示形式),并被提供给资源所有者域的目录。在提供者提供客户支持的情况下,在实施例中,提供者定义了他们需要访问的安全数据资源,以便为客户完成任务提供适当的支持。实施例为数据资源所有者提供了按任务批准或拒绝访问请求的能力。然而,在一些实施例中,数据资源所有者可能没有能力修改请求的权限集合,因为这种能力可以阻碍远程主体提供适当的支持(例如,如果数据资源所有者删除了所需权限),或使远程主体和/或其组织暴露于不必要的风险(例如,如果数据资源所有者授予的权限超过所需权限)。为此,在实施例中,扩展或收缩访问权限集合的请求来自远程主体的组织,而不是数据资源所有者。但是,数据资源所有者对是否批准访问权限以及何时可以撤销访问权限保留控制权。
相应地,实施例规定远程主体的此类访问的生命周期和所寻求的权限受访问策略的严格控制,并且在数据资源所有者的域内是不可变的。在实施例中,至少有两个条件控制对数据资源的访问:远程主体是与在数据资源所有者的域中创建的任务相对应的群组的成员,以及远程主体对象存在于指向该群组的数据资源所有者的域中。根据实施例,这些条件基于访问的生命周期。例如,针对数据资源访问创建的群组中的远程主体成员资格由远程主体域中创建的权利生命周期管理器(ELM)服务访问分组进行管理。当访问策略到期时,(多个)远程主体从该群组中删除。这确保了(多个)远程主体不会在指定策略之外获得对数据资源的访问权限。以同样的方式,在安全数据资源所有者的域中对远程主体对象的创建和删除也由ELM服务管理。当在所有者域中批准对数据资源的访问时,在此域中创建自动批准访问策略,并将相应的访问分组链接到该策略。该访问策略负责使权利授权到期,并且ELM服务被配置为清理远程主体对象及其链接。在实施例中,当任务关闭或完成后,或者当经由加密箱应用/服务或其他等效应用/服务等(例如,经由ELM服务或其他可信服务)从所有者域撤销访问数据资源的批准时,访问策略本身被清理。换言之,在远程主体和远程主体对象上下文中的ELM使用提高了访问安全数据资源的系统利用率,至少因为可以可靠、快速地添加和/或删除访问,而无需跟踪远程域中的任何远程用户列表,或资源所有者域中的各种工作负载中的远程主体对象存在的任何特定访问授权/权限列表。下面提供了有关ELM服务和加密箱利用的更多详细信息。
作为非限制性示例,具有服务的基于云的平台利用远程主体对象来允许第二域的用户/成员(诸如,合作伙伴或服务提供者)访问第一域中的租户的安全数据资源。作为另一示例,安全数据资源的企业网络所有者允许远程第三方经由远程主体对象访问安全数据资源。例如,实施例使得安全数据资源所有者的目录中能够创建远程主体对象,并基于定义针对远程主体的安全数据资源访问的权限和访问策略为经由远程主体对象链接的远程主体分配授权声明。在实施例中,远程主体是来自任何身份提供者(IdP)、租户或域(第一方或第三方)的任何主体,包括用户、应用等,其受诸如,家庭租户/域/主机等的当前IdP的信任。远程主体对象指向通过来自远程IdP的传入令牌验证的授权声明,以发放与当前IdP处请求的安全数据资源相对应的新令牌。本文中的实施例描述了将授权分配给任何类型的远程主体并且由于它是远程主体的事实而建立针对授权和访问的强大管理的能力。
在租用和支持的上下文中,基于云的服务平台的客户租户可能需要其他租户或该平台的域中的支持工程师的帮助。例如,为了诊断和解决域标识问题的客户问题,支持工程师需要检查和分析客户目录数据以及服务遥测,以获得可向客户呈现的解决方案。身份功能的客户问题可能涉及多个服务和/或产品。本文中的实施例使得支持工程师能够访问和浏览客户目录数据,以快速诊断问题并提供解决方案。此外,当支持工程师出于业务原因(诸如,提供支持)访问客户数据时,实施例提供了透明度。更一般地说,远程主体对象使得服务能够使用其现有的授权框架来授权外部用户访问安全数据资源的请求,而无需实施的安全系统或安全数据资源本身预先了解关于可以访问安全数据资源的每个远程主体的具体的、个人可标识信息。也就是说,在资源所有者的目录中或者在数据资源本身的用户配置文件存储中不提供此类信息。这保留了外部域管理其自己的远程用户/远程主体列表的能力,这些远程用户/主体被授权管理安全数据资源。
为此,实施例提供了对客户数据的安全访问,其中对客户数据的访问是基于用户/所有者的,由客户批准,以特定任务需求为范围,并以时限到期、客户意图和/或支持案例的结束而自动撤销。作为本文所述示例中提供的解决方案的一部分,与目录中的身份投影相关的某些特征被用来满足客户支持场景的要求。也就是说,身份投影提供了一种基本构造,其允许在其上面的层的应用依赖于它们被构建以理解的相同的认证和授权模型,而不是为各种目的注入特殊情况逻辑。与个人用户级别不同,实施例还允许扩展到合作伙伴,并解决与组织级别的企业对企业协作相关联的问题,以访问安全的数据资源。因此,支持工程师等第三方能够使用其主租户/域身份(例如,<thirdpartyname>.com)访问支持工具和数据资源,包括与支持工程师正在处理的支持案例对应的为客户托管的面向客户的产品体验,诸如经由门户或其他用户界面(UI),例如。https://portal.<cloudhostname>.com/<customemame>.com。在本文的实施例中,门户是指网页、服务或应用的UI,其充当控制对域或子域的资源、其他网页、服务、或应用等的访问的网关或框架,该域或子域经由凭证被打开和访问,但是如受益于本公开的相关领域的技术人员可以理解的,本文还考虑了其他类型的门户。
还应理解,对租用、客户和支持的示例引用仅用于说明和解释目的,而非用作限制。本文中的实施例可扩展到任何两个不同域之间的安全数据资源的不同用户和所有者之间的协作、访客访问等。在本文的实施例中,为了简洁起见,安全数据资源可以称为数据资源。如本文所使用的,域通常是指在实体控制下的物理和/或逻辑边界,在实体内数据资源被安全存储,并且对其的访问需要域特定的凭证,并且在实施例中还包括子域和/或类似物。示例性的、非限制域包括但不限于web域、托管云平台的租用、云服务提供者、企业系统和/或需要特定于域的凭证进行认证和访问的任何其他类型的网络或系统。
本文中的实施例提供了通过使用远程主体对象来对外部身份进行安全资源授权问题的解决方案。这些和其他实施例将在本节下文结合附图以及随后的章节/小节中进一步详细描述。
系统、设备和装置可以多种方式被配置,以用于授权第二域的远程主体访问第一域中的安全数据资源。例如,现在将描述图1A和图1B。根据示例实施例,图1A示出了系统100A的框图,并且图1B示出了基于云的系统100B的框图,每个系统都被配置用于使用远程主体对象对外部身份进行安全资源授权。
如图1A所示,系统100A包括(多个)用户(多个)设备116、服务平台102、第一域主机104和第二域主机106,存在服务平台、第一域主机和/或第二域主机。此外,根据实施例,图1A所示的系统和/或组件的任何组合存在于系统100A中。
在实施例中,网络114包括不同数量和/或类型的通信链路,用于连接设备、平台和主机/服务器,例如但不限于互联网、有线或无线网络及其部分、点对点连接、局域网、企业网络、云网络等。
不同实施例中的用户设备116是任何数量、类型或计算设备或计算系统的组合,包括终端、个人计算机、笔记本电脑、平板设备、智能手机、个人数字助理、服务器、游戏控制台等,包括内部/外部存储设备,用于执行本文描述的功能/操作,用于机器学习,以使用远程主体对象对外部身份进行安全资源授权,以及用于执行与实施例相关联的客户端功能/操作(例如,通过用户凭证访问域主机,包括其数据资源)。在实施例中,用户设备116还包括附加组件(为简洁和说明性清晰而未示出),包括但不限于本文中其他设备和/或系统的组件和子组件。
服务平台主机102包括一台或多台服务器计算机或计算设备,其在实施例中可能包括一台或者多台分布式或“基于云”的服务器,如下所述。在实施例中,服务平台主机102除基于云的服务器外,还包括本地服务器或替代基于云的服务。本文中的各种系统/设备,例如服务平台主机102,被配置为提供第一域主机104使用的服务,例如业务服务和/或应用程序,和/或执行用于认证的功能/操作,例如作为IdP,用于使用远程主体对象对外部身份进行安全资源授权。例如,服务平台主机102包括IdP服务,该IdP服务被配置为验证与第二域主机106的第二域相关联的用户设备116的用户的身份,并发布令牌等以使用远程主体对象访问安全资源,例如数据资源112和/或第一域主机104的第一域的目录110,如本文进一步描述的。
第一域主机104除了与第一域相关联的基于云的服务器之外,还包括一个或多个服务器计算机或计算设备,例如本地服务器。如上所述,第一域主机104还包括数据资源112和目录110。数据资源112包括一个或多个安全数据资源,例如但不限于文件/文件系统、文档、数据库、存储库、日历和/或其他应用程序/信息,包括应用程序和服务的配置信息,在实施例中,目录110包括与第一域主机104的第一域相关联的用户的身份数据和信息(例如,包括访问权限、凭证等),并且生成的RPO存储在目录110中。在实施例中,目录110中的身份数据和信息包括数据资源112的一部分,并且根据实施例,预期域的应用程序和/或服务以及与之相关的数据/信息也是本文中的数据资源。数据资源112和目录110安全地存储在第一域主机104处或与之关联,并且可以通过与第一域主机04的第一域关联的凭证(例如,通过具有此类第一域凭证的用户设备116的用户)访问,并且在一些实施例中,可以通过服务平台102的IdP访问。使用第二域主机106的第二域的凭证(例如,通过具有此类第二域凭证的用户设备116的用户),通过对第一域主机104的第一域的认证,无法访问数据资源112和目录110。在实施例中,目录110存储生成的RPO,通过该RPO,具有第二域凭证的用户被授予访问数据资源112和/或目录110的权限,例如,使用服务平台102的IdP。
第二域主机106除了与第二域相关联的基于云的服务器之外,还包括一个或多个服务器计算机或计算设备,例如本地服务器。与第二域关联的用户能够通过具有第二域凭证的用户设备116访问第二域主机106。第二域主机106配置为通过权限模板生成器108生成权限模板。例如,第二域中的用户使用权限模板生成器106生成权限模板,该权限模板定义了数据资源112的指定数据资源所需的访问权限/授权(例如读、写等),根据实施例,其包括目录110中的身份数据和信息。在第二域中生成的权限模板在第一域中是不可变的;也就是说,第一域中的用户无法更改权限模板中权限的各个方面或其他数据和信息。权限模板用于生成访问分组,其中包括访问数据资源的组、数据资源的成员权限等。
当提供给第一域主机104时,权限模板中指定的第一域中数据资源的所有者、管理员或类似人员接受/批准或不接受/批准权限模板,如果接受或批准,则随后会生成RPO,如下所述,允许第二域用户至少根据权限模板中规定的权限访问数据资源。
现在转到图1B,系统100B是图1A的系统100A的基于云的实施例。如图所示,系统100B包括一个云平台118。在实施例中,云平台118s是一个基于云的平台,例如来自华盛顿州雷蒙德市Microsoft Corporation的
Figure BDA0003970530700000111
用户设备126的用户可以通过网络访问该平台(未被示出以便于说明清楚和简洁)。
用户设备126可以是任何类型和/或数量的用户设备,例如类似于图1A中为用户设备116描述的设备的设备,并且可以对应于具有不同域的凭证的用户,例如云平台118中的不同租用。
租户是组织在云或身份平台中的表示。云平台中租户的域是其租户,租户在其中注册和管理应用程序、存储数据/文件、访问服务等。租户可以为各自的租户部署自定义条件访问和租户限制。租户被授予一个目录的专用实例以供其租用,每个租户都与其他租户不同,并且有自己的身份表示和应用程序注册。租户内部的注册只允许从租户内的帐户进行认证,以访问安全的数据资源,同时也允许从所有租户进行认证。在本文中的RPO上下文中,不假定/使用所有租户的访问权限。
例如,云平台118包括租户A 122和租户B/合作伙伴124,尽管在实施例中考虑了不同数量的租户。在实施例中,租户A 122对应于系统100A的第一域,租户B/合作伙伴124对应于系统1000A的第二域。具有租户A 122的凭证的(多个)用户设备126的用户被允许对该租用进行认证,并访问云平台118的数据、信息、服务、应用等,例如,针对租户A 122所允许或实例化的服务/应用程序120(本文中也称为“服务/应用”120)。同样,具有租户B/合作伙伴124的凭证的(多个)用户设备126的用户被允许对该租用进行认证,并访问数据、信息、服务、应用等,例如,针对租户B/伙伴124所允许或实例化的、云平台118的服务/应用程序120。但是,不允许使用一个租户的用户凭证对另一租户的域进行直接访问。
在实施例中,认证经由云平台118的目录128被执行。目录128包括允许对各自租用进行认证的用户的身份数据和信息。例如,租户A 122和租户B/合作伙伴124中的每一个都被分配或实例化目录128中其自身的目录,在没有针对相应租用的凭证或没有使用本文所述的RPO的情况下,无法访问这些目录。因此,在实施例中,目录118中的目录存储生成的RPO,这些RPO允许对目录的域之外的实体的数据资源和目录数据/信息进行访问,例如,特定和/或有限访问。在实施例中,目录128是基于云的目录服务,诸如来自华盛顿州雷蒙德市Microsoft Corporation的
Figure BDA0003970530700000121
Active
Figure BDA0003970530700000122
尽管实施例不受限制。
在实施例中,云平台118包括一个或多个分布式或“基于云”的服务器。也就是说,云平台118是网络架构/云平台中的应用程序和/或服务的网络或“云”实现。根据实施例,云平台包括一组联网的计算资源,包括服务器、路由器等,这些资源是可配置的、可共享的、提供数据安全性,并且可以通过诸如互联网等网络访问。云应用程序/服务被配置为在这些计算资源上运行,通常在资源上运行的操作系统之上,用于本地和/或通过网络访问应用程序/服务的实体。如上所述,诸如云平台118的云平台被配置为支持多租用,其中基于云平台的软件服务于多个租户,每个租户包括一个或多个用户,这些用户共享对云平台118的某些软件服务和应用程序的公共访问权,如本文所述。此外,云平台被配置为支持作为硬件、软件和/或固件实现的管理程序,这些管理程序为租户运行虚拟机(模拟计算机系统,包括操作系统)。管理程序为租户提供虚拟操作平台。
在实施例中,系统、设备和装置以各种方式配置,以使用远程主体对象对外部身份进行安全资源授权。例如,图。现在将在此上下文中描述2、3和4。
首先参考图2,根据示例实施例示出了用于使用远程主体对象对外部身份进行安全资源授权的系统200的框图。示例性说明和描述的系统200配置为图1A的系统100A和/或图1B的系统100B的实施例。系统200描述如下。
系统200包括计算系统202,如本文其他地方所述,或如其他已知,它是任何类型的服务器或计算系统,包括但不限于基于云的系统、本地服务器、分布式网络架构等。如图2所示,计算系统202包括一个或多个处理器(“处理器”)204、存储器和/或其他物理存储设备(“存储器”)206中的一个或一个以上,以及一个或更多网络接口(“网络接口”)230。
计算系统202还包括服务/应用程序208(本文中也称为“服务/应用”208),租用224以及安全令牌服务(STS)232,服务/应用程序208分别作为图1A和图1B中的服务平台102和/或服务/应用120的实施例,租用224作为图1A的第一域主机104和/或第二域主机106和/或图1B的租户A 122和/或租户B/合作伙伴124的实施例。STS 232是受信任的第三方令牌服务,在不同的实施例中,其分别包括图1A和图1B中的服务平台102和/或服务/应用120的一部分,包括系统200中的单独服务,或包括服务/应用208的一部分。
处理器204和存储器206可以分别是本文所述的任何类型的(多个)处理器电路/系统和(多个)存储器,和/或受益于本发明的相关技术领域的技术人员可以理解的任何类型。处理器204和存储器206可分别包括一个或多个处理器或存储器、不同类型的处理器或存储器(例如,至少一个用于查询处理的高速缓存)、远程处理器或存储器和/或分布式处理器或存储器。处理器204可以是配置为同时执行多个处理线程的多核处理器。处理器204可以包括配置为执行计算机程序指令的电路,例如但不限于服务/应用208和/或STS 232的实施例,包括本文所述的一个或多个其组件,如本文所述,这些组件可以实现为计算机程序指令。
存储器206包括易失性存储部分,诸如随机存取存储器(RAM)和/或持久性存储部分,诸如硬盘驱动器、非易失性RAM和/或类似物,以用于存储或被配置为存储用于使用本文所述的远程主体对象对外部身份进行安全资源授权的计算机程序指令/代码,以及在不同的实施例中存储本公开中描述的其他信息和数据,包括但不限于服务/应用208和/或STS232,包括本文描述的一个或多个组件和/或类似组件。在一些实施例中,存储器206还包括数据资源和/或权限模板的存储(例如,在模板目录中)。例如,根据用于租用224的租户的基于云的实施例,针对域的目录被存储在存储器206中。
网络接口230可以是任何类型或数量的有线和/或无线网络适配器、调制解调器等,配置为使系统200(包括计算系统202)能够在系统内部与其组件通信,以及通过网络与其他设备和/或系统通信,例如计算系统202和其他设备、系统、主机之间的通信,图1A中系统100A和/或图1B中系统100B,通过网络,例如网络114。
系统200还包括附加组件(为了简洁和说明性清晰,未被示出),包括但不限于本文中其他设备和/或系统的组件和子组件,以及下面关于图的描述。12-13,根据实施例。
租约224包括租户A 226和租户B/合作伙伴228(或本文中的“租户B/P 228”),如非限制性示例所示,尽管在实施例中,任何数量的租户都可能拥有租约。租户224的每个租户都与此处所述的相应目录相关联,下面将进一步详细介绍,该目录存储有关租户用户的身份数据和信息,通过该信息执行租户域的认证。在实施例中,合作伙伴是与平台主机具有特定关联或关系的租户。例如,如本文所述,具有执行任务的支持工程师的支持中心被视为合作伙伴。在实施例中,合作伙伴的域是平台的域、平台的子域、与平台相关联的域等。本文预期,在实施例中,租户和计算资源是松散耦合的,其中多个租户托管在单个计算资源上,或者租户托管于多个计算资源之间,或者在任何其他实现关系组合中。
服务/应用程序208和STS 232被配置为使用远程主体对象执行外部身份的安全资源授权,如本文所述,使数据资源的拥有域/租户之外的域/租约的用户能够访问数据资源。如图所示,服务/应用程序208包括群组控制器210、访问控制器212、权利生命周期管理器(ELM)214、一个或多个门户216(“门户”216)、目录218和加密箱222。群组控制器210配置为确定主体是否允许成为群组的成员,或者实际上是群组的成员,用于在执行任务时访问数据资源,并且访问控制器212被配置为生成群组、与数据资源相关联的权限以及权限的访问策略。门户216被配置为向用户提供本文描述的服务、应用程序、域和/或类似的接口,目录218被配置为存储域用户的身份数据和信息(例如租户224的租户A 226和租户B/P228),包括但不限于权限和访问凭证,以及本文描述的RPO。加密箱222被配置为提供数据资源所有者可以访问的安全接口,其中所有者可以查看和接受/拒绝数据资源的权限请求(在实施例中,加密箱223包括门户216的一部分),ELM 214被配置为管理权利授予及其生命周期,包括与群组控制器210的群组成员请求和加密箱222的权限批准请求接口。在实施例中,ELM 214和访问控制器212包括单个服务或应用的部分,例如,访问控制器212s包括ELM 213的一部分。STS 232配置为向RPO所指向的群组的成员发放具有RPO中指定的数据资源权限的令牌。
尽管为了说明和概念化而单独示出,但在实施例中,本文描述的服务/应用程序208和/或STS 232的一个或多个部分是针对租户224和/或在租户内实例化的。即,租户,例如租户A 226和/或租户B/P 228可以包括他们自己的服务/应用程序208和/或STS 232的一个或多个部分的实例,以执行其功能和服务。
这里提供了关于服务/应用程序208和STS 232组件的更多详细信息,包括下图的描述。
现在参考图3,根据示例实施例示出了具有远程主体对象(“RPO”)的链接和权限的系统300的框图。系统300描述如下。
系统300包括第一域302和第二域304。第一域301和第二域304是任何两个不同域的实施例,如本文所述,表示为硬件平台、逻辑边界、软件系统等(例如,图2中系统200的租户A 226和租户B/合作伙伴228的租户、企业网络、web域等)。也就是说,与第一域302关联的用户具有与之专门关联的该域的访问凭证,例如userl@<FirstDomain302>。com,它启用并允许该用户对第一域302的授权,包括其中的数据资源。同样,与第二域304关联的用户具有与之专门关联的该域的访问凭证,例如user2@<SecondDomain304>。com,它启用并允许该用户对第二域304的授权,包括其中的数据资源。在云平台的上下文中。
在所示实施例中,第一域302具有目录306,第二域304具有目录316,尽管可以存在和/或分配任意数量的目录。目录306和目录316分别包含与第一域302和第二域304关联的用户的身份数据和信息,包括但不限于访问权限、凭证等。此外,生成的RPO,例如示例性RPO308,根据实施例,存储在希望允许外部实体(例如,其他租户、个人和/或特定域之外的任何其他实体)访问安全数据资源的租户目录中。如前所述,身份数据/信息以及存储在目录中的任何其他信息可能包含拥有或分配和管理目录的域数据资源的一部分。在一些实施例中,目录306和目录316是图2中系统200的目录218的租户特定目录。
第二域304具有与其相关联的群组318。群组316是一种数据结构,在实施例中,它包括一个或多个任务标识符、与该任务相关联的至少一个数据资源和/或指定执行该任务的第二域304的一个或更多用户(或成员)的身份。
第一域302的目录306中的远程主体对象308表示一种新类型的目录对象,其类型如本文所述的“群组”。在实施例中,RPO308是一种数据结构,包括元数据和“链接”,用于定义与应用程序和数据资源的主体相关联的权限。例如,如图所示,群组318包括第二域304的一个或多个成员,这些成员是第一域302的远程主体。第一域305中的RPO 308指向存储在第二域304中的群组318。RPO 309示例性地包括三个“链接”,定义了三个不同的权限PI、P2和P3,它们是实施例中的应用程序权限,对于第一域302中的各个安全数据资源和/或应用程序:第一安全数据资源(SDR1)310、第二安全数据源(SDR2)312和第三安全数据资源,并且通过这些链接定义的确定权限被添加到令牌的权限范围声明中。
RPO 308等RPO包括属性,例如数据结构。例如,在实施例中,RPO具有以下一个或多个属性:对象标识符(“ID”或“ID”)、类型、远程对象ID、远程域ID、显示名称、来源、所有者、用途等。对象ID描述RPO的唯一ID,类型描述RPO在远程域(例如,第二域304)中指向的对象类型(例如,“群组”)。远程对象ID是RPO指向的远程域中对象的标识符,远程域ID是群组所在的远程域的标识符。显示名称是在创建RPO时指向并复制的远程域中对象的名称,如果远程域中的对象的显示名称发生更改,则不需要保持同步。sourced by属性是一个唯一的ID,表示用于创建RPO的源,例如,图2的访问控制器212生成的ELM包标识符。owner属性是表示管理RPO的服务的应用程序ID的全局唯一ID,例如ELM应用程序ID,如ELM 214的ID。根据实施例,当为RPO填充此属性时,除了为该属性列出的应用程序外,不能通过任何其他应用程序删除RPO,也不能修改其链接。目的属性描述创建RPO的目的或任务,以便于查询给定目的或任务的RPO,例如支持案例、工作负载、订阅、文档协作、托管服务提供者等。
在实施例中,资源和应用程序的权利可以包括资源/应用程序ID和从链接要被包含在令牌中的RPO的权限得到的声明。权利可以包括资源ID“graph API”(应用编程接口)并且“directory.read.all”的声明可以包括资源ID“graph”和“user.read all,group.readall”或MailboxSettings.readwrite的声明。作为非限制性示例,同时本文还考虑了更细粒度的权限和权利。此外,管理员声明可以被包含在令牌中。每个任务都可以基于远程域用户为解决特定任务而要求访问或需要访问的数据资源的数据的范围而要求不同的权限集合。数据的范围可以基于任务主题和/或类似物来确定。
在一些实施例中,授予的权限集合受到限制,例如,限制所有对象的枚举,例如,具有最终用户标识信息(EUII)的数据对象。在这种情况下,与此类数据相关的查询可能会返回部分匹配的有限结果集。此外,在实施例中,对强授权细节的读取受到限制。例如,用于密码重置、注册电话号码等的安全问题被视为限制访问。相反,在实施例中,提供了这种类型数据的存在的指示,这并不揭示实际的数据内容。此外,在实施例中,对诸如个人资料照片或其他对象的访问受到限制。然而,在一些实施例中,基于数据资源所有者和访问者之间的协议,对标识信息部分的访问可以包括在权限中。
在实施例中,RPO及其链接是由单个服务或应用程序创建、读取、更新或删除的,例如ELM 214的图形API,该API没有可用于查看或管理RPO的用户界面(UI)。此外,如上所述,RPO属性“所有者”可以填写应用程序ID或服务主体ID(例如ELM 214服务的ID),并且仅允许特定应用程序/服务创建或更改RPO及其链接,包括删除。也就是说,对于一些实施例,对于RPO,唯一允许控制所有者/本地域(例如第一域302)的是通过提供的ELM访问分组,该访问分组可以在本地域中撤销,以获得针对访问分组和相应远程主体的授权。但是,在这种情况下,RPO及其链接将由ELM214服务清理、删除或删除。此外,ELM 214配置为在完成任务后清除/删除RPO和关联链接、访问分组、权限、访问策略等。
总之,RPO包括实体映射,其中数据资源所有者域中的PRO映射到用户/远程主体域中的群组,并允许在验证RPO所指向的群组中的成员资格时向用户/远程主体发放令牌。RPO权限允许用户/主体根据为RPO定义的“链接”向令牌发放声明。在RPO的实施例中,数据资源所有者的域中没有对应于用户/远程主体身份的特定用户/远程主足迹。
如上文关于图1至3所述,本文的实施例提供了使用远程主体对象的外部身份的安全资源授权。图1A的系统100A、图1B的系统100B、图2的系统200和图3的系统300可以配置为执行这些功能和操作。进一步设想,上述系统和组件可配置为以任何方式全部或部分组合,给定系统的任何部分可以任何方式整体或部分组合。
现在将在上述上下文中描述图4。图4示出了根据示例实施例的用于使用远程主体对象对外部身份进行安全资源授权的流程图400。在实施例中,图1A中的系统100A、图1B中的系统100B、图2中的系统200和图3中的系统300根据流程图400操作。基于以下描述,进一步的结构和操作示例对于(多个)相关领域的技术人员而言,将是显而易见的。尽管流程图400的组件是单独示出的,以便于说明和描述,但这种表示是非限制性的,组件被视为以任何组合或结构进行分组、组合等。下面关于图2的系统200和图3的系统300对流程图400进行描述。
在流程图400中,如上所述的系统200的各个部分表示为通过表示租户A 226的系统200的目录218和/或系统300的目录306的目录A 468,以及通过租户B/合作伙伴228的系统200的目录218(以下称为“目录B/P 466”)和/或系统300的目录316,使用远程主体对象对外部身份执行用于安全资源授权的功能和操作。
流程图400从步骤402开始,在该步骤中,与租户A 226相关联的用户设备470被认证给租户226。使用与租户227的域相关联的用户凭证来执行认证,并且在实施例中,认证是经由门户216的租户门户执行的。在实施例中,步骤402是可选的,其中用户设备470的用户经由不同的租户门户(例如,租户B/P 228的门户)或经由与步骤404中的任务创建相关的门户216的系统门户(即,备用门户)认证,例如,对于与目录A 468中的身份问题相关的支持任务,并请求租户B/P 228作为支持服务。该备用门户被配置为向用户设备470的用户授权租户B/P 228域中的有限空间以用于创建任务,例如,在步骤404中,基于来自租户B/P 228的用户域凭证创建支持任务。即,租户B/P 228或系统200的IdP被配置为识别用户设备470的用户,以用于经由门户216生成任务请求的目的。在步骤406中提供指示任务创建的回复。
在步骤408中,租户B/P 228向访问控制器212提供创建任务的通知,根据实施例,访问控制器212将生成任务群组和ELM分组,其定义了群组成员资格,并定义了与要由群组成员访问的任务相关联的数据资源所需的权限。例如,在实施例中,在租户B/P 228中预定义了一组用于任务执行的访问分组,作为权限模板,其具有特定版本。这些权限模板可以存储在租户B/P 228的模板目录中,例如,存储器206的指定部分。当如上所述创建任务时,在步骤410中,访问控制器212在(租户B/P 228的)目录B/P 466中创建群组,例如,系统300中的群组318,该群组对应于任务,并定义了有权访问任务的用户或成员集合。群组被创建后,在步骤412中,访问控制器212在目录B/P 466中创建ELM群组分组,其管控群组成员分配。此群组分组包括分配给它的自定义策略,用于管控授权的批准。自定义策略允许评估用于批准群组的成员资格的规则,例如,成员是任务所有者,成员是案件合作者,成员是指定区域的技术顾问等等。
在步骤414中,访问控制器212从租户B/P 228获取存储的权限模板,并在租户A226的目录A 468中检查是否存在与任务对应的最新访问分组(根据定义的权限模板)。如果访问分组在租户A 226的目录A 468中不存在,则在其中创建访问分组,如果访问分组早于当前或最新的权限模板版本,则对访问分组进行刷新。访问分组包括要分配给远程主体(即群组成员)的特定权利,以用于访问与任务相关联的数据资源,在实施例中,可以采用以各种形式,例如但不限于直接应用范围分配、内置角色分配等。访问分组不允许自定义角色分配,例如,由于此类分配可能因租户而异,并且不能保证分配的权限在任务创建租户域中是不变的。在步骤416中,访问控制器212为步骤414中存储在目录A 468中的访问分组(例如,访问数据资源的权限)创建并分配访问策略。访问策略表示对权限/权限授予的一组约束,例如,在指定时间内过期(分钟数、小时数、天数等),需要手动批准,当传入主体属于某个群组时批准,和/或类似。
如本文所述,管控对数据对象的访问的权限和策略在所有该数据对象的域中是不可变的。所有域仅被允许接受或拒绝远程域定义和提供的访问权限/策略。
在步骤418中,经由租户B/P设备472和/或具有域特定凭证认证的租户B/P 228的用户经由租户B/P 228的应用程序或服务打开任务。在步骤420中,租户B/P 228将任务细节返回给租户B/P设备472。在实施例中,任务细节包括但不限于任务类型、租户A 226的请求成员、租户A 226或关联域的ID、其他特定于任务的信息和/或类似物。基于任务细节,租户B/P设备472的用户在步骤422中经由ELM 214请求从其自己的域(租户B/P 228)访问租户A226的数据资源。在实施例中,ELM 214的实例或部分被分配给租户B/P128以实现此类功能/操作。因此,在步骤424中,ELM 214接收来自租户B/P 228的针对租户B/P设备472的用户被授予与任务相关联的群组的成员资格的请求,即作为相对应数据资源的远程主体,如上述步骤410中创建的。ELM 214接收租户B/P 228的用户/远程主体的域凭证,并在步骤426中向群组控制器210提供凭证和用户/远程主体ID,群组控制器210被配置为确定主体是否允许成为群组成员,或者实际上是群组的成员,以及在执行任务时是否被允许访问数据资源。群组控制器210被配置为验证群组成员资格是否存在或允许,并将验证结果返回给ELM 214。ELM 213然后将用户/远程主体添加到群组中,并在步骤428中通知租户B/P 228。群组成员认证允许流程图400进入步骤430,而用户/远程主体未被授权为群组成员资格的指示将阻止对租户A 226中的数据资源的访问。
应注意,当在步骤410中创建群组时,用户/远程主体可能已经被授予群组成员资格。在这些实施例中,步骤424表示对用户/远程主体的群组成员资格的验证,以及步骤428表示确认用户/远程主体的群组成员资格的通知。
还应注意,上述由访问控制器212执行的功能和操作可以由为租户A 226指定或在租户A 266中实例化的访问控制器212的实例执行,并且在访问控制器121包括ELM 214的一部分的实施例中,上述关于访问控制器212的流程图400的功能和操作可以由为租户B/P228指定或实例化的ELM 214实例执行。还应注意,以下由ELM 217执行的功能和运算可以由为租户A 226指定或实例化的ELM-214实例执行。
在步骤430中,代表用户/远程主体从租户B/P 228向ELM214提供针对数据资源访问批准的请求,例如,经由对步骤414和步骤416中创建的具有权限的数据访问分组和策略的批准。在实施例中,然后在步骤432中,ELM 214向与租户A 226相关联的加密箱222提供针对访问分组/权限批准的请求。加密箱222是安全应用,在步骤434中,通过该应用,租户A226的用户经由租户A设备473处的UI被通知请求,并且能够接受或拒绝该请求。在实施例中,通知标识任务、权限、访问策略和/或群组。然而,在一些实施例中,通知并不标识特定的远程主体,即,群组的单个成员,从而保护其身份。在步骤436中,步骤434的请求的结果从锁箱222返回给ELM 214。如果针对访问分组/权限批准的请求未被授予,则对用于执行任务的数据资源的访问将被拒绝。如果批准被授予,则根据权限和访问策略,对数据资源的访问将被允许。在实施例中,本文还考虑了特别实现,其中访问管理不像流程图400和ELM 214所描述的那样严格管理。例如,第一域的数据资源所有者可以提供对第一域中数据资源的访问,在第二域的群组中添加或删除成员时,无需执行批准操作。在这种情况下,访问权限由数据资源所有者授予群组,而群组的成员资格可以完全在第二域中管理,无需任何额外的批准。在流程图400的上下文中,可以类似于步骤430和步骤432所述的方式执行对数据资源的群组访问的批准,或者可以在流程的早期执行,例如通过对群组访问的预批准,例如,在如上所述的任务创建过程中,和/或类似的过程。换言之,对于本文的实施例,对数据资源访问的管理被认为是严格的、宽松的和/或特殊实现的任何其他公差/组合,这将被受益于本公开的相关领域的技术人员理解,并且不受所描述或示出的实施例的限制。
在步骤438中,并且在步骤436中返回批准后,ELM 214在租户A 226的目录A 468中创建RPO,如本文所述,例如,如图3所示。创建的RPO是基于在步骤414和步骤416中创建并在步骤434中批准的权限和访问策略生成的。在实施例中,ELM 214使得在目录A 468内创建RPO。在步骤440中,租户B/P 228接收数据访问批准请求的结果,并且在步骤442中,向租户B/P设备472处的用户/远程主体提供相应的通知。因此,通知租户B/P设备472上的用户/远端主体已被授予对与任务相关联的数据资源的访问权,并且用户/远程主体能够继续访问数据资源。
在步骤444中,租户B/P设备472的用户/远程主体打开租户A 226的UI门户(例如,门户216之一),例如,通过与租户A 266关联的域名或网站。该租户门户在步骤446中提示从STS 232获取访问令牌,通过识别用户/远程主体具有外部凭证,或通过标准登录过程。在实施例中,如果租户A 226信任,则与租户B/P 228相关联的STS 232实例可在此处指定用于令牌发放,远程主体可基于其自己的域凭证进行认证,以便初始访问租户A 266,但尚未访问租户A226的安全数据资源。然后,在步骤448中,租户B/P设备472向STS 232提供访问令牌请求。在实施例中,与租户A 226相关联的STS-232实例可被指定用于在步骤448.中接收请求。在步骤450中,STS 232-指示租户门户向租户B/P设备472提供登录质询,以响应步骤448对访问令牌的请求。下一步在步骤452中,针对租户B/P设备472通过门户访问STS 232以访问租户A 226的登录挑战,提供了用户/远程主体(即,租户B/P 228)的外部域凭证。本文设想,使用远程主体对象的外部身份的安全资源授权方面也与其他访问方法/模型一起实现,根据实施例。例如,可以设想这样的场景:远程主体是通过RPO访问给定域的数据资源的群组的成员,如本文所述,并且也是该给定域的访客用户。换言之,应该理解的是,利用RPO并不排除也在实施的其他访问方法/模型。关于该场景的示例的进一步非限制性细节在下文中关于图5进行描述。
如步骤454所示,STS 232在租户A 226的目录a 468中执行查找。如上所述,在实施例中,可以执行RPO所述以外的访问方法/模型类型,例如但不限于访客访问等,如下图5所示。步骤454中示出的查找示例性地说明了使用RPO的场景,包括在目录a 468中标识一个或多个RPO,该RPO指向用户/远程主体关联的域ID,例如,在步骤438中创建的RPO,查找结果返回到STS 232。如果没有找到满足这些要求的RPO,然后认证失败,并且没有发放令牌。在实施例中,一个或多个指向用户/远程主体关联的租户B/P 228的RPO存储在目录A 468中。当发现多个RPO具有必要的条件时,将使用额外的匹配条件来选择RPO,例如。,如果确定用户/远程主体是租户B/P 228域中群组的成员,则验证类型为“群组”的RPO。如果没有使用匹配条件选择RPO,则认证失败,并且没有发放令牌。
如果至少一个RPO被选择,则在步骤456中,STS 232获取存储在目录A 468中的(多个)RPO中指定的权利,该权利指向租户B/P 228,并将用户/远程主体指定为群组成员。例如,对于选定的每个RPO,STS 232查询RPO与请求令牌的数据资源之间的所有链接。在实施例中,每个RPO与数据资源组合都有一个链接,该链接具有要包含在针对该数据资源的令牌中的所有作用域。根据实施例,如上文关于图3的RPO 308所述,权利基于与(多个)RPO相关联的权限和访问策略。例如,服务/应用ID和(多个)声明包括与RPO相关联的权利。在步骤458中,权利被返回到STS 232。
在步骤460中,STS 232生成用于租户A 226的门户的访问令牌,并向租户B/P设备472提供访问令牌,以供用户/远程主体满足步骤452中描述的针对门户的登录挑战,或向远程主体提供访问租户A 226的安全数据资源的声明。在实施例中,访问令牌包括在步骤458中返回的权利,其中STS 232组合了在所选择的(多个)RPO与数据资源之间的链接中找到的所有作用域以枚举权利,并指定针对租户B/P设备472用于与门户接口的浏览器的重定向。在步骤462中,租户B/P设备472处的浏览器向门户提供带有令牌和权利/权限的重定向信息。(多个)门户216中的门户可以被配置为根据用于授权/权限的令牌对用户/远程主体进行认证,或者可以被配置为经由重定向提供对所寻求的安全数据资源的访问。在步骤464中,门户基于权利/权限提供对数据资源的访问,并完成对租户B/P设备472处的浏览器的重定向,以用于在执行任务时的数据资源访问。
在不同的实施例中,如本文所述,应用或服务可以充当远程主体,而不是用户远程主体。在这样的实施例中,应用/服务远程主体使用诸如API之类的接口,而不是用户远程主体的UI。
因此,使得租户B/P设备472处的用户/远程主体能够使用其租户B/P 228的域凭证来访问租户A 226的安全数据资源。还应注意,在实施例中,令牌交换用于用户/远程主体的验证,而不是如在上面的流程图400中所述的凭证验证。
在实施例中,图2和图3中的STS 232被配置为执行如上所述的用于向用户/远程主体的令牌发放的附加功能和/或操作。例如,图5示出了根据示例实施例的用于使用远程主体对象对外部身份进行安全资源授权的图4的流程图400的实施例的流程图500。基于以下描述,对(多个)相关领域的技术人员来说,进一步的结构和操作示例将是明显的。关于图2的系统200和图3的系统300以及图4的流程图400,将流程图500描述如下。
在实施例中,流程图500在流程图400的步骤452之后开始。例如,响应于步骤452中接收外部域凭证,在流程图500的步骤502中,STS 232被配置为在第一域和第二域中执行用户/远程主体的查找。关于流程图400,STS 232配置为在外部域(例如租户B/P 228的目录B/P 466)和数据资源所有者的域(例如,租户A 226的目录A 468)中查找用户/远程主体的身份。
在步骤504中,如果STS 232发现用户/远程主体的身份在两个域中都存在,则在步骤506中,令牌发放遵循现有逻辑,根据访客模型或其他类似模型对用户/远程实体进行认证,而无需通过RPO进行认证。流程图500结束。如果根据步骤504在两个域中都没有找到用户/远程主体的身份,流程图500将继续执行步骤508,其中通过STS 232评估租户B/P 228域中选定的一组条件访问策略。在实施例中,条件访问策略对应于流程图400中创建的任务。在步骤510中,确定用户/远程主体是否满足条件。如果用户/远程主体未能满足步骤510中的条件,则认证失败,并且没有根据步骤512发放令牌,流程图500结束;否则,认证过程进行到流程图400的步骤454。
在实施例中,使用RPO的认证可能优先于使用其他模型和/或机制。在流程图500的上下文中,根据这些实施例,步骤508和步骤510在步骤502和步骤504之前执行,其中远程主体不满足步骤510中的条件导致执行步骤502。此外,尽管为了简洁和易于说明而未示出,用于认证的其他模型和/或机制可以在流程图500中的不同点确定和/或使用。
现在转到图6,示出了根据示例实施例的使用远程主体对象对外部身份进行安全资源授权的示例令牌600。在实施例中,令牌600对应于流程图400的步骤460中由STS 232生成的令牌。令牌600具有说明性和示范性,应视为非限制性。对于令牌600,用户/远程主体(例如租户B/P 228(作为合作伙伴))请求访问的示例数据资源是一个目录,例如图4中租户A 226(作为客户)的目录a468。
在实施例中,要求STS 232发布的令牌600不得从用户/远程主体的域中泄露用户/远程主体的真实身份或标识信息,例如,图3中的第二域304的群组318的成员和/或如图4的流程图400所示和描述的租户B/P 238的用户/远程主体。因此,在实施例中,诸如但不限于以下属性不被填充:“family_name”(姓)、“given_name”(教名)、“name”(名)、“oid”、“onprem-sid”、“puid”、”unique_name“、”upn“、”deviceid“等。在一些实施例中,引用条件访问策略的声明和多因素认证(MFA)“auth.state”也不被填充:例如,“amr”、“controls”、“signin_state”等等。然而,在一些实施例中,基于数据资源所有者与访问者之间的协议,标识信息的一个或多个部分可以包括在令牌中。此外,在实施例中,指定远程主体在令牌600中被指定的属性,例如“rpo”被包括在令牌600中,其指向标记600被创建的rpo。这用于将令牌600与(多个)RPO关联,并通过它与创建RPO的ELM分组关联。在一些实施例中,该示例“rpo”声明是可选的,并且仅被提供用于订阅该声明的服务/应用程序。“rpo”声明包含客户租户中的rpo对象ID。在一些实施例中,当工作负载出于各种目的需要令牌中的附加信息时,例如粒度和合规性审计等,数据资源所有者和合作伙伴/远程主体可以相互同意令牌中可用的附加信息,例如伙伴用户“oid”、伙伴用户“upn”等。
在令牌实施例中,发放者和域ID是数据资源所有者域,IdP对应于主机域,“altsecid”未被指定,并且RPO ID被指定。此外,实施例为与RPO关联生成的令牌提供“wids”声明。在实施例中,众所周知的全局唯一标识符(GUID)用于“wids”声明。例如,如果所发放的令牌用于远程主体,则“wids”声明可以包含表示远程主体的已知RPO GUID(例如,0000000-900d-f00d-0000-000000000000)。应注意,出于描述性目的,该GUID在性质上是示例性的,根据实施例,在实施时选择的实际GUID可能不同。“wids”声明还可能包含分配给RPO的目录角色。在这种情况下,建议工作负载使用此范围来确定分配给RPO的任何内置目录角色。此外,工作负载可能会执行自己的目录内置角色到工作负载理解的权限集合的映射。
已发放令牌600中标记的作用域基于RPO和请求令牌600的数据资源之间的关联链接集。如上所述,RPO和数据资源之间的链接是由ELM 214(如图2和图4所示)根据权限和访问策略创建的,例如,在访问分组定义中,该策略控制对安全数据资源的访问。根据实施例,任务的范围(例如,任务主题)确定了数据资源访问需求,从而定义了访问分组的内容。在实施例中,给定任务范围的访问分组定义是预定义的,例如,通过权限模板,在用户/远程主体的域中,并且在实施例的数据资源所有者的域中不能更改,类似地,为RPO创建的链接除了通过访问分组外,不能以任何方式进行编辑。通过此过程,通过RPO授予用户/远程主体的声明对于数据资源所有者的域是不可变的。
在工作负载任务的上下文中,工作负载还可以使用本文描述的范围来授权请求。在实施例中,无法使用现有的群组成员资格或自定义角色成员资格检查进行授权,因为这些分配无法用于存储在数据资源所有者域的目录中的RPO。本文预期,仍然可以执行内置角色成员资格检查,但是,在所述实施例中,经由RPO使用服务/应用程序范围对于在域的目录内管理的授权来说更加健壮和可扩展。
在实施例中,生成令牌600的STS 232遥测处理管道包含此处所述的RPO建模/要求,并被配置为在用户/远程主体域和数据资源所有者域中发出登录日志或审计报告。如上所述,对于流程图400中的令牌生成,实施例提供了提供给数据资源所有者域的日志/审计报告,以排除任何用户/远程主体特定信息,而发送到用户/远程当事人域中的日志/审计报告允许包括实际用户/远程主信息。然而,在其他实施例中,基于数据资源所有者和访问者之间的协议,日志/审计报告中可以包括主要特定/标识信息的部分。
通过远程主体访问安全数据资源(如目录数据)是一项敏感操作。由于至少有两个不同的组织参与设置访问控制,一个组织获得读取另一个组织的数据的能力,因此本文的实施例提供了登录/认证和所有任务活动,这些都是审计的重要数据,被跟踪以防止滥用并进一步降低使用所描述的实施例对数据资源执行任务和操作的风险。
此外,如果在执行任务期间出现问题,执行任务的数据资源的所有者可以确定有关任务性能的特定信息,以便通过日志/审计报告跟踪和/或解决问题,而无需维护远程域中有权访问数据资源的群组成员列表。也就是说,在某些情况下,数据资源所有者可能不想将远程域用户包括在其目录中,在实施例中可能有许多远程域用户,这是因为维护远程域用户的列表需要额外的存储和处理使用、额外的管理/开销,而远程域用户访问可能只需要一段有限的时间(例如,执行与数据资源相关的任务)。此外,用于访问执行任务的数据资源的群组成员资格列表可能包含比实际将要参与任务执行的成员更多的成员。例如,一个群组可以包括十个被授予访问数据资源权限的成员,但只有一个成员可以完成与数据资源相关联的给定任务。随着时间的推移,考虑到不同的任务也可能具有不同的对应群组和不同的成员资格,数据资源所有者的域可能维护大量远程域用户,其中许多用户在任务执行期间从未访问过数据资源。然而,所描述的RPO实施例允许与RPO相关联的临时访问权限对资源所有者的域产生极少的持久影响,这是因为远程域用户的列表无需持久化。
关于登录/认证活动,当用户/远程主体从其自身的域登录到数据资源所有者域时,所有者应该知晓发生了登录,并且向其域中的数据资源发放了令牌。在实施例中,所认证的远程主体的特定身份及其地理位置对于远程主体的域是私密的,因此不与数据资源所有者共享。服务提供者应当知晓他们的一个用户登录到了客户租户。然而,远程主体的域被提供有任务的登录/认证和对数据资源的访问的完整详细信息,包括谁、何时、来自何处和/或类似物。
关于活动审计,在实施例中,通过发放给远程主体的令牌执行的每个活动(包括读取)均被跟踪,并可用于数据资源所有者的域。对数据资源所有者的域可用的写入活动的审计包括RPO标识符,然后是令牌标识符,而不是实际的用户/远程主体标识。
系统和设备以各种方式配置,以使用远程主体对象对外部身份执行安全资源授权—在本文中,如图所示。现在描述7、8和9。
例如,图7示出了根据示例实施例的用于使用远程主体对象对外部身份进行安全资源授权的流程图700。在实施例中,图1A中的系统100A、图1B中的系统100B、图2中的系统200和图3中的系统300可以根据流程图700操作。基于以下描述,进一步的结构和操作示例对于相关领域的技术人员而言,将是显而易见的。流程图700可以是图4的流程图400的实施例。下面关于图2的系统200和图3的系统300来描述流程图700。
图8示出了根据示例实施例的群组800,其作为用于使用远程主体对象对外部身份进行安全资源授权的数据结构。群组800是图3的系统300中的群组318的实施例的示例。群组800被组织为示例性数据结构,该数据结构被生成并存储在存储器中,诸如,实施例中的系统200的存储器206,并且包括本文描述的目录。
返回参考图7,流程图700从步骤702开始。在步骤702中,在第二域处并与第二域相关联,生成指定群组的数据结构,这是基于对域主机的第一域中的安全数据资源的访问要求,第一域不同于第二域。例如,图2中的系统200的访问控制器212被配置为生成指定租户B/P 228的群组的数据结构,如图4中的流程图400的步骤410所示。在实施例中,数据结构/群组是响应于接收到创建与安全数据资源相关联的任务的指示或请求或在接收到指示或请求之后被生成的。
现在转到图8,群组800包括数据结构802。根据实施例,数据结构802以任何方式被组织为表示成员的群组,诸如在执行任务时寻求访问数据资源的用户/远程主体。作为非限制性示例,针对群组的数据结构可以包括列表、集合、字段、表格和/或类似物。如图所示,数据结构802包括群组信息804的集合或列表以及群组成员806的集合或列表。参考图4的流程图400,作为数据结构802的群组800被存储在用于租户B/P 228的目录B/P 466中。
群组信息804包括如下一项或多项:标识群组的组ID、标识与群组相关联的域的群组域ID、标识与数据资源相关联的任务的任务ID、以及标识数据资源本身的数据资源ID。在实施例中,可以包括比针对群组信息804所示的所列信息项更多或更少的信息项。
群组成员806包括具有标识符“成员1”的第一群组成员和具有标识符“成员2”的第二群组成员,尽管在实施例中,除了空的成员集合之外,还可以包括比针对群组成员806所示的所列成员项更多或更少的成员项。群组成员806的每个项可以包括标识符作为成员名称、别名和/或任何其他类型的标识符。如图所示,群组成员806是成员的集合或列表,例如,在执行任务时寻求访问另一域的数据资源的一个域的用户/远程主体。本文还考虑了与群组成员806的项相关联的附加信息,诸如但不限于实施例中的凭证信息、成员角色和/或类似物。如上所述,根据实施例,群组成员包括应用程序和/或服务。
再次参考图7,在步骤704中,获取在第二域处生成的权限模板,该权限模板定义了权限集合,其中包括该群组的成员对安全数据资源的至少一个权利。例如,访问控制器212被配置为,例如在系统200的存储器206中获取如本文所述的在租户B/P 228处生成和/或存储的权限模板。权限模板定义了群组成员被授予用于与执行任务相关联的安全数据资源的权利的权限。在实施例中,如本文所述,访问分组包括权利的权限。
在步骤706中,生成安全数据资源的访问策略,该访问策略与权限集合相关联。例如,访问控制器212被配置为生成安全数据资源的访问策略,该访问策略定义了通过用户/远程主体的群组成员资格检查,哪些用户/远程主体被允许访问如执行给定任务所需的安全数据资源。在一些实施例中,访问策略是基于在上述步骤704中获取的权限模板生成的。在实施例中,如果这种请求是由来自属于与任务对应的指定群组的域的用户/远程主体(例如,租户B/P 228)提出的,则访问策略允许对访问安全数据资源的请求的自动批准。所描述的实施例允许对第一个请求者进行这种评估,而无需以后对后续请求进行评估。
在步骤708中,将权限集合和访问策略提供给第一域的域主机,权限集合和访问策略从第一域是不可变的。例如,在流程图400的上下文中,访问控制器212被配置为向租户A226的目录A468提供权限集合和访问策略,以便存储在其中,其中访问策略与权限相关联。在实施例中,权限包括如本文所述的访问分组,这些访问分组被提供给第一域。如前所述,访问分组/权限和访问策略尽管存储在安全数据资源所有者的域中,但在这些域中是不可变的。
在步骤710中,代表远程主体(作为群组的成员)向第一域提供针对安全数据资源的访问权限批准请求,使得至少基于来自第一域的访问权限批准请求的批准指示,在域主机处的第一域的目录中生成远程主体对象,远程主体对象将群组链接到如权限集合所枚举并由访问策略所指定的针对安全数据资源的至少一个权利。例如,安全数据资源所有者或代表(例如,租户A 226的域的授权成员)代表租户B/P 228的用户/远程主体,基于步骤708中从ELM 214提供的权限和访问策略(例如,经由系统200的加密箱222),批准对安全数据资源的访问权限。当ELM 214接收到批准的指示时,ELM 214被配置为使得在目录A 468中创建/生成RPO。如本文所述,诸如关于图3中的系统300的RPO 308,RPO包括到群组的链接,基于ELM 214提供的访问分组/权限和/或访问策略赋予该群组对(多个)安全数据资源的权利。RPO被存储在目录A 468中,以防止来自租户B/P 228的群组的用户/远程主体的访问尝试。
在步骤712中,基于从第一域接收到访问权限撤销、完成与远程主体对象相关联的任务、或远程主体对象的时间有效期到期中的至少一项,使得在第一域的域主机处删除远程主体对象、权限集合和/或访问策略。例如,在实施例中,系统200的ELM 214被配置为从安全数据资源所有者的域中的目录中删除RPO、相关联的访问分组/权限、和/或相关联的访问策略,或者引起上述项的删除。ELM 214被配置为基于各种条件执行此类删除/清理/移除,诸如但不限于从安全数据资源所有者的域拒绝或撤销访问权限、完成与创建RPO相对应的任务,和/或RPO和/或其权限的到期,这些权限定义为相关联的访问策略。
在图9中,示出了根据示例实施例的用于使用远程主体对象对外部身份进行安全资源授权的流程图900。在实施例中,图1A中的系统100A、图1B中的系统100B、图2中的系统200和图3中的系统300可以根据流程图900操作。基于以下描述,进一步的结构和操作示例对于(多个)相关领域的技术人员而言,将是显而易见的。流程图900可以是图7中的流程图700的实施例。下面关于图2的系统200和图3的系统300来描述流程图900。
流程图900从步骤902开始。在步骤902中,在代表远程主体向第一域提供访问权限批准请求之后,从远程主体或该群组的另一成员接收后续访问权限批准请求。例如,在流程图700的步骤710之后,其中第一访问权限批准请求被提供至第一域并被批准,使得在第一域的目录中生成RPO及其链接,从相同的远程主体或与RPO相关联的群组的另一成员/远程主体接收稍后或后续的访问权限批准请求。在实施例中,步骤902是该群组的相同或另一远程主体对图4中的流程图400的步骤430的稍后再执行。当第一远程主体的请求被验证并批准时,RPO及其“链接”将在数据资源所有者的域的目录中被创建,因此,在RPO生命周期仍然有效的实施例中,后续访问请求被视为“无操作”,或者,如果RPO因生命周期到期而被清理,则将导致RPO的重新创建。
在步骤904中,确定如下至少一项:批准在目录中保持有效或远程主体对象在目录中保持有效。例如,系统200的ELM 214生成的访问策略管控所提供的权限/访问分组的生命周期以及数据资源所有者的域中的目录中的相关联的RPO。ELM被配置为监测和/或被通知有关数据资源所有者目录中的权限/访问分组及其相关联的RPO的生命周期有效性。因为由ELM创建的访问策略严格管控生命周期,所以目录中的RPO的持续存在是生命周期的证据,因此RPO保持有效。类似地,从其所有者的域中撤销对数据资源的授予访问权导致ELM 214清理RPO及相关联的访问分组/权限和访问策略。因此,在没有撤销并且根据访问策略RPO在目录中保持有效的情况下,完成步骤904中的确定。
在步骤906中,通知远程主体或该群组的另一成员对后续访问权限批准请求的有效批准。例如,如本文所述,为用于生成RPO的权限/访问分组创建的访问策略允许自动批准针对访问数据资源的请求,并对接收到的第一个访问请求进行评估,而后续请求被视为“无操作”。因此,在实施例中,ELM 214被配置为向远程主体或群组中的另一成员通知该有效批准,即针对数据资源访问的自动批准,并且步骤906是图4中的流程图400的步骤442的后续再执行,而无需回到前面的步骤,直到必须执行步骤430为止。也就是说,因为针对远程主体和其他远程主体的群组的数据资源访问的RPO已经存在,并且在数据资源所有者域的目录中保持有效,所以经由流程图400的步骤444和随后的步骤获得对数据资源的访问。
在图10中,示出了根据示例实施例的用于使用远程主体对象对外部身份进行安全资源授权的流程图1000。在实施例中,图1A中的系统100A、图1B中的系统100B、图2中的系统200和图3中的系统300可以根据流程图1000操作。基于以下描述,进一步的结构和操作示例对于(多个)相关领域的技术人员而言,将是显而易见的。流程图1000可以是图4的流程图400和/或图5的流程图500的实施例。下面关于图2的系统200和图3的系统300来描述流程图1000。
流程图1000从步骤1002开始。在步骤1002中,从与远程主体相关联的接口接收访问域主机的第一域的请求,第一域不同于第二域,该请求包括远程主体的标识符和第二域凭证。例如,ELM214经由租户B/P 228从远程主体接收针对访问租户A 226的安全数据资源以执行任务的请求,如类似于针对图4中的流程图400的步骤422和步骤430所描述的。在实施例中,第一域和第二域是不同的,并且每个域都需要特定的用于访问其的凭证——即,访问第一域的凭证不会提供对安全存储在第二域中的数据资源的访问。租户B/P 228的远程主体具有相应的凭证,并且这些凭证(包括标识符)在步骤1002的请求中被提供给ELM 214,以用于针对RPO的群组成员资格验证。
在步骤1004中,使得在域主机处的第一域的目录中生成远程主体对象,基于权限集合将远程主体链接到权利。例如,ELM 214被配置为在步骤1002中接收到请求之后,在租户A 226的目录A468中生成RPO或引起RPO的生成,如类似于图4中的流程图400的步骤422和步骤430所描述的。生成的RPO是基于从ELM 214提供给目录A 468的访问分组中的权限创建的。
在步骤1006中,确定在域主机的目录处生成并存储、且无法从第二域访问的远程主体对象在该目录中存在并且有效。例如,步骤1004中在目录A 468处生成的RPO具有与之相关联的生命周期,因此,在其创建之后,由图2和图4中的系统200的STS 232执行对其存在性和有效性的确定。STS 232还被配置为确定RPO是否具有“群组”类型,以便针对所指定的群组验证远程主体。
在步骤1008中,验证远程主体被标识为与第二域的群组相关联,该群组具有如在权限集合中枚举的、对安全数据资源的至少一个权利,以及由第二域定义并在远程主体对象中表示的至少一个相关联的访问策略。例如,步骤1004中在目录A 468处生成的RPO包括被授权访问与任务相关联的数据资源的群组成员的列表或集合,并且图2和图4中的系统200的STS 232被配置为确定远程主体是否是该群组的成员(如类似于流程图400的步骤454中所确定的)。在实施例中,远程主体的身份基于所提供的凭证,这些凭证针对目录A 468处的RPO中链接的群组而被验证。在实施例中远程主体的身份是基于提供的凭证,这些凭证针对目录A 46中RPO链接的组进行验证。
在步骤1010中,生成针对远程主体的访问令牌,该访问令牌包括至少一个权利。例如,STS 232被配置为生成针对远程主体的访问令牌。访问令牌包括从生成RPO的权限得到的(多个)权利。在实施例中,令牌还指定远程主体使用的UI的重定向。步骤1010可以是图4中的流程图400的步骤458和步骤460的实施例。
在步骤1012中,将访问令牌提供给远程主体,使得重定向接口,该接口提供远程主体对安全数据资源的访问。例如,STS 232被配置为向远程主体的设备提供在步骤1010中生成的访问令牌。当访问令牌包括上述重定向时,将访问令牌提供给远程主体引起远程主体的设备上的UI重定向,从而允许远程主体访问与任务相关联的安全数据资源。步骤1012可以是图4中的流程图400的步骤460的实施例。
如本文所述,根据实施例,流程图1000中针对远程主体描述的UI可以是远程主体是应用程序或服务的实现中的API。
在图11中,示出了根据示例实施例的用于使用远程主体对象对外部身份进行安全资源授权的流程图1100。在实施例中,图1A中的系统100A、图1B中的系统100B、图2中的系统200和图3中的系统300可以根据流程图1100操作。基于以下描述,进一步的结构和操作示例对于(多个)相关领域的技术人员而言,将是显而易见的。流程图1100可以是图10中的流程图1000的实施例。下面关于图2的系统200和图3的系统300来描述流程图1100。
流程图1100从步骤1102开始。在步骤1102中,远程主体对象的生成被执行以包括确定与其相关联的时间有效期。步骤1102是图10中的流程图1000的步骤1004的实施例。例如,如本文所述,RPO、权限和群组成员资格包括生命周期限制,在实施例中,其中该生命周期受图2中的系统200的ELM 214生成的权限的访问策略的严格管控。在步骤1102中,ELM214基于创建的访问策略将RPO的生命周期及其权限确定为时间有效期。因此,当确定生命周期到期时,至少因为数据资源所有者的目录中的RPO不再有效,流程图1000不会从步骤1006进行到步骤1008。
在步骤1104中,在时间有效期到期后,在域主机处执行以下至少一项:从目录中删除远程主体对象或从目录中删除权限集合和至少一个相关联的访问策略。例如,ELM 214被配置为基于生命周期的到期而从目录中删除RPO和/或删除权限集合和至少一个相关联的访问策略。此外,在实施例中,ELM 214还被配置为从与任务和RPO相关联的群组中删除远程主体。本文还考虑到,所描述的生命周期在任务完成时到期。
三、示例移动和计算设备实施例
本文所述的实施例可以用硬件实现,也可以用与软件和/或固件相结合的硬件实现。例如,本文描述的实施例可以实现为配置为在一个或多个处理器中执行并存储在计算机可读存储介质中的计算机程序代码/指令。或者,本文描述的实施例可以实现为硬件逻辑/电路。
如本文所述,所述实施例包括但不限于图1A中的系统100A、图1B中的系统100B、图2中的系统200、图3中的系统300和图8中的组800,以及其中的任何组件和/或子组件,以及本文所述流程图/流程图的任何操作和部分和/或本文所述的进一步示例,可以在硬件中实现,也可以用软件和/或固件的任何组合在硬件中实施,包括被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中的计算机程序代码,或者被实现为硬件逻辑/电路,例如在片上系统(SoC)中一起实现,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、可信平台模块(TPM)等。SoC可包括集成电路芯片,其包括一个或多个处理器(例如微控制器、微处理器、数字信号处理器(DSP)等)、存储器、一个或更多通信接口和/或其他电路和/或嵌入式固件,以执行其功能。
本文描述的实施例可以在一个或多个计算设备中实现,该计算设备类似于固定或移动计算机实施例中的移动系统和/或计算设备,包括本文描述的移动系统的一个或一个以上特征和/或计算设备,以及替代特征。本文中提供的计算设备的描述仅用于说明目的,并不具有限制性。如相关领域技术人员所知,实施例可以在其他类型的计算机系统中实现。
图12是示例性移动系统1200的框图,其包括可实施本文所述实施例的移动设备1202。例如,移动设备1202可用于实现前面各节中的任何系统、客户端或设备或其组件/子组件。如图12所示,移动设备1202包括多种可选硬件和软件组件。移动设备1202中的任何组件都可以与任何其他组件通信,但为了便于说明,并非示出了所有连接。移动设备1202可以是各种计算设备(例如,手机、智能手机、手持计算机、个人数字助理(PDA)等)中的任何一种,并且可以允许与一个或多个移动通信网络1204(例如蜂窝或卫星网络)或局域网或广域网进行无线双向通信。
移动设备1202可以包括控制器或处理器1210(例如,信号处理器、微处理器、ASIC或其他控制和处理逻辑电路),用于执行诸如信号编码、数据处理、输入/输出处理、电源控制和/或其他功能等任务。操作系统1212可以控制移动设备1202的组件的分配和使用,并为一个或多个应用程序1214(也称为“应用程序”或“应用”)提供支持。应用程序1214可能包括常见的移动计算应用程序(例如,电子邮件应用程序、日历、联系人管理器、web浏览器、消息传递应用程序)和任何其他计算应用程序,例如,字处理应用程序、地图应用程序、媒体播放器应用程序)。
移动设备1202可以包括存储器1220。存储器1220可以包括不可移动存储器1222和/或可移动存储器1224。不可移动存储器1222可以包括RAM、ROM、闪存、硬盘或其他众所周知的存储设备或技术。可移动存储器1224可包括闪存或GSM通信系统中众所周知的用户标识模块(SIM)卡,或其他众所周知的存储设备或技术,如“智能卡”。存储器1220可用于存储运行操作系统1212和应用程序1214的数据和/或代码。示例数据可包括网页、文本、图像、声音文件、,视频数据,或通过一个或多个有线或无线网络发送和/或从一个或更多网络服务器或其他设备接收的其他数据。存储器1220可用于存储用户标识符,如国际移动用户标识(IMSI),以及设备标识符,例如国际移动设备标识符(IMEI)。这样的标识符可以传输到网络服务器以标识用户和设备。
存储器1220中可以存储许多程序。这些程序包括操作系统1212、一个或多个应用程序1214以及其他程序模块和程序数据。此类应用程序或程序模块的示例可以包括,例如,用于实现图1A中系统100A、图1B中系统100B、图2中系统200、图3中系统300和图8中组800中的一个或多个的计算机程序逻辑(例如,计算机程序代码或指令)及其任何组件和/或子组件,以及本文描述的流程图/流程图,包括其中的部分,和/或本文描述的进一步示例。
移动设备1202可以包括移动TPM 1292。移动TPM 1262可以是TPM的移动设备等效实施例,如具有本发明优点的相关技术人员所理解的。例如,移动TPM 1292可配置为执行TPM的一个或多个功能或操作,用于本文的各种实施例。
移动设备1202可以支持一个或多个输入设备1230,例如触摸屏1232、麦克风1234、摄像头1236、物理键盘1238和/或轨迹球1240,以及一个或更多输出设备1250,例如扬声器1252和显示器1254。其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。一些设备可以提供多个输入/输出功能。例如,触摸屏1232和显示器1254可以组合在单个输入/输出设备中。输入设备1230可以包括自然用户界面(NUI)。
一个或多个无线调制解调器1260可以耦合到天线(未示出),并且可以支持处理器1210和外部设备之间的双向通信,如本领域所理解的。调制解调器1260一般示出,并且可以包括用于与移动通信网络1204和/或其他基于无线电的调制解调器(例如,蓝牙1264和/或者Wi-Fi 1262)通信的蜂窝调制解调器1266。至少一个无线调制解调器1260通常配置为与一个或多个蜂窝网络通信,例如用于单个蜂窝网络内、蜂窝网络之间或移动设备与公共交换电话网络(PSTN)之间的数据和语音通信的GSM网络。
移动设备1202还可以包括至少一个输入/输出端口1280、电源1282、卫星导航系统接收器1284,例如全球定位系统(GPS)接收器、加速计1286和/或物理连接器1290,可以是USB端口、IEEE1394(FireWire)端口和/或RS-232端口。所示出的移动设备1202的组件不是必需的或全部包含的,如本领域技术人员可以认识到的,可以删除任何组件,并且可以添加其他组件。
在实施例中,移动设备1202被配置为实现本文流程图的任何上述特征。用于执行本文描述的任何操作、步骤和/或功能的计算机程序逻辑可以被存储在存储器1220中,并由处理器1210执行。
图13描述了可以实现实施例的计算设备1300的示例性实现。例如,本文描述的实施例可以在一个或多个计算设备或类似于计算设备1300的系统中实现,也可以在固定或移动计算机实施例中实现计算设备1300的多个实例,包括计算设备1400的一个或一个以上特征和/或替代特征。此处提供的计算设备1300的描述仅用于说明目的,并不旨在进行限制。如相关技术人员所知,实施例可在其他类型的计算机系统、服务器和/或集群等中实施。
如图13所示,计算设备1300包括一个或多个处理器(称为处理器电路1302)、系统存储器1304和总线1306,该总线将包括系统存储器1304在内的各种系统组件耦合到处理器电路1302。处理器电路1302是在一个或多个物理硬件电路设备元件和/或集成电路设备(半导体材料芯片或模具)中实现的电气和/或光学电路,作为中央处理单元(CPU)、微控制器、微处理器和/或其他物理硬件处理器电路。处理器电路1302可以执行存储在计算机可读介质中的程序代码,例如操作系统1330的程序代码、应用程序1332、其他程序1334等。总线1306表示几种总线结构中的一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用各种总线体系结构的处理器或本地总线。系统存储器1304包括只读存储器(ROM)1308和随机存取存储器(RAM)1310。基本输入/输出系统1312(BIOS)存储在ROM1308中。
计算设备1300还具有以下一个或多个驱动器:用于读取和写入硬盘的硬盘驱动器1314,用于读取或写入可移动磁盘1318的磁盘驱动器1316,以及用于读取或读取可移动光盘1322(例如CD ROM、DVD ROM或其他光介质)的光盘驱动器1320。硬盘驱动器1314、磁盘驱动器1316和光盘驱动器1320分别通过硬盘驱动器接口1324、磁盘驱动接口1326和光盘驱动接口1328连接到总线1306。驱动器及其相关联的计算机可读介质为计算机提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。尽管描述了硬盘、可移动磁盘和可移动光盘,但其他类型的基于硬件的计算机可读存储介质可用于存储数据,例如闪存卡、数字视频磁盘、RAM、ROM和其他硬件存储介质。
许多程序模块可能存储在硬盘、磁盘、光盘、ROM或RAM上。这些程序包括操作系统1330、一个或多个应用程序1332、其他程序1334和程序数据1336。应用程序1331或其他程序1333可以包括,例如,用于实现本文所述实施例的计算机程序逻辑(例如,计算机程序代码或指令),例如,但不限于图1A中的系统100A、图1B中的系统100B、,图2中的系统200、图3的系统300和图8的组800,以及其中的任何组件和/或子组件,以及本文描述的流程图/流程图,包括其中的部分,和/或本文描述的进一步示例。
用户可以通过键盘1338和指针设备1340等输入设备将命令和信息输入计算设备1300。其他输入设备(未被示出)可能包括麦克风、操纵杆、游戏板、卫星天线、扫描仪、触摸屏和/或触摸板、接收语音输入的语音识别系统、接收手势输入的手势识别系统等。这些和其他输入设备通常通过连接到总线1306的串行端口接口1342连接到处理器电路1302,但可以通过其他接口连接,例如并行端口、游戏端口或通用串行总线(USB)。
显示器1344还通过接口(例如视频适配器1346)连接到总线1306。显示器1344可以位于计算设备1300的外部,也可以并入计算设备1300。显示器1344既可以显示信息,也可以作为接收用户命令和/或其他信息(例如,通过触摸、手指手势、虚拟键盘等)的用户界面。除了显示器1344之外,计算设备1300还可以包括其他外围输出设备(未显示),例如扬声器和打印机。
计算设备1300通过适配器或网络接口1350、调制解调器1352或其他通过网络建立通信的方式连接到网络1348(例如,互联网)。调制解调器1352可以是内部的或外部的,可以通过串口接口1342连接到总线1306,如图13所示,也可以使用其他接口类型(包括并行接口)连接到总线130。
TPM 1354可以连接到总线1306,并且可以是任何TPM的一个体现,这一点可以被具有本发明优点的相关领域的技术人员理解。例如,TPM 1354可配置为执行TPM的一个或多个功能或操作,用于本文的各种实施例。
如本文所用,术语“计算机程序介质”、“计算机可读介质”、“计算机可读存储介质”和“计算机可读存储设备”等用于指代物理硬件介质。此类物理硬件介质的示例包括与硬盘驱动器1314相关的硬盘、可移动磁盘1318、可移动光盘1322、其他物理硬件介质,例如RAM、ROM、闪存卡、数字视频磁盘、zip磁盘、MEM、基于纳米技术的存储设备、,以及其他类型的物理/有形硬件存储介质(包括图13的存储器1320)。此类计算机可读介质和/或存储介质与通信介质和传播信号(不包括通信介质和传输信号)相区别,且不与之重叠。通信介质在调制数据信号(如载波)中包含计算机可读指令、数据结构、程序模块或其他数据。术语“调制数据信号”是指具有一个或多个特征的信号,其设置或更改的方式可以对信号中的信息进行编码。例如,但不限于,通信媒体包括无线媒体,如声学、RF、红外和其他无线媒体,以及有线媒体。实施例还针对与针对计算机可读存储介质的实施例分离且不重叠的通信介质。
如上所述,计算机程序和模块(包括应用程序1332和其他程序1334)可以存储在硬盘、磁盘、光盘、ROM、RAM或其他硬件存储介质上。此类计算机程序也可通过网络接口1350、串口接口1342或任何其他接口类型接收。当应用程序执行或加载这些计算机程序时,使计算设备1300能够实现本文讨论的实施例的特征。因此,这些计算机程序表示计算设备1300的控制器。
实施例还涉及包括存储在任何计算机可读介质或计算机可读存储介质上的计算机代码或指令的计算机程序产品。此类计算机程序产品包括硬盘驱动器、光盘驱动器、存储设备包、便携式记忆棒、存储卡和其他类型的物理存储硬件。
四、其他示例和优点
如上所述,体现本文所述技术的系统和设备可以以各种方式配置和启用,以执行其用于使用远程主体对象对外部身份进行安全资源授权的相应功能。在实施例中,可以不执行本文描述的任何流程图和/或流程图的一个或多个步骤或操作。此外,除了或代替本文所述的任何流程图和/或流程图中的步骤或操作之外的步骤或操作也可以被执行。此外,在示例中,本文描述的任何流程图和/或流程图的一个或多个操作可以不按顺序执行、按备用顺序执行,或者部分(或完全)彼此同时执行或与其他操作同时执行。
如本文所述,配置为执行功能和/或操作的实施例的系统、设备、组件等也被视为执行此类功能和/或者操作。
如上所述,使用远程主体对象对外部身份进行安全资源授权,通过利用权限、访问策略、以及数据资源所有者的域的目录中的对象,来改进对安全数据资源的远程访问,这些对象由外部域定义,并且在数据资源所有者的域中也是不可变的——数据资源所有者仅允许基于定义的权限和访问策略授予或拒绝访问权。也就是说,本文的实施例对远程主体使用严格管控的、提供者定义的访问条件,并且允许保护所有者的数据资源,同时保护远程主体的身份信息,这些信息此前不可用于软件服务和应用程序,更不用说基于云的平台,在这样的平台中客户租户允许其他租户和/或合作伙伴经由RPO访问安全存储的数据资源。
此外,计算系统和平台的安全性被改进,同时仍然允许由外部/远程主体访问安全的数据资源。也就是说,所描述的实施例以使在其上运行的应用程序/服务能够以更安全的方式被维护的方式,为计算系统和平台提供安全数据资源访问,当需要执行任务时,仍然提供数据资源访问。此外,本文中提供的利用RPO的实施例不需要针对外部实体的各个主体在目录中的条目的持久性,也不需要持久存储RPO。ELM功能基于访问策略中定义的生命周期和任务完成情况,提供对RPO和访问权限以及群组成员资格的清理。这减少了计算系统中目录的存储需求和管理。
本文中的实施例还可扩展到云平台/租户实现之外,并可扩展到现有的认证机制。例如,云服务提供者(CSP)场景可以完全使用RPO和访问分组来构建,如本文所述。在这样的实施例中,生成访问分组来定义能够提供更长的自动批准策略的策略,例如,以年为单位而不是天,并且用户/远程主体能够获得更短或实时的授权(例如,以小时或天为单位)。因此,实施例可扩展到CSP机制,同时提供比当前模型中的持久访问更稳妥和更安全的数据资源访问。此外,RPO可配置为“wids”声明,使应用程序/服务能够理解当前模型中的令牌,从而轻松迁移到本文描述的RPO模型。本文的实施例具有可扩展性,并且适用于跨不同类型的现有工作负载支持不同类型的现有体验/工具。
除了本文中其他章节中指出的差异外,所描述的实施例在其他方面与现有认证模型不同。仅作为一个示例,现有访客访问模型的本质是提供用于持久存储在数据资源所有者域的目录中的指定访客用户,而不是所描述的RPO生命周期,RPO生命周期提供用于完成任务的群组/团队,并且具有有限的时间有效性。另一示例是,一些现有模型对两个已知群组之间的契约具有很强的依赖性。RPO实施例在访问控制中提供了更高的粒度。
对于基于云的平台和/或与数据资源所有权和/或所请求的访问相关的域之外的身份提供者(IdP),RPO也可配置为支持IdP,从而使跨云平台操作的管理服务提供者(MSP)和CSP能够简化对所有者域中的数据资源的访问管理,无需复制他们的身份并增加安全风险。换言之,所描述的实施例对第一方实体以及第三方实体提供了同等适用性。
此外,尽管所述实施例可扩展到该实施例,但不会破坏现有的认证模型,例如访客访问和其他模型。也就是说,本文中的RPO实施例可以用于补充或替代这些现有模型,这些模型仍可以在同一平台/系统中用于服务特定场景。
本节中描述的附加示例和实施例可适用于本公开的任何其他节或小节中公开的示例。
本描述中的实施例提供了使用远程主体对象对外部身份进行安全资源授权的系统、设备和方法。例如,本文描述了一种系统。根据实施例,该系统被启用并配置用于授权第二域的远程主体访问第一域中的安全数据资源。该系统包括处理系统以及至少一个存储器,该处理系统包括一个或多个处理器,至少一个存储器存储由处理系统运行以执行方法的程序代码。该方法包括从与远程主体相关联的接口接收访问域主机的第一域的请求,第一域不同于第二域,该请求包括远程主体的标识符和第二域凭证,以及确定远程主体与由域主机生成并存储在域主机的目录中的远程主体对象相关联,远程主体对象无法从第二域访问。该方法还包括验证远程主体被标识为与第二域的群组相关联,该群组具有如权限集合中枚举的、对安全数据资源的至少一个权利,以及由第二域定义并在远程主体对象中表示的至少一个相关联的访问策略,以及生成用于远程主体的访问令牌,该访问令牌包括至少一个权利。该方法还包括向远程主体提供访问令牌,以引起接口的重定向,该接口提供远程主体对安全数据资源的访问。
在系统的实施例中,该方法包括在所述确定之前,使得在域主机处的第一域中生成远程主体对象,该远程主体对象基于权限集合将远程主体链接到权利。
在系统的实施例中,生成远程主体对象是基于在第一域内接受代表第二域发起并提供的针对安全数据资源的访问权限批准请求而执行的。
在系统的实施例中,生成远程主体对象包括确定与其相关联的时间有效期,并且该方法包括在域主机处并且在时间有效期到期之后执行以下至少一项:从目录中删除远程主体对象,或者从目录中删除权限集合和至少一个相关联的访问策略。
在系统的实施例中,该方法包括在所述提供访问令牌之后生成审计报告,该审计报告包括以下至少一项:用于远程主体对安全数据资源执行的操作的一个或多个条目,该条目不包括远程主体的个人标识符,或者远程主体对象所关联的权限集合的标记。
在实施例中,系统包括基于云的服务平台,该平台包括被配置为生成访问令牌的安全令牌服务,并且域主机包括基于云的服务平台的第一租户,第二域包括基于云的服务平台的第二租户。
在系统的实施例中,该方法包括在所述接收之后,验证远程主体的身份的条目在第一域的目录中不存在,并且在第二域的目录中存在,并响应于所述验证而执行所述确定。
本文还描述了一种方法。根据实施例,该方法用于授权第二域的远程主体访问第一域中的安全数据资源。该方法包括从与远程主体相关联的接口接收访问域主机的第一域的请求,第一域不同于第二域,该请求包括远程主体的标识符和第二域凭证,以及确定在域主机的目录中生成并存储的、并且从第二域无法访问的远程主体对象在该目录中存在且有效。该方法还包括验证远程主体被标识为与第二域的群组相关联,该群组具有如在权限集合中枚举的、对安全数据资源的至少一个权利,以及由第二域定义并在远程主体对象中表示的至少一个相关联的访问策略,生成用于远程主体的访问令牌,该访问令牌包括至少一个权利,以及向远程主体提供该访问令牌,以引起用户接口的重定向,该接口提供远程主体对安全数据资源的访问。
在实施例中,该方法包括在所述确定之前,使得在域主机处的第一域中生成远程主体对象,该远程主体对象基于权限集合将远程主体链接到授权。
在该方法的实施例中,生成远程主体对象是基于在第一域内对代表第二域发起并提供的安全数据资源的访问权限批准请求的接受而执行的。
在该方法的实施例中,生成远程主体对象包括确定与其相关联的时间有效期,并且该方法包括在域主机处并且在时间有效期到期后,执行以下至少一项:从目录中删除远程主体对象,或者从目录中删除权限集合和至少一个相关联的访问策略。
在实施例中,该方法包括在所述提供访问令牌之后,生成审计报告,其中包括以下至少一项:用于由远程主体对安全数据资源执行的操作的一个或多个条目,或者远程主体对象所关联的权限集合的标记。
在该方法的实施例中,生成访问令牌是在基于云的服务平台处由其安全令牌服务执行的,并且域主机包括基于云的服务平台的第一租户,并且第二域包括基于云的服务平台的第二租户。
在实施例中,该方法包括标识第一域的目录中的与第二域相关联的一个或多个远程主体对象,以及确定一个或多个远程主体对象中的至少一个远程主体具有群组属性,远程主体对象被包括在一个或多个远程主体对象的至少一个中,以及确定远程主体与远程主体对象相关联包括确定远程主体被标识为如远程主体对象中所表示的群组的成员。
本文还描述了至少一种计算机可读存储介质,其存储程序指令,该程序指令在由一个或多个处理设备执行时执行方法。根据实施例,该方法用于授权第二域的远程主体访问第一域的安全数据资源。该方法包括从与远程主体相关联的接口接收访问域主机的第一域的请求,第一域不同于第二域,该请求包括远程主体的标识符和第二域凭证,以及确定远程主体与由域主机生成的并且存储在域主机的目录中的远程主体对象相关联,并且无法从第二域访问远程主体对象。该方法还包括验证远程主体被标识为与第二域的群组相关联,该群组具有如权限集合中枚举的对安全数据资源的至少一个权利,以及由第二域定义并在远程主体对象中表示的至少一个相关联的访问策略,生成用于远程主体的访问令牌,该访问令牌包括至少一个权利,以及向远程主体提供该访问令牌,以引起接口的重定向,该接口提供远程主体对安全数据资源的访问。
在至少一种计算机可读存储介质的实施例中,该方法包括在所述确定之前,使得在域主机处的第一域中生成远程主体对象,该远程主体对象基于权限集合将远程主体链接到权利。
在至少一种计算机可读存储介质的实施例中,生成远程主体对象是基于在第一域内对代表第二域发起和提供的安全数据资源的访问权限批准请求的接受而被执行的。
在至少一种计算机可读存储介质的实施例中,生成远程主体对象包括确定与其相关联的时间有效期,并且该方法包括在域主机处并且在时间有效期到期之后执行以下至少一项:从目录中删除远程主体对象,或者从目录中删除权限集合和至少一个相关联的访问策略。
在至少一种计算机可读存储介质的实施例中,确定远程主体与远程主体对象相关联包括:确定远程主体还与另一远程主体对象相关联,并且生成用于远程主体的、包括至少一个权利的访问令牌包括:将用于远程主体的访问令牌生成为还包括对与另一远程主体对象相关联的另一安全数据资源的一个或多个权利。
在至少一种计算机可读存储介质的实施例中,访问令牌包括远程主体对象的标识符,而不包括远程主体的个人标识符。
本文还描述了另一系统。根据实施例,该系统被启用并被配置用于授权第二域的远程主体访问第一域中的安全数据资源。该系统包括处理系统以及至少一个存储器,该处理系统包括一个或多个处理器,该至少一个存储器存储由处理系统运行以执行方法的程序代码。该方法包括在第二域处并且与第二域相关联,生成指定群组的数据结构,该数据结构基于对域主机的第一域中的安全数据资源的访问要求,第一域不同于第二域,以及获取第二域处生成的权限模板,该权限模板定义了权限集合,权限集合包括群组的成员对安全数据资源的至少一个权利。该方法还包括生成与权限集合相关联的安全数据资源的访问策略,以及向第一域的域主机提供权限集合和访问策略,权限集合和访问策略从第一域是不可变的。该方法还包括作为群组的成员,代表远程主体向第一域提供针对安全数据资源的访问权限批准请求,针对安全数据资源的访问权限批准请求导致至少基于来自第一域的访问权限批请求的批准的指示,在远程主体对象的域主机处的第一域的目录中生成远程主体对象,该远程主体对象将群组链接到如权限集合中枚举的并由访问策略指定的安全数据资源的至少一个权利。
在系统的实施例中,该方法包括在所述代表远程主体向第一域提供访问权限批准请求之后,接收来自远程主体或群组的另一成员的后续访问权限批准请求,确定在目录中批准保持有效或远程主体对象保持有效中的至少一项,以及向远程主体或群组的另一成员通知针对后续访问权限批准请求的有效批准。
在系统的实施例中,该方法包括从远程主体接收用于添加到群组的请求,针对特定于群组的、并存储在第二域处的群组访问策略验证远程主体的凭证,以及通过在数据结构中存储远程主体信息来将远程主体添加到群组。
在系统的实施例中,该方法包括接收访问权限批准请求的批准的指示,以及向第二域中的远程主体提供批准的通知。
在系统的实施例中,访问策略指定针对远程主体对象的时间有效期,并且该方法包括基于以下至少一项,使得在第一域的域主机处删除远程主体对象、权限集合以及访问策略:从第一域接收到访问权限撤销或时间有效期到期。
在系统的实施例中,该方法包括,在所述生成数据结构之前,从第一域接收任务请求,其中对安全数据资源的访问要求与该任务请求相关联,并且该任务请求的任务包括该安全数据资源所需的操作,以及基于任务的完成指示,使得在第一域的域主机处删除权限集合和访问策略。
在系统的实施例中,该方法包括,在所述生成数据结构之前,接收来自第一域的任务请求,其中对安全数据资源的访问要求与该任务请求相关联,接受的指示被包含在任务请求中,以及任务请求的任务包括安全数据资源所需的操作。
本文还描述了另一方法。根据实施例,该方法用于授权第二域的远程主体访问第一域中的安全数据资源。该方法包括在第二域处并且与第二域相关联,生成指定群组的数据结构,该数据结构基于对域主机的第一域中的安全数据资源的访问要求,第一域不同于第二域名,以及获取第二域处生成的权限模板,该权限模板定义了权限集合,权限集合包括群组的成员对安全数据资源的至少一个权利。该方法还包括生成与权限集合关联的安全数据资源的访问策略,以及向第一域的域主机提供权限集合和访问策略,权限集合和访问策略从第一域是不可变的。该方法还包括作为群组的成员,代表远程主体向第一域提供针对安全数据资源的访问权限批准请求,针对安全数据资源的访问权限批准请求导致至少基于来自第一域的访问权限批准请求的批准的指示,在远程主体对象的域主机处的第一域的目录中生成远程主体对象,该远程主体对象将群组链接到如权限集合中枚举的并由访问策略指定的安全数据资源的至少一个权利。
在实施例中,该方法包括在所述代表远程主体向第一域提供访问权限批准请求之后,接收来自远程主体或群组的另一成员的后续访问权限批准请求,确定在目录中批准保持有效或远程主体对象保持有效中的至少一项,以及向远程主体或群组的另一成员通知针对后续访问权限批准请求的有效批准。
在实施例中,该方法包括从远程主体接收用于添加到群组的请求,针对特定于群组的、并存储在第二域处的群组访问策略验证远程主体的凭证,以及通过在数据结构中存储远程主体信息来将远程主体添加到群组。
在实施例中,该方法包括接收访问权限批准请求的批准的指示,以及向第二域中的远程主体提供批准的通知。
在该方法的实施例中,访问策略指定针对远程主体对象的时间有效期,并且该方法包括基于以下至少一项,使得在第一域的域主机处删除权限集合以及访问策略:从第一域接收到访问权限撤销或时间有效期到期。
在实施例中,该方法包括,在所述生成数据结构之前,接收来自第一域的任务请求,其中对安全数据资源的访问要求与该任务请求相关联,并且该任务请求的任务包括该安全数据资源所需的操作,以及基于任务的完成指示,使得在第一域的域主机处删除的权限集合和访问策略。
在实施例中,该方法包括,在所述生成数据结构之前,接收来自第一域的任务请求,其中对安全数据资源的访问要求与该任务请求相关联,接受的指示被包含在任务请求中,以及任务请求的任务包括安全数据资源所需的操作。
本文还描述了另外的至少一种计算机可读存储介质,其存储程序指令,该程序指令在由一个或多个处理设备运行时执行方法。根据实施例,该方法用于授权第二域的远程主体访问第一域的安全数据资源。该方法包括在第二域处并且与第二域相关联,生成指定群组的数据结构,该数据结构基于对域主机的第一域中的安全数据资源的访问要求,第一域不同于第二域,以及获取第二域处生成的权限模板,该权限模板定义了权限集合,权限集合包括群组的成员对安全数据资源的至少一项权利。该方法还包括生成与权限集合相关联的安全数据资源的访问策略,以及向第一域的域主机提供权限集合和访问策略,权限集合和访问策略从第一域是不可变的。该方法还包括作为群组的成员,代表远程主体向第一域提供针对安全数据资源的访问权限批准请求,针对安全数据资源的访问权限批准请求导致至少基于来自第一域的访问权限批准请求的批准的指示,在远程主体对象的域主机处的第一域的目录中生成远程主体对象,该远程主体对象将群组链接到如权限集合中枚举的并由访问策略指定的安全数据资源的至少一个权利。
在至少一种计算机可读存储介质的实施例中,该方法包括在所述代表远程主体向第一域提供访问权限批准请求之后,接收来自远程主体或群组的另一成员的后续访问权限批准请求,确定在目录中批准保持有效或远程主体对象保持有效中的至少一个,以及向远程主体或群组的另一成员通知针对后续访问权限批准请求的有效批准。
在至少一种计算机可读存储介质的实施例中,该方法包括从远程主体接收用于添加到群组的请求,基于特定于群组的、并存储在第二域处的群组访问策略验证远程主体的凭证,以及通过在数据结构中存储远程主体信息来将远程主体添加到群组中。
在至少一种计算机可读存储介质的实施例中,访问策略指定针对远程主体对象的时间有效期,该方法包括基于以下至少一项,使得在第一域的域主机处删除权限集合和访问策略:从第一域接收到访问权限撤销或时间有效期到期。
在至少一种计算机可读存储介质的实施例中,该方法包括,在所述生成数据结构之前,从第一域接收任务请求,其中对安全数据资源的访问要求与该任务请求相关联,并且该任务请求的任务包括该安全数据资源所需的操作,以及基于任务的完成指示,使得在第一域的域主机处删除权限集合和访问策略。
在至少一种计算机可读存储介质的实施例中,该方法包括,在所述生成数据结构之前,从第一域接收任务请求,其中对安全数据资源的访问要求与该任务请求相关联,接受的指示被包含在任务请求中,以及任务请求的任务包括安全数据资源所需的操作。
五、结论
尽管上面已经描述了所公开主题的各种实施例,但应该理解,它们只是以举例的方式提出,而不是限制。熟悉相关技术的人将理解,在不背离所附权利要求中定义的实施例的精神和范围的情况下,可以对其进行形式和细节上的各种改变。因此,所披露主题的广度和范围不应受到上述任何示例性实施例的限制,而应仅根据以下权利要求及其等同物来定义。

Claims (15)

1.一种用于授权第二域的远程主体访问第一域的安全数据资源的系统,所述系统包括:
处理系统,包括一个或多个处理器;以及
至少一个存储器,其存储将由所述处理系统运行以执行方法的程序代码,所述方法包括:
从与远程主体相关联的接口接收访问域主机的第一域的请求,所述第一域不同于所述第二域,所述请求包括所述远程主体的标识符和第二域凭证;
确定在所述域主机的目录处生成并存储的、并且从所述第二域无法访问的远程主体对象在所述目录中存在且有效;
验证所述远程主体被标识为与所述第二域的群组相关联,所述群组具有如在权限集合中枚举的、对所述安全数据资源的至少一个权利以及由所述第二域定义并在所述远程主体对象中表示的至少一个相关联的访问策略;
生成用于所述远程主体的访问令牌,所述访问令牌包括所述至少一个权利;以及
向所述远程主体提供所述访问令牌,以引起所述接口的重定向,所述接口提供所述远程主体对所述安全数据资源的访问。
2.根据权利要求1所述的系统,其中所述方法包括:
在所述确定之前,使得在所述域主机处的所述第一域的所述目录中生成所述远程主体对象,所述远程主体对象基于所述权限集合将所述远程主体链接到所述权利。
3.根据权利要求2所述的系统,其中所述生成所述远程主体对象是基于在所述第一域内对代表所述第二域被发起并提供的所述安全数据资源的访问权限批准请求的接受而执行的。
4.根据权利要求2所述的系统,其中所述生成所述远程主体对象包括确定与其相关联的时间有效期;并且
其中所述方法包括在所述域主机处并且在所述时间有效期到期后,执行以下至少一项:
从所述目录中删除所述远程主体对象;或者
从所述目录中删除所述权限集合和所述至少一个相关联的访问策略。
5.根据权利要求1所述的系统,其中所述方法包括:
在所述提供所述访问令牌之后,生成审计报告,所述审计报告包括以下至少一项:
用于由所述远程主体对所述安全数据资源执行的操作的一个或多个条目,所述一个或多个条目不包括所述远程主体的个人标识符,或者
所述远程主体对象所关联的所述权限集合的标记。
6.根据权利要求1所述的系统,包括:
基于云的服务平台,包括被配置为生成所述访问令牌的安全令牌服务;并且
其中所述域主机包括所述基于云的服务平台的第一租户,并且所述第二域包括所述基于云的服务平台的第二租户。
7.根据权利要求1所述的系统,其中所述方法包括:
在所述接收之后,验证所述远程主体的所述身份的条目在所述第一域中的所述目录中不存在,并且在所述第二域的目录中存在;以及
响应于所述验证而执行所述确定。
8.一种用于授权第二域的远程主体访问第一域的安全数据资源的方法,所述方法包括:
从与所述远程主体相关联的接口接收访问域主机的第一域的请求,所述第一域不同于所述第二域,所述请求包括所述远程主体的标识符和第二域凭证;
确定在所述域主机的目录处生成并存储的、并且从所述第二域无法访问的远程主体对象在所述目录中存在且有效;
验证所述远程主体被标识为与所述第二域的群组相关联,所述群组具有如在权限集合中枚举的、对所述安全数据资源的至少一个权利以及由所述第二域定义并在所述远程主体对象中表示的至少一个相关联的访问策略;
生成用于所述远程的访问令牌,所述访问令牌包括所述至少一个权利;以及
向所述远程主体提供所述访问令牌,以引起所述接口的重定向,所述接口提供所述远程主体对所述安全数据资源的访问。
9.根据权利要求8所述的方法,其中所述方法包括:
在所述确定之前,使得在所述域主机处的所述第一域的所述目录中生成所述远程主体对象,所述远程主体对象基于所述权限集合将所述远程主体链接到所述权利。
10.根据权利要求9所述的方法,其中所述生成所述远程主体对象是基于在所述第一域内对代表所述第二域被发起并提供的所述安全数据资源的访问权限批准请求的接受而执行的。
11.根据权利要求9所述的方法,其中所述生成所述远程主体对象包括确定与其相关联的时间有效期;并且
其中所述方法包括在所述域主机处并且在所述时间有效期到期后,执行以下至少一项:
从所述目录中删除所述远程主体对象;或者
从所述目录中删除所述权限集合和所述至少一个相关联的访问策略。
12.根据权利要求8所述的方法,其中所述方法包括:
在所述提供所述访问令牌之后,生成审计报告,所述审计报告包括以下至少一项:
用于由所述远程主体对所述安全数据资源执行的操作的一个或多个条目,或者
所述远程主体对象所关联的所述权限集合的标记。
13.根据权利要求8所述的方法,其中所述生成所述访问令牌是在基于云的服务平台处由其安全令牌服务执行的;并且
其中所述域主机包括所述基于云的服务平台的第一租户,并且所述第二域包括所述基于云的服务平台的第二租户。
14.根据权利要求8所述的方法,其中所述方法包括:
标识所述第一域的所述目录中的与所述第二域相关联的一个或多个远程主体对象;以及
确定所述一个或多个远程主体对象中的至少一个远程主体对象为具有群组属性;并且
其中所述远程主体对象被包括在所述一个或多个远程主体对象中的所述至少一个远程主体对象中,并且
其中所述确定所述远程主体与所述远程主体对象相关联包括确定所述远程主体被标识为如所述远程主体对象中所表示的所述群组的成员。
15.至少一种计算机可读存储介质,其存储程序指令,所述程序指令在由一个或多个处理设备运行时,执行根据权利要求8至14中任一项所述的用于授权第二域的远程主体访问第一域的安全数据资源的方法。
CN202180039222.2A 2020-05-29 2021-04-22 使用远程主体对象针对外部身份的安全资源授权 Pending CN115698998A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/887,893 US11570181B2 (en) 2020-05-29 2020-05-29 Secure resource authorization for external identities using remote principal objects
US16/887,893 2020-05-29
PCT/US2021/028536 WO2021242454A1 (en) 2020-05-29 2021-04-22 Secure resource authorization for external identities using remote principal objects

Publications (1)

Publication Number Publication Date
CN115698998A true CN115698998A (zh) 2023-02-03

Family

ID=75888255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180039222.2A Pending CN115698998A (zh) 2020-05-29 2021-04-22 使用远程主体对象针对外部身份的安全资源授权

Country Status (4)

Country Link
US (3) US11570181B2 (zh)
EP (1) EP4158518A1 (zh)
CN (1) CN115698998A (zh)
WO (1) WO2021242454A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11695559B2 (en) * 2019-09-30 2023-07-04 Salesforce, Inc. Nested tenancy that permits a hierarchy having a plurality of levels
US11233800B2 (en) 2020-05-29 2022-01-25 Microsoft Technology Licensing, Llc Secure resource authorization for external identities using remote principal objects
US20220046004A1 (en) * 2020-08-05 2022-02-10 Jpmorgan Chase Bank, N.A. Method for provision of access grant
US11941139B2 (en) * 2020-12-10 2024-03-26 Disney Enterprises, Inc. Application-specific access privileges in a file system
WO2022157713A1 (en) * 2021-01-22 2022-07-28 Waters Technologies Ireland Limited Methods, mediums, and systems for tenancy management
WO2023272419A1 (en) * 2021-06-28 2023-01-05 Microsoft Technology Licensing, Llc Virtual machine provisioning and directory service management
US11750568B1 (en) * 2021-09-07 2023-09-05 Amazon Technologies, Inc. Secure proxy service
US20240205213A1 (en) * 2022-12-15 2024-06-20 Schlumberger Technology Corporation Integrating data access among disparate platforms over a cloud storage scheme

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417723B1 (en) 2008-09-12 2013-04-09 Salesforce.Com, Inc. System, method and computer program product for enabling access to a resource of a multi-tenant on-demand database service utilizing a token
US8316369B2 (en) 2009-12-29 2012-11-20 Microsoft Corporation Dataflow component scheduling using reader/writer semantics
US8433764B2 (en) * 2010-02-09 2013-04-30 Google Inc. Identification of message recipients
US10025942B2 (en) 2014-03-21 2018-07-17 Ptc Inc. System and method of establishing permission for multi-tenancy storage using organization matrices
US10305912B2 (en) 2015-02-26 2019-05-28 Smart Social Media, Inc. Methods of enabling inter-organizational and public social collaboration
US10318265B1 (en) 2015-10-09 2019-06-11 Amazon Technologies, Inc. Template generation for deployable units
US10140434B2 (en) 2016-05-03 2018-11-27 Microsoft Technology Licensing, Llc Group-based external sharing of electronic data
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US11012441B2 (en) 2017-06-30 2021-05-18 Open Text Corporation Hybrid authentication systems and methods
US10592293B2 (en) 2017-08-31 2020-03-17 Cisco Technology, Inc. Tenant-specific policy generation and enforcement within containers
US10853511B2 (en) 2018-03-19 2020-12-01 Salesforce.Com, Inc. Securely accessing and processing data in a multi-tenant data store
US11233800B2 (en) 2020-05-29 2022-01-25 Microsoft Technology Licensing, Llc Secure resource authorization for external identities using remote principal objects

Also Published As

Publication number Publication date
WO2021242454A1 (en) 2021-12-02
EP4158518A1 (en) 2023-04-05
US20210377276A1 (en) 2021-12-02
US11570181B2 (en) 2023-01-31
US11888856B2 (en) 2024-01-30
US20240114033A1 (en) 2024-04-04
US20230121372A1 (en) 2023-04-20

Similar Documents

Publication Publication Date Title
US11888856B2 (en) Secure resource authorization for external identities using remote principal objects
US11552956B2 (en) Secure resource authorization for external identities using remote principal objects
US10848520B2 (en) Managing access to resources
CA2968248C (en) Identity infrastructure as a service
US10263994B2 (en) Authorized delegation of permissions
RU2598324C2 (ru) Средства управления доступом к онлайновой службе с использованием внемасштабных признаков каталога
RU2691211C2 (ru) Технологии для обеспечения сетевой безопасности через динамически выделяемые учетные записи
US10484385B2 (en) Accessing an application through application clients and web browsers
US11196749B2 (en) System and method for controlling a multi-tenant service-oriented architecture
US9569634B1 (en) Fine-grained structured data store access using federated identity management
US10897466B2 (en) System and method for externally-delegated access control and authorization
US20170286653A1 (en) Identity risk score generation and implementation
JP6921831B2 (ja) ユーザアカウントと企業ワークスペースとの関連付け
US11102196B2 (en) Authenticating API service invocations
US20100093310A1 (en) Device authentication within deployable computing environment
US9077704B2 (en) Multiple authentication support in a shared environment
US11477187B2 (en) API key access authorization
US20230195877A1 (en) Project-based permission system
US20180152434A1 (en) Virtual content repository
US20240248979A1 (en) Persistent source values for assumed alternative identities
US9231955B1 (en) Multiparty authorization for controlling resource access
CN115422526B (zh) 角色权限管理方法、设备及存储介质
KR20090128203A (ko) 호스팅 서비스 환경에서 접근권한 제어 장치 및 그 방법
WO2023160632A1 (zh) 针对飞地实例的云服务访问权限设置方法和云管理平台
Lee et al. Development of a User Management Module for Internet TV Systems

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