背景技术:
诸如公司和其他企业的组织常常将他们的计算装置网络化以便彼此通信并且与组织外部的计算装置通信。网络目录(还简称为“目录”)是关于装置、应用、人和计算机网络的其他共同对象的专门信息集合。具有计算网络的组织通常使用目录来有效地定位、组织、管理并且以其他方式管理网络资源。例如,用户可被添加到目录并且与特定凭证相关联。此后,可通过将用户提供的凭证(例如,在登录过程期间获得的凭证)与目录中的凭证进行比较来认证用户。随后可从目录中检索关于用户被授权做什么的信息。作为另一实例,作为网络环境的一部分的各个计算机、打印机和其他装置可被列在目录中,并且应用或用户可在目录中查找可用装置的列表并且获得用于访问它们的信息(例如,名称、地址等)。
一些基于网络的服务提供商(例如,对外部客户的“基于云的”服务的提供商,诸如文件存储和备份、消息传递、社交网络等)维持他们自己的目录,并且部分地使用这些目录来向第三方应用和服务提供认证服务。客户和其他用户利用基于网络的服务提供商创建帐户并且获得用户凭据。随后,用户可使用与基于网络的服务提供商相关联的凭证登录到各种第三方应用和服务,并且基于网络的服务提供商可认证用户而不将用户的安全信息(例如,密码)暴露给第三方应用和服务。
附图说明
现在将参考以下附图来描述各个发明特征的实施方案。在全部附图中,参考数字可被重复使用来指示所参考元件之间的对应关系。附图被提供来示出本文所述的示例性实施方案,并且并不意图限制本公开的范围。
图1是根据一些实施方案的包括计算服务提供商和各种组织、应用以及用户的说明性网络环境的框图。
图2是根据一些实施方案的用于管理对目录的应用访问的用户界面的图。
图3是用于管理对目录的应用访问的说明性过程的流程图。
图4是基于网络的目录服务与用户、应用和组织之间的说明性交互和数据流的图。
图5是基于网络的目录服务与用户、应用和组织之间的另外说明性交互和数据流的图。
具体实施方式
引言
本公开涉及架构,其中与企业以及其他组织客户分开的目录服务(例如,基于云的或者其他远程目录服务)可促进客户自己的目录的使用以访问也与客户分开的应用、与所述应用交互并且以其他方式使用所述应用。目录服务可管理可与目录服务相关联的应用或者与目录服务和客户两者均分开的第三方应用对多个(例如,两个或更多个)客户的目录的访问。
一些常规目录服务提供商向第三方应用提供认证服务,并且应用可被授权来访问特定目录信息。例如,社交网络可维持其中存储了用户登录凭证、联系人信息以及与用户相关联的其他信息的用户的目录。社交网络可向第三方应用提供登录和认证服务,从而允许用户使用单组登录凭证登录到多个应用而不需要担心其密码和其他信息未经授权地暴露给其他应用。另外,社交网络(具有来自用户的授权)可允许第三方应用访问特定目录信息,诸如关于用户的联系人的信息、对社交网络的特定于用户的部分的访问等。然而,此类常规目录服务不与多个分开的客户目录集成;相反,它们通常维持其自己的目录。因此,希望使用此类常规目录服务的用户必须创建新的账户并且获得新的登录凭证而不是利用其自己现有的账户、登录凭证以及其他目录信息(例如,来自由用户为其工作的企业管理的目录的目录信息)。
本公开的一些方面涉及管理远离客户的应用对多个(例如,两个或更多个)不同客户的目录的访问的系统。各个客户(例如,企业和其他组织)可通过服务多个客户的基于网络的目录服务配置对其自己的目录的访问。在一些实施方案中,基于网络的目录服务可提供客户可利用其配置对客户的目录的应用访问的界面。例如,客户可访问由基于网络的目录服务托管或生成的基于web的界面。客户可选择被配置来使用或者以其他方式与基于网络的目录服务兼容的各个应用。客户可随后选择性地授权一个或多个应用访问客户的目录并且授权应用执行其他目录相关的动作。说明性地,客户可授权应用执行的目录相关动作可尤其包括:创建、修改和/或删除用户;创建、修改和/或删除用户组;管理密码;列出用户;认证用户;将计算机加入域;创建、修改、读取、写入和删除文件;修改文件存储结构等。在一些实施方案中,客户可具有多个目录并且可在逐个目录的基础上授权应用访问和/或分配许可。在另外实施方案中,客户可在给定目录内具有多组用户或其他对象,并且客户可在逐个组的基础上授权访问和/或分配许可。
本公开的另外方面涉及管理应用对特定客户的目录的访问,无论那些目录是场所内目录还是场所外目录。各个客户可具有他们自己场所内(例如,存储在物理存在于或者邻近其场所的服务器上)或者场所外(例如,存储在物理远离客户场所的服务器,诸如基于网络的目录服务的数据中心或另一计算服务提供商上)的目录。为了支持两种类型的客户,基于网络的目录服务可实现应用编程接口(“api”)和/或允许应用访问、修改并以其他方式使用客户目录而不管它们是场所内还是场所外(相对于客户)的其他系统部件。因此,单个基于网络的目录服务可促进任何数量的应用对任何数量的客户的目录的访问,而不管目录的物理位置如何。这种基于网络的目录服务比维持其自己的目录以由应用访问的传统基于网络的目录服务或者提供对仅单个客户的目录的访问的目录服务更灵活。在一些实施方案中,允许组织提供给应用的关于场所内目录的访问许可可与提供给应用的关于场所外目录的访问相同,而在其他实施方案中,允许组织提供的关于场所内目录的访问许可可能与场所外目录不同。
尽管出于说明的目的,本公开中所描述的实施方案的方面将集中在应用、目录、目录服务以及基于网络的计算服务提供商的具体实例和实施方案,但本领域的技术人员将理解,本文中所公开的实例和技术仅为说明性的并且可应用于任何数量的服务、过程或应用。现在将关于某些实例和实施方案描述本公开的各个方面,所述实例和实施方案意图说明本公开而不是限制本公开。
示例性网络环境
图1示出根据一些实施方案的可实现本公开的目录管理特征的示例性网络环境。如本文所用,术语“目录”通常是指关于用户、装置、应用以及计算机网络的其他共同资源的数据的有组织的集合。计算机网络(或其某一子集)上的每个资源可被表示为目录中的对象,并且关于特定资源的信息(例如,名称、地址、许可等)可被存储为所述对象的属性。信息可安全地存储在对象内或者与对象相关联,使得仅具有足够许可的用户能够访问、修改或以其他方式使用信息。如本文所用,术语“许可”通常是指可被授予用户、装置、应用和服务的安全许可、访问权、策略以及其他形式的授权。此类许可常常尤其指示:可访问、修改、创建、删除或使用哪些计算资源(由目录中的对象表示);可执行哪些网络相关或目录相关的动作;等等。
如图所示,网络环境包括通过一个或多个网络110通信的各种用户装置102、计算服务提供商104、组织106以及第三方应用服务器108。计算服务提供商104可向各种组织或其他客户提供应用、目录管理服务和/或其他基于网络的服务。组织106a-106c(或其他客户)可采用计算服务提供商104来向与组织相关联的用户提供应用访问,管理组织的目录等。各个用户可使用计算装置102来通过使用来自其各自组织106a-106c的凭证来访问由计算服务提供商104(或第三方应用服务器108)托管的应用。另外,计算服务提供商104可根据各自组织的判断向应用提供对各种组织106a-106c的目录的访问,如下面更详细描述的。
用户计算装置102可对应于多种多样的计算装置,包括台式计算装置、膝上型计算装置、终端装置、移动电话、平板计算装置、媒体播放器、可佩戴计算装置(例如智能手表、智能眼镜等),以及具有一个或多个计算机处理器、计算机可读存储器和网络访问能力的各种其他电子计算装置和设备。一些用户计算装置102可与特定组织106a-106c相关联。例如,组织可具有保持在场所内的或者主要由与组织相关联的雇员或其他用户在场所外使用的各种用户计算装置102。在一些实施方案中,用户计算装置102中的一些或全部可与任何组织分开,诸如由任何数量的用户使用以执行各种任务的公共计算机或家庭计算机,所述任务可包括使用与特定组织106a-106c或者计算服务提供商104的其他客户相关联的凭证访问应用。
计算服务提供商104可以是被配置来托管或以其他方式提供对应用140的访问、管理单独客户组织106a-106c的目录和/或提供其他基于网络的服务和资源的计算系统。例如,计算服务提供商104可以是可通过通信网络110访问的服务器或服务器组。计算服务提供商104可包括用于提供本文所述的各种特征的多个部件,诸如可由组织106和用户计算装置102访问的一个或多个应用或应用服务器140以及目录管理系统或服务142。计算服务提供商104还可存储各种场所外目录144,诸如用于组织160b的场所外目录,如下所述。计算服务提供商104还可包括各种数据存储区,诸如应用访问数据存储区146,以便存储关于可由计算服务提供商104内的应用140和/或第三方应用服务器108上的应用访问的目录的元数据。在一些实施方案中,计算服务提供商104可包括另外或者比图1所示更少的部件。
如本文所用,术语“场所外目录”是指远离与其相关联的组织的目录,以便将这种目录与位于组织的场所内的目录区分开。因此,尽管目录可物理存储在计算服务提供商104的场所内,但所述目录可仍然被称为场所外目录,因为它相对于其所属的组织(例如,拥有或操作由目录描述的网络的组织)是场所外的。另外,尽管目录可物理存储在计算服务提供商104的场所外,但所述目录可仍然被称为场所内目录,因为它相对于其所属的组织是场所内的。
计算服务提供商104可以是单个计算装置,或者它可包括逻辑地或物理地组合在一起以集体作为服务器系统操作的多个不同的计算装置,诸如计算机服务器。计算服务提供商104的部件可各自实现为硬件,诸如服务器计算装置,或者实现为硬件和软件的组合。另外,计算服务提供商104的部件可在一个服务器计算装置上组合或者单独分开或者在若干服务器计算装置上分组。在一些实施方案中,可将计算服务提供商104所提供的特征和服务实现为可通过通信网络110来使用的web服务。在另外的实施方案中,由在托管计算环境中实现的一个或多个虚拟机来提供特征和服务。托管计算环境可包括一个或多个迅速供应且释放的计算资源,所述计算资源可包括计算装置、联网装置和/或存储装置。托管计算环境还可称为云计算环境。
组织106a-106c可对应于计算服务提供商104的各种客户。尽管本文使用了术语“组织”,但涉及此类组织的特征可另外地或替代地涉及具有目录(无论是场所内还是场所外)并且希望使用计算服务提供商104来管理由计算服务提供商104或第三方应用服务器108托管的应用对目录的访问的任何客户。
维持场所内目录160的组织可具有存储目录160的一个或多个服务器。例如,组织106a可具有包括各种服务器的数据中心,并且场所内目录160可存储在一个或多个服务器上。维持场所外目录的组织可采用计算服务提供商104的服务,其可将场所外目录存储在场所外目录数据存储区144中。例如,组织106b可根本不维持场所内目录,而是可依赖于计算服务提供商104来维持组织的目录144。一些组织可选择在场所内和/或场所外维持多个目录。例如,组织106c可以存储多个场所内目录160,每个以类似于组织106a(如上所述)的方式,并且组织106c还可选择采用计算服务提供商104来维持场所外目录144。在此实例中,由计算服务提供商104维持的目录144可以是场所内目录的镜像或子集(例如,用于备份或灾后恢复目的),或者其可以是完全单独的目录(例如,与场所内目录160不同的区域中的计算资源的目录)。
通信网络110可以是可能由各种不同方操作的链接网络的公共可访问网络,诸如互联网。在一些实施方案中,通信网络110可以是或者包括互联网、专用网、个人区域网、局域网、广域网、电缆网络、卫星网络、蜂窝电话网络等或其组合。
设置对目录的应用访问
图2示出用于管理对组织的一个或多个目录的应用访问的示例性用户界面。系统管理员或与组织相关联的某一其他用户,诸如图1所示的组织106a-106c中的一个,可访问计算服务提供商104以管理对组织的目录的应用访问。说明性地,计算服务提供商104可包括生成并传输用于管理目录和应用的基于网络的内容页的服务器(例如,web服务器)。图2中示出的内容页200是这种内容页的实例。
界面可包括用于显示关于组织的目录的信息以及用于配置对目录的应用访问的单独面板、区域或部分。例如,目录信息202可包括目录名称、id、大小(例如,用户或其他对象的数量)、类型(例如,场所内或场所外)、启动日期、地址、描述、状态、应用以及使能够使用目录的服务等。
应用授权部分204可包括可使用当前目录的所有应用和服务的列表。如图所示,可用应用可包括由计算服务提供商104托管或以其他方式管理的应用。另外,由第三方服务器108托管的应用可通过计算服务提供商104(例如,通过由计算服务提供商104提供的api)访问组织的目录,并且还可在应用授权部分204中列出。用户可通过例如激活或去激活复选框206或者与被配置来指示对项目的选择或取消选择的某一其他界面控件交互来选择性地授权或解除授权各个应用。
对于用户已选择授权的应用,用户可确定可向应用提供哪些许可。可提供下拉式列表208或者被配置来呈现多个可选择选项的某一其他界面控件,以便允许用户选择许可或者以其他方式授权针对各个应用的目录相关动作。在一些实施方案中,可授权应用执行的目录相关动作包括:创建、修改和/或删除用户;创建、修改和/或删除用户组;管理密码;列出用户;认证用户;将计算机加入域;创建、修改和删除文件和文件系统对象等。为一些应用选择的许可可能不同于为其他应用选择的许可。在一些情况下,用户可为单个应用选择多个许可,诸如当可用选项不是相互排斥时(例如,允许文件存储和备份应用修改用户信息,并且还将新的计算机加入到与目录相关联的域)。在另外实施方案中,为了便于管理,可创建(例如,在目录内和/或在计算服务提供商104处)角色以涵盖多个目录相关动作。随后可将应用分配给一个或多个角色。
基于通常授予目录管理服务142或计算服务提供商104的许可,可限制下拉式列表208中呈现的或者可为特定应用选择的选项。当组织采用计算服务提供商104来管理组织的目录(或其部分)时,组织可不授权计算服务提供商104访问和修改目录的所有方面的完全权限。例如,组织106a可维持场所内目录160,并且可创建组织106a可分配给计算服务提供商104的目录160内的用户帐户或角色。用户帐户或角色可包括仅执行可对目录执行或利用目录执行的所有目录相关动作的子集的许可,诸如对一些对象或对象类型的完全权限,对其他对象或对象类型的只读访问,无法访问再其他对象或对象类型等。随后可将用户帐户(或分配给角色的用户帐户)提供给计算服务提供商104以用于访问目录160。因此,当计算服务提供商104的目录管理服务142代表某一应用或服务访问组织106a的场所内目录160时,目录管理服务142可仅执行已经被授权用于用户账户的目录相关动作,目录管理服务142正在利用所述用户账户访问目录160。
可基于授予目录管理服务142的许可以及授予各自应用的许可限制可由应用通过目录管理服务142执行的目录相关动作。如上所述,目录管理服务142或计算服务提供商104通常可仅被授权执行特定目录中的可能目录相关动作的子集。当组织管理员或其他用户设置对组织的目录的应用访问时,分配给任何特定应用的许可可不超过授予目录管理服务142的许可。然而,在一些实施方案中,用户可通过授予少于授予目录管理服务142的完整许可组来“缩减”许可。例如,目录管理服务142可被授予读取和修改用户帐户但不能创建新的用户帐户的许可。当用户向将通过目录管理服务142访问目录的应用分配许可时,可能不允许用户授予应用创建新用户账户的许可,因为目录管理服务142本身不能这样做。然而,用户可通过例如授予对使用信息的只读访问来限制对应用于目录管理服务142的限制之外的用户帐户的应用访问。
当应用被授权访问目录并被分配特定许可时,关于应用及其关于目录的许可的数据可存储在计算服务提供商104处,使得计算服务提供商104可快速实现或以其他方式促进授权的访问。例如,元数据可存储在应用访问数据存储区146中,指示特定应用(诸如文件存储和备份应用)可访问组织的目录内的计算装置的文件系统。此后,当具有组织的目录中的登录凭证的用户登录到计算服务提供商104并且希望使用应用时,计算服务提供商104可确定哪些应用可访问目录、应用已经被授权执行哪些目录相关动作等。在一些实施方案中,除了应用访问数据存储区146之外或作为替代,应用授权和许可可存储在组织的目录中。例如,如果组织的目录是由计算服务提供商104管理的场所外目录,则应用授权和许可可与组织的目录信息的其余部分一起存储在场所外目录数据存储区144中。
管理对目录的应用访问
图3示出可由目录管理服务142或计算服务提供商104的某一其他模块或部件使用以管理对客户目录的应用访问的采样过程300。有利地,目录管理服务142可管理对多个不同组织或其他客户的目录的应用访问,而不是目录管理服务142的单个目录。此外,在一些实施方案中,多个不同组织的目录可以是场所内目录、场所外目录或其某一组合。以这种方式,目录管理服务142可向各种应用提供一致的目录访问服务,而不管哪些组织拥有目录、目录的位置、目录的格式等。
过程300在框302处开始。例如,过程300可在用户发起与计算服务提供商104的连接时自动开始,所述发起连接通过以下方式进行:在用户计算装置102上启动浏览器应用并且导航到登录页面,通过在建立与计算服务提供商104的连接的用户计算装置102上启动客户端应用等。
在框304处,计算服务提供商104可接收用户登录凭证和关于用户的组织的信息。登录凭证可由用户通过图形界面(例如,为由浏览器应用显示的网页上的用户名和密码提供的文本框)提供,或者它们可在用户计算装置102与计算服务提供商104之间建立连接期间或之后自动提供。在一些实施方案中,用户的组织可由用户通过图形界面(例如,使用下拉式列表)提供,利用用户的登录凭证(例如,预先挂在用户的用户名上)提供,或者如果用户已访问了特定于组织的登录页面(例如,使用包括组织的标识符的网络地址),则所述用户的组织可被计算服务提供商104已知。
在框306处,目录管理服务142或计算服务提供商104的某一其他模块或部件可确定在认证用户、授权特定动作以及以其他方式在计算服务提供商104处进行用户会话时使用的特定目录。可基于随用户凭证提供的信息确定目录。例如,用户凭证的“用户名”部分可包括与特定客户相关联的标识符、客户的特定域、特定目录等。在一些实施方案中,可基于用户与计算服务提供商104建立会话的方式确定目录。例如,用户可已使用统一资源定位符(“url”)或与特定客户唯一相关联的其他网络地址、客户的特定域、特定目录等访问了登录页面。
在框308处,目录管理服务142或计算服务提供商104的某一其他模块或部件可认证用户并确定用户被授权访问哪些应用。由计算服务提供商104的应用服务器140还是由第三方应用服务器108托管的任何数量的应用可被配置来与目录管理服务程序142一起工作。然而,不是所有的应用可被允许访问当前目录(如上所确定的),并且当前用户可能不被允许访问应用(即使特定应用被允许访问当前目录)。目录管理服务142可使用当前目录和用户供应(或自动获得)的用户凭证来认证用户。目录管理服务142可随后确定用户被允许访问哪些应用,并且在框310处,呈现可用应用的列表。在一些实施方案中,用户可首先选择应用并随后登录到所述应用。
在决策框312处,目录管理服务142或计算服务提供商104的某一其他模块或部件可确定用户是否已访问特定应用。如果是,则过程300可前进到框314;否则,过程300可终止。
在框314处,目录管理服务142或计算服务提供商104的某一其他模块或部件可确定针对选择的或以其他方式访问的应用的特定于应用的许可。如上所述,特定于应用的许可可存储在应用访问元数据存储区146中。因此,目录管理服务142可通过查询或以其他方式访问应用访问元数据存储区146中的数据来确定针对当前应用的特定于应用的许可。在一些实施方案中,特定于应用的许可可存储在某个其他位置,诸如当前目录(例如,当前客户的场所外目录)中,并且可从所述位置获得许可。
在框316处,目录管理服务142或计算服务提供商104的某一其他模块或部件可实现特定于应用的许可。特定于应用的许可的实现可包括:使能够或允许应用使用当前目录执行某些动作、禁止应用使用当前目录执行某些动作等。图4和图5示出目录管理服务142与各种用户计算装置、应用和组织之间的示例性交互和数据流,以便说明特定于应用的许可的实现。
图4示出在设置对目录160的应用访问的过程以及目录管理服务142对目录访问的随后管理期间用户计算装置102、应用140、组织106a以及目录管理服务142之间的交互。
在(a)处,应用140可向目录管理服务142注册,所述目录管理服务142可在(b)处将关于应用140的信息存储在应用访问元数据146中。应用140的注册允许目录管理服务142设置对各种组织的目录的许可(例如,将应用140提供为图2所示的界面中的选项)。所存储的应用信息可包括例如应用名称、标志、描述、技术信息等。在一些实施方案中,应用开发者或主机可向目录管理服务142注册应用140。在其他实施方案中,目录管理服务142(或管理员、技术人员或与其相关联的其他人员)可注册应用140。
在(c)处,组织106a可设置对组织的场所内目录160的应用许可。在一些实施方案中,管理员、技术人员或与组织相关联的其他人可使用以上关于图2描述的界面200。例如,应用140可以是由计算服务提供商104托管的文件存储和备份应用。应用140可能需要实质性许可以便向组织106a提供其功能的全部范围,包括访问和修改组织的计算机的文件系统的许可、将计算装置(例如存储服务器)加入到组织的域的许可等。可单独地或者通过向应用分配特定角色或其他策略来向应用140授予这些和其他许可。在(d)处,目录管理服务142可将关于授予应用140的许可的元数据存储在应用访问数据存储区146中。
在(e)处,用户可使用用户计算装置102来登录到计算服务提供商104。说明性地,用户可以是组织106a的雇员,并且可使用由组织供应的凭证。在(f)处,目录服务提供商142可使用目录160来认证用户并且确定用户可访问哪些应用或者以其他方式确定用户被授权做什么。在本实例中,用户可被授权访问文件存储和备份应用140,并且在(g)处,用户可启动应用以便访问某一先前存储的文件、改变备份协议等。
在(h)处,目录管理服务142可确定应用140关于组织的目录160具有哪些许可。如上所述,应用140可具有实质性许可以便促进由应用140提供的全部范围的功能的实现。因此,应用140可在(i)处执行涉及实质性目录许可的动作,因为应用140已经被授予此类许可,并且关于被授予的许可的信息已经存储在应用访问数据存储区146中并且从所述应用访问数据存储区146中检索。在一些实施方案中,应用140可能不一定允许用户请求执行应用140已被授权执行的所有动作。相反,应用140可缩减当前用户的许可,代之允许用户仅发起动作的子集。例如,如果当前用户不是文件存储和备份专家或者不是组织106a的信息技术(it)部门的一部分,则用户可能不被允许发起应用140以其他方式授权执行的动作。许可的这种缩减可基于目录160中的授予用户的许可。例如,任何给定用户可仅使用任何给定应用来发起用户和应用都被组织授权来执行的动作。
图5示出用户计算装置102、组织106b、由第三方服务器108托管的应用180以及目录管理服务142之间的交互。所说明的交互可发生在设置对组织160b的场所外目录的应用访问的过程期间以及目录管理服务142对目录访问的随后管理期间。
在(1)处,应用180可向目录管理服务142注册,所述目录管理服务可在(2)处存储关于应用180的信息,如以上关于图4描述的。在(3)处,组织106b可设置对组织的场所外目录160的应用许可。在一些实施方案中,管理员、技术人员或与组织相关联的其他人可使用以上关于图2描述的界面200。例如,应用180可以是由第三方服务器108托管的消息传递应用。应用108可能仅需要中等级别的许可,以便向组织106b提供其功能的全部范围,诸如对用户的联系人信息的只读访问。如上所述,可单独地或者通过向应用分配特定角色或其他策略来向应用108授予许可。在(4)处,目录管理服务142可将关于授予应用的许可的元数据存储在应用访问数据存储区146中。
在(5)处,用户可使用用户计算装置102来登录到计算服务提供商104。说明性地,用户可以是组织106b的雇员,并且可使用由组织供应的凭证。在(6)处,目录服务提供商142可使用存储在场所外数据存储区144或某一其他位置中的组织106b的场所外目录来认证用户并且确定用户可访问哪些应用或者以其他方式确定用户被授权做什么。在本实例中,用户可被授权访问消息传递应用180,并且在(7)处用户可启动应用180。
在(8)处,目录管理服务142可确定应用180关于组织的场所外目录具有哪些许可。如上所述,应用108可具有中等许可,诸如对用户联系人信息的只读访问。因此,应用180可在(9)处执行涉及中等目录许可的动作。
图4和图5中说明的每个实例可由单个目录管理服务或系统促进。本文示出和描述的实例仅为说明性的,并且无意进行限制。如将理解的,还可通过相同的目录管理系统促进另外的实例,诸如对单个组织的多个目录的访问的管理、管理各种其他类型的应用对目录的访问等。因为目录管理服务可管理集成或第三方应用对多个组织的目录(无论是场所内还是场所外)的访问,目录管理服务可向广泛的组织提供灵活的解决方案。
术语
取决于实施方案,本文所述的过程或算法中的任一个的某些动作、事件或功能可按不同顺序来执行,可被添加、合并或全部排除(例如,为了实践算法,并不是所有所描述的操作或事件都是必需的)。此外,在某些实施方案中,操作或事件可同时执行(例如,通过多线程处理、中断处理或多个处理器或处理器核心或者在其他平行架构上),而不是循序执行。
结合本文中公开的实施方案所描述的各种说明性逻辑块、模块、例程和算法步骤可实施为电子硬件或者实现为电子硬件和可执行软件的组合。为了清楚地说明这种可互换性,以上已经大体上在各种说明性部件、块、模块和步骤的功能性方面描述这些说明性元件、块、模块和步骤。这种功能性是实现为硬件还是在硬件上运行的软件取决于具体应用和强加于整个系统的设计约束。可针对每个具体应用以不同方式实现所描述的功能性,但是这种实施决定不应被解释为导致背离本公开的范围。
此外,可由机器(诸如通用处理器装置、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑装置、离散门或晶体管逻辑、离散硬件部件或被设计来执行本文所描述功能的上述各者的任何组合)来实现或执行结合本文中公开的实施方案所描述的各种说明性逻辑块和模块。通用处理器装置可以是微处理器,但是在替代方案中,处理器装置可以是控制器、微控制器或状态机、上述各者的组合等等。处理器装置可包括被配置来处理计算机可执行指令的电气电路。在另一个实施方案中,处理器装置包括fpga或在不处理计算机可执行指令的情况下执行逻辑操作的其他可编程装置。处理器装置还可被实现为计算装置的组合,例如,dsp和微处理器的组合、多个微处理器、与dsp核心结合的一个或多个微处理器或者任何其他此类配置。尽管本文中主要关于数字技术来描述,但是处理器装置还可包括主要是模拟的部件。例如,本文中描述的信号处理算法中的一些或全部可在模拟电路或混合模拟和数字电路中被实现。计算环境可包括任何类型的计算机系统,包括但不限于,举例来说,基于微处理器的计算机系统、大型计算机、数字信号处理器、便携式计算装置、装置控制器或器具内的计算引擎。
结合本文中公开的实施方案所描述的方法、过程、例程或算法的元件可直接体现在硬件中、由处理器装置执行的软件模块中,或这两者的组合中。软件模块可驻存在ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom或任何其他形式的非暂时性计算机可读存储介质中。示例性存储介质可耦合到处理器装置,使得处理器装置可从存储介质读取信息,并将信息写到存储介质。在替代方案中,存储介质可与处理器装置成一体。处理器装置和存储介质可驻存在asic中。asic可驻留在用户终端中。在替代方案中,处理器装置和存储介质可作为离散部件驻存在用户终端中。
例如,关于图3描述的过程300可体现在存储在与计算服务提供商104相关联的计算系统的一个或多个非暂时计算机可读介质(诸如一个或多个磁盘驱动器或固态存储器装置)上的一组可执行程序指令中。当过程300被发起时,可执行程序指令可被加载到诸如ram的存储器中,并且由计算系统的一个或多个处理器执行。在一些实施方案中,计算系统可包括多个计算装置,诸如服务器,并且所述过程或其部分可由多个服务器串行或并行地执行。
除非另外特别说明,或者在所用上下文中另外加以理解,否则诸如尤其“可”、“能够”、“可能”、“可”、“例如”等等本文所使用的条件语言通常意图表达:某些实施方案包括某些特征、元件和/或步骤,而其他实施方案不包括这些特征、元件和/或步骤。因此,这种条件语言通常并非意图暗示所述特征、元件和/或步骤无论如何都是一个或多个实施方案所必需的,或者并非暗示一个或多个实施方案一定包括用于在借助或不借助其他输入或者提示的情况下决定是否包括这些特征、元件和/或步骤或是否在任意特定实施方案中执行这些特征、元件和/或步骤的逻辑。术语“包括(comprising)”、“包括(including)”、“具有”等等是同义的,并且是以开放方式包含性地使用,而且不排除额外元件、特征、行为、操作等等。另外,术语“或者”是在其包含性意义(而不是其排除性意义)上使用,从而使得当(例如)用来连接元件的列表时,术语“或者”意味着所述列表中元件的一个、一些或全部。
除非另外特别说明,否则诸如短语“x、y、z中的至少一个”的分离性语言在上下文中通常应理解为用于呈现项目、项等可以是x、y或z或其任意组合(例如,x、y和/或z)。因此,这种分离性语言一般并非意图并且不应该暗示某些实施方案要求x中的至少一个、y中的至少一个或z中的至少一个都存在。
除非另外明确地陈述,否则诸如“一个”(“a”或“an”)的冠词通常应被解释为包括一个或多个所描述项目。因此,诸如“被配置来……的装置”的短语意图包括一个或多个所列举装置。这类一个或多个所列举装置也可被共同地配置来执行所陈述列举项。例如,“被配置来执行列举项a、b和c的处理器”可包括被配置来执行列举项a的第一处理器与被配置来与执行列举项b和c的第二处理器相结合地工作。
虽然上文的详细说明已经在应用于各种实施方案时被展示、描述并指出新颖特征,但是可理解,在所示出装置或算法的形式和细节上的各种省略、代替和改变可在不背离本公开精神的情况下做出。如可认识到的,本文所述的某些实施方案可在不提供本文所阐述的所有特征和益处的形式内体现,因为一些特征可与其他特征分开使用或实践。本文公开的某些实施方案的范围是由所附权利要求书而不是由前述描述来指示。处于权利要求书的等效意义和范围内的所有改变都应涵盖在权利要求书的范围中。
本公开的实施方案可鉴于以下条款来描述:
1.一种包括一个或多个物理计算装置的目录管理系统,所述目录管理系统被配置来至少:
从与所述目录管理系统分开的多个组织中的每一个接收目录访问配置信息,其中从所述多个组织中的各个组织接收的所述目录访问配置信息反映至少一个应用的授权以使用所述组织的网络目录执行至少一个动作;
建立与多个可用应用中的第一应用的通信,所述第一应用在与所述多个组织中的第一组织分开的一个或多个物理计算装置上执行;
至少部分地基于从所述第一组织接收的访问配置信息确定所述第一应用被授权使用所述第一组织的网络目录执行的至少一个动作;以及
使所述第一应用能够使用所述第一组织的所述网络目录执行所述至少一个动作。
2.如条款1所述的目录管理系统,其中所述第一组织的所述网络目录包括关于所述第一组织的计算网络的多种资源的数据的集合,并且其中所述数据的至少一部分被组织到表示所述多种资源中的各个资源的对象中。
3.如条款1所述的目录管理系统,其中所述第一组织的所述网络目录包括物理地存储在所述第一组织的场所内以及远离所述目录管理系统的目录。
4.如条款1所述的目录管理系统,其还被配置来至少部分地基于从所述第一组织接收的所述访问配置信息禁止所述应用使用所述第一组织的所述网络目录执行第二动作。
5.一种计算机实现的方法,其包括:
如由包括一个或多个计算装置的目录管理系统实现的,
为应用确定关于访问第一组织的第一目录的第一策略,其中所述应用和所述目录管理系统每个与所述第一组织分开;
至少部分地基于所述第一策略使所述应用能够使用所述第一目录执行第一组动作;
为所述应用确定关于访问第二组织的第二目录的第二策略,其中所述应用和所述目录管理系统每个与所述第二组织分开,并且其中所述第二策略与所述第一策略不同;以及
至少部分地基于所述第二策略使所述应用能够使用所述第二目录执行第二组动作,其中所述第二组动作与所述第一组动作不同。
6.如条款5所述的计算机实现的方法,其中所述第一组织的所述第一目录包括关于所述第一组织的计算网络的多种资源的数据的集合。
7.如条款5所述的计算机实现的方法,其中所述第一组动作包括以下各项中的至少一个:列出用户;认证用户;创建用户;修改用户;删除用户;改变密码;创建组;修改组;删除组;将计算装置加入域;读取文件;写入文件;创建文件;删除文件;或者修改存储结构。
8.如条款5所述的计算机实现的方法,其还包括至少部分地基于从所述第一组织接收的应用访问配置信息确定所述第一策略。
9.如条款5所述的计算机实现的方法,其中使所述应用能够执行所述第一组动作包括:
提供所述应用使用来发起各个动作的应用编程接口;以及
代表所述应用访问所述第一目录以执行所述各个动作。
10.如条款5所述的计算机实现的方法,其中所述第一组织的所述第一目录包括物理地存储在所述第一组织的场所内以及远离所述目录管理系统的目录。
11.如条款5所述的计算机实现的方法,其中所述第一组织的所述第一目录包括物理地存储在所述目录管理系统处的目录。
12.如条款5所述的计算机实现的方法,其还包括禁止所述应用使用所述第一目录执行动作,其中所述应用被允许使用所述第二目录执行所述动作。
13.具有存储在其上的可执行指令的非暂时计算机可读存储装置,所述可执行指令被配置来致使目录管理服务的一个或多个物理计算装置执行包括以下各项的过程:
为第一应用确定关于访问组织的目录的第一策略,其中所述第一应用和所述目录管理系统每个与所述组织分开;
至少部分地基于所述第一策略使所述第一应用能够使用所述目录执行第一组动作;
为第二应用确定关于访问所述组织的所述目录的第二策略,其中所述第二应用与所述组织分开,并且其中所述第二策略与所述第一策略不同;以及
至少部分地基于所述第二策略使所述第二应用能够使用所述目录执行第二组动作,其中所述第二组动作与所述第一组动作不同。
14.如条款13所述的非暂时计算机可读存储装置,其中所述组织的所述目录包括关于所述组织的计算网络的多种资源的数据的集合。
15.如条款13所述的非暂时计算机可读存储装置,至少部分地基于从所述组织接收的应用访问配置信息确定所述第一策略。
16.如条款13所述的非暂时计算机可读存储装置,其中使所述第一应用能够执行所述第一组动作包括:
提供所述第一应用使用来发起各个动作的应用编程接口;以及
代表所述第一应用访问所述目录以执行所述各个动作。
17.如条款13所述的非暂时计算机可读存储装置,其中所述组织的所述目录包括物理地存储在所述组织的场所内以及远离所述目录管理系统的目录。
18.如条款13所述的非暂时计算机可读存储装置,其中所述组织的所述目录包括物理地存储在所述目录管理系统处以及远离所述组织的目录。
19.如条款13所述的非暂时计算机可读存储装置,所述过程还包括禁止所述第一应用使用所述目录执行动作,其中所述第二应用被允许使用所述目录执行所述动作。
20.如条款13所述的非暂时计算机可读存储装置,其中所述组织维持多个不同目录,并且其中所述第一应用被允许仅访问所述多个不同目录的子集。