CN111045788B - 用于虚拟机实例的自动目录加入 - Google Patents

用于虚拟机实例的自动目录加入 Download PDF

Info

Publication number
CN111045788B
CN111045788B CN201911279754.4A CN201911279754A CN111045788B CN 111045788 B CN111045788 B CN 111045788B CN 201911279754 A CN201911279754 A CN 201911279754A CN 111045788 B CN111045788 B CN 111045788B
Authority
CN
China
Prior art keywords
directory
computer system
virtual machine
service
instance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911279754.4A
Other languages
English (en)
Other versions
CN111045788A (zh
Inventor
孙·基兰·沙阿
高朗·潘卡吉·梅赫塔
古鲁普拉卡斯·班加罗尔·饶
托马斯·克里斯托弗·里索
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Priority to CN201911279754.4A priority Critical patent/CN111045788B/zh
Publication of CN111045788A publication Critical patent/CN111045788A/zh
Application granted granted Critical
Publication of CN111045788B publication Critical patent/CN111045788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications

Abstract

客户利用由虚拟计算机系统服务提供的接口来设置虚拟机实例,并且将此实例加入目录。所述接口可具有先前获得的域名,以及所述客户可用于加入所述虚拟机实例的一个或多个目录的互联网协议地址。所述虚拟计算机系统服务可与管理目录服务通信,以便获得可用于将请求传输到所述目录以允许所述虚拟机实例的加入的一组临时凭证。在设置所述实例之后,在所述实例内操作的代理可被配置来获得所述目录的所述域名和互联网协议地址,以便建立与所述目录的连接。所述代理还可被配置来获得所述一组临时凭证,以便将请求传输到所述目录以用于加入所述实例。

Description

用于虚拟机实例的自动目录加入
本申请是国际申请日为2014年11月10日的国际申请PCT/US2014/064894进入中国国家阶段的对应的申请号为201480068648.0的中国发明专利申请“用于虚拟机实例的自动目录加入”的分案申请。
相关申请的交叉引用
本专利申请出于所有目的以引用的方式合并2013年11月11日提交的标题为“MANAGED DIRECTORY SERVICE”的美国专利临时申请号61/902,790和2013年12月5日提交的标题为“AUTOMATIC DIRECTORY JOIN FOR VIRTUAL MACHINE INSTANCES”的美国专利申请号14/098,323的全部公开内容。
背景技术
客户利用目录服务来创建和维持目录(例如,文件系统、文件、用户、安全性策略、网络资源、应用程序、系统存储等),用于数据管理以及一般来讲,访问多种资源。目录服务可被配置来取决于客户的商业需求在用户操作的数据中心(例如,用户场所内的)中或在远程网络(例如,用户场所外的)中创建目录。然而,期望在用户场所内和用户场所外维持目录的客户可能会遇到许多困难。例如,利用用户场所内目录的客户可能被要求来创建用户场所外的独立目录和两个目录之间的同步数据以便维持相同的数据集。这可能要求客户为目录的每个用户维持多个账户。另外,由于多个目录的维持和安全性可能需要附加的资源,多个目录的维持可能增加客户的管理负担。用户可能必须执行一组复杂的操作来将计算机系统加入目录,这使问题变得更加严重。
附图说明
将参照附图描述根据本公开的各个实施方案,在附图中:
图1是可实现各个实施方案的环境的说明性实例;
图2是可实现各个实施方案的环境的说明性实例;
图3是根据至少一个实施方案的构成虚拟计算机系统服务的一个或多个组件的说明性实例;
图4是根据至少一个实施方案的环境的说明性实例,在所述环境中计算机系统实体可访问计算机系统资源;
图5是根据至少一个实施方案的通过虚拟机实例的自动加入来创建新的目录和虚拟机实例的说明性实例;
图6是根据至少一个实施方案的利用现有目录自动加入新虚拟机实例的说明性实例;
图7是根据至少一个实施方案的利用现有目录自动加入新虚拟机实例的说明性实例;
图8是根据至少一个实施方案的用于提供包括用于将新虚拟机实例加入现有目录的选择菜单的接口的过程的说明性实例;
图9是根据至少一个实施方案的用于制备新虚拟机实例以用于加入现有目录的过程的说明性实例;
图10是根据至少一个实施方案的用于将新虚拟机实例加入现有目录的过程的说明性实例;并且
图11示出可实现各个实施方案的环境。
具体实施方式
在以下描述中,将描述各个实施方案。出于解释的目的,将阐述具体的配置和细节,以便提供实施方案的透彻理解。然而,对本领域的技术人员将是显而易见的是,在没有具体细节的情况下也可以执行实施方案。此外,为了不使所描述的实施方案变得模糊,可能会省略或简化众所周知的特征。
本文描述和建议的技术涉及将计算机系统实例,诸如虚拟机或其他实例自动加入目录。在一个实施方案中,实体(例如,组织)可诸如通过对服务的一个或多个适当配置的应用程序接口(API)调用与虚拟计算机系统服务通信,以便请求创建可加入目录的虚拟机实例。所述实体可以是操作各种服务的计算资源服务提供商的客户,所述各种服务诸如管理目录服务、基于对象的数据存储服务、数据库服务、上述的虚拟计算机系统服务和多种其他服务。
在各个实施方案中,实体通过图形用户接口(GUI)与虚拟计算机系统服务对接,所述图形用户接口被配置来将一个或多个适当配置的API调用(例如,被配置成可由接收API调用的系统实现的API调用)传输到所述服务,以便指定应将虚拟机实例添加到哪个目录。例如,在一个实施方案中,GUI被配置来将一个户或多个适当配置的API调用传输到管理目录服务,以便获得可用于添加虚拟机实例的一个或多个可用目录的列表。因此,此列表可通过GUI呈现给实体,在所述点处实体可从列表选择适当的目录。可替代地,如果实体不具有任何可用的现有目录,那么GUI可包括将使得实体能够创建可用于添加虚拟机实例的新目录的选项。
在一个实施方案中,除一个或多个可用目录的列表之外,GUI进一步可从一个或多个可用目录中的每一个的管理目录服务获得网络地址信息(例如,全限定域名(FQDN)和一个或多个域名系统(DNS)互联网协议(IP)地址)。从而,当实体使用GUI来创建新的虚拟机实例并且选择将用于添加新创建的虚拟机实例的目录时,GUI可将FQDN、DNS IP地址和目录标识传输到虚拟计算机系统服务内的管理子系统。因此,管理子系统可利用FQDN、DNS IP地址和目录标识来获得目录的一个或多个凭证,并且将所有这些项目作为元数据存储在虚拟计算机系统服务内的元数据服务内。
在一个实施方案中,当创建虚拟机实例时,虚拟计算机系统服务将一个或多个适当配置的API调用传输到管理目录服务,以便获得专用于目录的可能对虚拟机实例加入目录必要的一个或多个凭证。在一些实施方案中,虚拟计算机系统服务被配置来将这些一个或多个获得的凭证、以及全限定域名(FQDN)和DNS互联网协议(IP)地址作为元数据存储在虚拟计算机系统服务内的元数据服务内。因此,在新创建的虚拟机实例内的代理可被配置来访问此元数据服务并且读取元数据以便获得上述信息。从而,在虚拟机实例内操作的代理可利用此信息来生成一个或多个适当配置的API调用并且将其传输到目录,以便将所述实例添加到目录。
以此方式,客户能够利用GUI来创建虚拟机实例,并且使所述虚拟机实例自动加入新的或现有目录。此外,本文描述和建议的技术有利于附加的技术优点。例如,因为虚拟机实例自动加入目录,所以可能不再要求客户检索附加的一组凭证以便将虚拟机实例手动加入目录。这继而可允许客户在更短的时间内使得目录对于其他用户可用,并且从而减少由目录实施延迟导致的任何故障时间。另外,这可允许客户和其他用户使用用于访问新的或现有目录的一组凭证来访问新创建的虚拟机实例。
图1示出可实践各个实施方案的环境100的说明性实例。在环境100中,计算资源服务提供商102向计算资源服务提供商的客户提供各种计算资源服务。计算资源服务提供商102可以是以一个或多个客户名义托管各种计算资源的组织。例如,计算资源服务提供商102可操作用于托管各种计算硬件资源的一个或多个设施,诸如硬件服务器、数据存储装置、网络装置和其他设备(诸如服务器机架、联网电缆等)。计算资源服务提供商102可利用其计算硬件资源来操作一种或多种服务。此类服务可包括使得计算资源服务提供商102的客户能够远程管理计算资源以支持客户的操作,同时减少或甚至消除客户投资物理设备的需要的服务。示例性服务包括但不限于各种数据存储服务(基于对象的数据存储服务、档案库数据存储服务、数据库服务等)、程序执行服务和其他服务。所述服务可由客户使用以便支持多种多样的活动,诸如操作网站、操作支持组织的企业系统、分布式计算和/或其他活动。
因此,如图1所示,环境100包括客户104。客户104可以是个人、组织或自动化过程,其可利用由计算资源服务提供商102提供的一种或多种服务来操作和管理目录106以便支持他的或她的操作。为了操作和管理目录106,例如,可要求客户104创建虚拟机实例110并且将其加入目录106。例如,虚拟机实例110可使得客户104为目录106的附加用户创建和提供凭证,以及部署各种应用程序并且针对目录106应用一个或多个安全性策略。因此,客户104可通过客户计算机系统装置向计算资源服务提供商102提供的虚拟计算机系统服务108提交一个或多个请求,以便配置虚拟机实例110并且请求将虚拟机实例110添加到目录106。
如以下将更详细时论的,虚拟计算机系统服务108可包括可使得客户104能够向虚拟计算机系统服务108提交一个或多个请求的图形用户接口(GUI)。例如,在一个实施方案中,所述GUI被配置来将一个或多个适当配置的API调用传输到管理目录服务112,以便请求客户104当前访问的所有可用目录106的列表,以及在所述列表内的每一个目录106的网络地址信息(例如,全限定域名(FQDN)和域名系统(DNS)互联网协议(IP)地址)。所有可用目录106的列表可用于填充GUI内的菜单,客户104可使用所述菜单来选择将用于添加虚拟机实例106的目录106。因此,一旦客户104已经指定哪个目录106将用于新创建的虚拟机实例110,GUI就可将所述目录106的标识、FQDN和DNS IP地址传输到虚拟计算机系统服务108内的管理子系统。
一旦虚拟机实例110已被创建,虚拟计算机系统服务108就可诸如通过一个或多个适当配置的API调用与管理目录服务112通信,以便获得对于将虚拟机实例110加入目录106所必要的一组凭证。虚拟计算机系统服务108可被配置来存储所述一组凭证、以及附加信息(例如,FQDN、DNS IP、目录标识等)作为所述服务内的元数据,并且使其可用于虚拟机实例110。因此,虚拟机实例110可被配置来从虚拟计算机系统服务108获得元数据,并且提取加入目录106所需的所述一组凭证和附加信息。虚拟机实例110可被配置来利用附加信息来建立对目录106的连接,并且进一步利用所述一组凭证来将虚拟机实例110加入目录106。一旦虚拟机实例110已被加入目录106,客户104以及任何其他委托用户也可利用一组用于访问目录106的凭证来访问虚拟机实例110。
图2示出可实践本公开的各个实施方案的环境200的说明性实例。在环境200中,计算资源服务提供商206可向客户202提供多种服务。客户202可以是组织,所述一组织可利用计算资源服务提供商206提供的各种服务来远程生成、测试和维持一个或多个目录和对于操作所述一个或多个目录所必要的虚拟机实例。如图2所示,客户202可通过一个或多个通信网络204(诸如互联网)与计算资源服务提供商206通信。从客户202到计算资源服务提供商206的一些通信可导致计算资源服务提供商206根据本文所述的各种技术或其变体来操作。
如以上所指出,计算资源服务提供商206可向其客户提供各种计算资源服务。例如,在此特定说明性实例中,计算资源服务提供商206提供至少两种类型的服务。在这个实例中,计算资源服务提供商提供的服务包括管理目录服务208、虚拟计算机系统服务210和一个或多个其他服务212,尽管并非本公开的所有实施方案将包括所有此类服务,并且可处除本文所明确描述的服务之外或作为本文所明确描述的服务的替代方案可提供附加服务。
管理目录服务208可提供多种服务,以便使得计算机系统和/或计算机系统客户端装置能够访问包括但不限于认证、授权和目录服务的客户目录。例如,管理目录服务208可提供认证服务,所述认证服务可认证用户、计算机系统、过程、自动化过程或其他此类实体的凭证,以便至少确定所述实体是否被授权访问管理目录服务208和/或与管理目录服务208相关联的客户目录。在一些实施方案中,凭证可由管理目录服务208自身认证,或它们可在管理目录服务208的控制下由过程、程序或服务认证,或它们可由可与管理目录服务208通信的过程、程序或服务认证,或它们可由这些的组合和/或其他此类服务或实体认证。
管理目录服务208也可提供授权服务,所述授权服务可授权用户、计算机系统、过程、自动化过程或其他此类实体至少确定所述实体可执行一个或多个可能动作中的哪些动作。实体可能或可能不被授权执行的动作的实例包括但不限于:创建客户目录上的目录,销毁客户目录上的目录,附接到客户目录上的目录,从客户目录上的目录脱离,提供对客户目录上的目录的访问链路,恢复对客户目录上的目录的访问链路,允许读取客户目录上的目录,允许写入客户目录上的目录和/或其他此类动作。
管理目录服务208还可提供目录服务,所述目录服务可根据授权凭证和/或策略来给认证实体提供对客户目录的访问。例如,在计算机系统实体可被授权来读写客户目录上的某个数据存储的实施方案中,这样做的能力可由目录服务提供。目录服务可通过提供对客户目录位置的链路(诸如,通过统一资源标识符(URI)对象或某个其他此类链接)来提供对客户目录的访问。如可设想的,可由计算机系统客户端装置、或由在数据中心处运行的过程、或由在连接到数据中心的计算机系统上运行的过程、或由管理目录服务208、或由这些的组合和/或其他此类计算机系统实体来提供URI。
虚拟计算机系统服务210可以是一批计算资源,其被配置来以计算资源服务提供商206的客户202的名义将虚拟机实例实例化到虚拟计算机系统上。计算资源服务提供商206的客户202可与虚拟计算机系统服务210交互,以便提供和操作在由计算资源服务提供商206托管(例如,物理主机)和操作的物理计算装置上实例化的虚拟计算机系统。虚拟计算机系统可用于各种目的,诸如作为支持客户目录的服务器操作。虚拟计算机系统的其他应用可以是支持数据库应用、电子商务应用、商业应用和/或其他应用。
当客户202与虚拟计算机系统服务210交互以便提供将加入客户目录的虚拟机实例时,客户202可获得对多种资源的访问。例如,虚拟机实例可取决于客户的需要来设置操作系统和多种应用程序。如以上所指出,虚拟机实例可在可由计算资源服务提供商206操作的物理主机上被实例化。虚拟机实例可包括代理,所述代理可被配置来访问虚拟计算机系统服务210,以便获得对将虚拟机实例加入客户目录所必要的元数据。因此,虚拟计算机系统服务210可被配置来与管理目录服务208交互,以便获得对连接到客户目录所必要的信息和凭证。如以上所指出,这可包括客户目录标识、FQDN、DNS IP地址和对于执行目录加入所必要的一个或多个密码。
计算资源服务提供商206可另外基于其客户202的需要维持一个或多个其他服务212。例如,计算资源服务提供商206可为其客户202维持数据库服务。数据库服务可以是一批计算资源,其共同操作以便为一个或多个客户202运行一个或多个数据库。计算资源服务提供商206的客户202可通过利用对服务的适当配置的API调用来操作和管理来自数据库服务的数据库。这继而可允许客户202维持和潜在地缩放数据库中的操作。其他服务包括但不限于,对象级数据存储服务、对象级档案数据存储服务、管理其他服务的服务和/或其他服务。
如以上所指出,虚拟计算机系统服务可由一个或多个客户使用,以便设置虚拟机实例并且将此虚拟机实例加入客户目录。因此,图3示出根据至少一个实施方案的包括虚拟计算机系统服务302的各种组件的环境300的说明性实例。虚拟计算机系统服务302可给客户提供可使得客户能够访问虚拟计算机系统服务302的接口304。客户可通过一个或多个通信网络(诸如互联网)来利用接口304。接口304可包括某些安全保护,以便确保客户具有访问虚拟计算机系统服务302的授权。例如,为了访问虚拟计算机系统服务302,客户在使用接口304时可能需要提供用户名和对应的密码或加密密钥。另外,提交到接口304的请求(例如,API调用)可能需要使用密码密钥生成的电子签名,以使得所述电子签名可由虚拟计算机系统服务302验证,诸如通过授权系统(未示出)。
一旦客户已经通过接口304获得对虚拟计算机系统服务302的访问,虚拟计算机系统服务302就可允许客户通过接口304与管理子系统306交互。例如,管理子系统306可使得用户能够远程设置虚拟机实例。客户可使用接口304和管理子系统306来生成包括操作系统和适合客户需要的多种应用程序的虚拟机实例。操作系统和各种应用程序可以机器图像308的形式维持在数据存储器中。虚拟计算机系统服务302可基于特定客户偏好来维持多个机械图像308,如在管理子系统306中指定的。当客户通过管理子系统306提交对设置虚拟机实例的请求时,虚拟计算机系统服务302可标识客户已经请求的机器图像,并且分配对于处理机器图像所必要的资源(例如,操作机器图像的组件所需要的处理器和随机存取存储器(RAM))。机器图像可在例如可充当所述实例的物理主机312的一个或多个物理存储装置(例如,一个或多个服务器或硬盘驱动器)上被实例化。
除利用接口304和管理子系统306来远程设置虚拟机实例之外,客户可利用接口304来指定可用于添加新创建的虚拟机实例的客户目录。因此,如以下将更详细描述的,接口304可被配置来将一个或多个适当配置的API调用传输到管理目录服务,以便获得可用于添加虚拟机实例的所有可用客户目录的列表。响应于对管理目录服务的API调用,接口304可获得每个客户目录的FQDN、DNS IP地址和客户目录标识。客户目录标识可用于向客户提供可用于加入虚拟机实例的任何可用客户目录的列表。至少部分地基于客户对将使用的客户目录的选择,接口304可将选定客户目录标识、客户目录的FQDN和DNS IP地址传输到管理子系统306。
一旦管理子系统306已经创建虚拟机实例,管理子系统306就可将一个或多个适当配置的API调用传输到管理目录服务,以便获得对于将虚拟机实例加入选定客户目录必要的一个或多个凭证。管理子系统306可随后将一个或多个凭证、以及选定客户目录的FQDN和DNS IP地址传递到元数据服务310。这可使得虚拟机实例内的代理能够访问此元数据服务310,获得一个或多个凭证和附加信息,以及将虚拟机实例加入选定客户目录。虽然元数据服务310贯穿本公开使用以便说明用于存储一个或多个凭证、选定客户目录的FQDN和DNSIP地址、以及将一个或多个凭证存储为元数据的机构,但是此信息可能以不利用单独元数据服务的其他方式来存储。例如,可直接向实例提供FQDN、DNS IP地址和一个或多个凭证。因此,虚拟计算机系统服务302不需要包括元数据服务310,并且可包括用于根据所使用的格式存储FQDN、DNS IP地址和一个或多个凭证的替代性服务。
如以上所指出,虚拟计算机系统服务可包括接口和管理子系统,所述接口和管理子系统都可被配置来与管理目录服务通信,以便获得对于将新创建的虚拟机实例加入客户目录所必要的凭证和附加信息。因此,图4示出根据至少一个实施方案的用于访问计算机系统目录资源的环境400,包括但不限于:在分布式和/或虚拟化的计算机系统环境上的计算机系统服务(诸如目录服务)和资源(诸如与目录服务相关联的用户资源、策略资源、网络资源和/或存储资源)以及在其上运行的相关联代码。计算机系统实体、用户或过程402可通过计算机系统客户端装置404连接到计算机系统,并且可请求通过连接406访问一种或多种服务426。对请求防问服务的一个或多个命令可源于外部计算机系统和/或服务器,或可源于在远程网络位置上的实体、用户或过程,或可源于计算机系统,或可源于计算机系统客户端装置的用户,或可由于这些的组合和/或其他此类对象起源。在一些实施方案中,请求访问服务的一个或多个命令可由特权用户,或由无特权用户,或由自发过程,或由于报警或情况,或由这些的组合和/或其他方法发布。
计算机系统客户端装置可请求通过一个或多个网络416和/或与其相关联的实体(诸如直接或间接连接到网络的其他服务器)来访问服务。计算机系统客户端装置可包括能够通过网络与计算机系统连接的任何装置,至少包括:服务器、膝上型电脑、移动装置(诸如智能电话或平板)、其他小型装置(诸如,智能手表、智能电视、机顶盒、视频游戏控制台和其他此类网络使能智能装置)、分布式计算系统和其组件、抽象组件(诸如客户计算机系统或虚拟机)和/或其他类型的计算装置和/或组件。网络可包括例如,局部网络、内部网络、公用网(诸如互联网)、广域网、无线网络、移动网络、卫星网络、具有多个网络节点的分布式计算系统等。也可根据各种协议来操作网络,诸如以下列出的协议:蓝牙协议、WiFi协议、蜂窝网络协议、卫星网络协议和/或其他协议。
在一些实施方案中,计算机系统可包括可至少部分地位于客户场所上的并且可在其上存储文件和/或其他计算机系统资源的一个或多个本地计算机系统资源408,包括但不限于,目录、应用程序、数据、数据库、到其他计算机系统资源的链路、系统驱动器、计算机操作系统、虚拟机和/或其他此类资源。在一些实施方案中,本地计算机系统资源可以是本地文件系统资源,并且可存储在多种存储装置(诸如,随机存取存储器(RAM)、磁盘驱动器、固态驱动器、可移除驱动器、或这些的组合和/或其他此类存储装置)上。在一些实施方案中,本地计算机系统资源可至少部分地位于可由计算机系统客户端装置通过一个或多个连接(例如像本文所述的网络连接)访问的数据中心(可并置排列的多个计算机系统资源、服务和/或存储装置)中。计算机系统资源和/或数据中心可位于本地或位于本地和远程的组合。例如,在一些实施方案中,文件系统和/或目录可位于定位在本地数据中心中的磁盘上,并且所述文件系统和/或目录的内容也可复制到位于远程数据中心中的磁盘。在一些其他实施方案中,文件系统和/或目录可使其内容的至少一部分定位在可以是本地的一个数据中心中,并且使其内容的其他部分定位在可以是本地或远程的一个或多个其他数据中心中。存储装置可包括物理装置,诸如本文所述的那些物理装置和/或此类物理装置的虚拟表示。例如,文件系统和/或目录存储装置可包括某个数量的物理存储器,所述物理存储器的一部分专用于作为虚拟磁盘驱动的存储装置,其中在所述虚拟磁盘驱动上创建文件系统。其他此类本地存储装置可被认为在本公开范围内。
在一些实施方案中,服务426可能需要访问一个或多个计算机系统目录资源,诸如本文所述的那些。在一些实施方案中,服务426可包括多种其他计算机系统实体,包括但不限于用户、其他计算机系统、过程和/或自动化过程和/或其他此类计算机系统实体。在一些实施方案中,对系统目录资源的访问414可由诸如管理目录服务418的服务提供,所述服务可提供对一个或多个系统资源的访问。管理目录服务可提供多种服务,以便使得计算机系统和/或计算机系统客户端装置能够访问包括但不限于420认证、422授权和424目录服务的系统资源。
例如,管理目录服务可提供420认证服务,所述认证服务可认证用户、计算机系统、过程、自动化过程或其他此类实体的凭证,以便至少确定所述实体是否被授权访问管理目录服务和/或与管理目录服务相关联的系统资源。在一些实施方案中,凭证可由管理目录服务自身认证,或它们可在管理目录服务的控制下由过程、程序或服务认证,或它们可由管理目录服务可与其通信的过程、程序或服务认证,或它们可由这些的组合和/或其他此类服务或实体认证。
管理目录服务还可提供422授权服务,所述授权服务可授权用户、计算机系统、过程、自动化过程或其他此类实体至少确定实体可执行一个或多个可能动作中的哪些动作。例如,在诸如文件系统资源的计算机系统资源的情况下,实体可能或可能不被授权执行的动作包括但不限于:创建文件系统资源上的文件系统,销毁文件系统资源上的文件系统,附接到文件系统资源上的文件系统,从文件系统资源上的文件系统脱离,提供对文件系统资源上的文件系统的访问链路,恢复对文件系统资源上的文件系统的访问链路,允许读取文件系统资源上的文件系统,允许写入文件系统资源上的文件系统和/或其他此类文件系统资源动作。
对系统资源的动作可包括但不限于对目录、文件、应用程序、数据、数据库、其他资源的链路、系统驱动器、操作系统、虚拟机和/或在其上的其他此类系统资源对象的动作,并且可包括如本文提及的动作的此类动作。用于开始、停止、恢复、销毁和/或以其他方式管理资源的动作以及其他此类动作也可包括在可用动作中。对执行动作的授权可由诸如凭证的实体或例如像维持关于某个实体的一组凭证和/或策略的系统的策略系统管理,并且可至少部分地基于所述一组凭证和/或策略确定实体被授权执行哪些动作。实体可被授权执行的动作可以是静态的或可根据多个因素(包括但不限于时刻、凭证类型、系统策略、性质、访问对象的类型或位置、或这些的组合和/或其他此类授权因素)变化。例如,计算机系统实体可被授权仅读取文件系统上的某些文件,读写文件系统上的某些其他文件,以及添加和删除文件系统上的某些其他文件。不同的计算机系统实体可被授权对文件系统执行任何动作,但只有当那些动作从某个位置以及在某个时间开始时。一个或多个过程可被授权仅写入文件系统上的文件(例如像系统记录),而其他过程可被授权仅读取文件。如可设想的,这些是说明性实例。其他类型的操作可由管理目录服务授权,并且此类其他类型的操作也被认为在本公开的范围内。
管理目录服务还可提供424目录服务,所述目录服务可根据授权凭证和/或策略来给认证实体提供对计算机系统资源的访问414。例如,在计算机系统可被授权来读写计算机系统资源(诸如文件系统资源)上的某个数据存储的实施方案中,这样做的能力可由目录服务提供。目录服务可通过提供对文件系统资源位置的链路(诸如,通过URI对象或某个其他此类链接)来提供对文件系统资源的访问。可由计算机系统客户端装置、或由在数据中心上运行的过程、或由在连接到数据中心的计算机系统上运行的过程、或由管理目录服务、或由这些的组合和/或其他此类计算机系统实体来提供URI。
在一些实施方案中,可能以访问对于请求实体是不可见的这种方式提供对计算机系统资源的访问。例如,可向请求实体提供访问414,如URI或对本地文件系统408上的位置410的其他此类链路。计算系统资源上的位置可通过在计算机系统上运行的一个或多个过程412转换成URI。请求对计算机系统资源的访问的服务或实体426可使用428接收的URI,以便访问计算机系统资源而无需请求取决于计算机系统资源位置的配置,并且在一些实施方案中,可使用URI来链接到计算机系统资源以便像服务或实体426直接连接到计算机系统资源那样操作。例如,看起来将一组数据写入可能对于服务或实体看似位于所述服务或实体的本地位置中的文件的操作可实际将数据封装到网络数据包中,并且随后可通过访问链路414在网络416内传递数据包,以便实际写入位于本地文件系统408上的文件。如可设想的,可由管理目录服务执行的这些说明性实例和其他类型的操作也可被认为在本公开的范围内。
如以上所指出的,客户可利用虚拟计算机系统服务提供的接口来创建虚拟机实例,并且指定将用于加入虚拟机实例的客户目录。然而,如果没有客户目录是可用的,客户可被呈现另外创建新的客户目录,并且将虚拟机实例加入此新的客户目录的选项。因此,图5是根据至少一个实施方案的环境500的说明性实例,在所述环境500中新创建的虚拟机实例510加入新创建的客户目录522。
客户可通过接口504访问虚拟计算机系统服务502,以便请求设置虚拟机实例510。应当理解,如果浏览器或其他应用用于显示接口504,那么所述浏览器或其他应用可将一个或多个适当配置的API调用从接口504传输到其他服务。可替代地,用于显示接口504的浏览器或其他应用可被配置来将客户提供的信息传输到虚拟计算机系统服务502。随后,虚拟计算机系统服务502可将一个或多个适当配置的API调用传输到其他服务。如以上所指出,接口504可被配置来将一个或多个适当配置的API调用传输到管理目录服务514,以便获得客户可访问的所有可用客户目录522的列表。因此,响应于来自接口504的一个或多个API调用,管理目录服务514可传输可用客户目录522的列表,以及客户目录522中的每一个的FQDN和DNS IP地址。然而,如果不存在可用的客户目录522,那么管理目录服务514可将空列表传输到接口504。因此,接口504可被配置来给客户呈现创建新客户目录522、以及利用此新客户目录522加入虚拟机实例510的选项。
如果客户通过接口504指定新虚拟机实例510应加入新客户目录522,那么接口504可将一个或多个适当配置的API调用(诸如图5所示的“创建目录()”)传输到管理目录服务514以便创建新的客户目录522。因此,在管理目录服务514内的目录服务520可处理请求,并且确定客户是否被授权创建新的客户目录522。如果客户被授权创建新的客户目录522,那么目录服务520可在客户的场所上使用本地许可创建客户目录522(例如,客户和委托用户可利用专用于客户目录522的凭证来访问客户目录522)。在一些实施方案中,可创建客户目录522,以使得客户和其他用户可利用其计算资源服务提供商凭证来访问客户目录522。
一旦已经创建新客户目录522,管理目录服务就可将客户目录522标识、客户目录522的FQDN和DNS IP地址传输到虚拟计算机系统服务502内的管理子系统506。另外,管理子系统506可从管理目录服务514接收可用于将虚拟机实例510加入新创建的客户目录522的一组临时凭证。管理子系统可将此信息传递到元数据服务508,并且使其一旦被创建就可用于虚拟机实例510。如以上所指出,管理子系统506可进一步处理创建新虚拟机实例510的客户请求,并且使虚拟机实例510在物理主机中实例化,如结合图3所描述的。
一旦虚拟机实例510已被实例化,虚拟机实例510内的代理512就可将一个或多个可执行指令传输到虚拟计算机系统服务502内的元数据服务508,以便获得FQDN、DNS IP地址以及将虚拟机实例510加入客户目录522所必要的所述一组临时凭证。因此,在虚拟机实例510内操作的代理512可利用元数据来提取FQDN、DNS IP地址、客户目录标识和所述一组临时凭证。随后,代理512可将一个或多个适当配置的API调用(诸如图5所示的“加入目录()”)传输到客户目录522,以便将虚拟机实例510加入客户目录522。因此,客户也可利用用于访问客户目录522的一组凭证来访问虚拟机实例510。
在另一个实施方案中,虚拟计算机系统服务可被配置来从管理目录服务获得信息,所述信息可用于将新创建的虚拟机实例加入现有客户目录。因此,图6是根据至少一个实施方案的环境600的说明性实例,在所述环境600中虚拟机实例610自动加入现有客户目录622。如图5所示,客户可通过接口604访问虚拟计算机系统服务602,以便请求设置新虚拟机实例610,并且还请求将新虚拟机实例610加入现有客户目录622。因此,接口604可被配置来将一个或多个适当配置的API调用(诸如图6所示的“描述目录()”)传输到管理目录服务614的授权服务618组件,以便获得可用于加入虚拟机实例610的当前可用客户目录622的列表。应当理解,如果浏览器或其他应用用于访问接口604,那么当前可用客户目录622的列表可由管理目录服务614传输到所述浏览器或其他应用。可替代地,管理目录服务614可将当前可用的客户目录622的列表传输到虚拟计算机系统服务602,所述虚拟计算机系统服务602继而可将所述列表传输到用于显示接口604的浏览器或其他应用。
管理目录服务614的授权服务618组件可被配置来确定客户是否具有将虚拟机实例610加入任何可用客户目录622的授权。因此,管理目录服务614的授权服务618组件可传输可用于加入虚拟机实例610的当前可用客户目录622的标识、以及客户目录622中的每一个的FQDN和DNS IP地址。接口604随后可向客户呈现客户目录622的标识,以便使得客户能够选择适当的客户目录622。然而,在一个实施方案中,如果客户不具有将虚拟机实例610加入任何现有客户目录622的授权,那么管理目录服务614的授权组件618可响应于API调用将空列表传输到接口。因此,如以上结合图5描述的,接口604可被配置来给客户呈现创建新客户目录622的选项。
一旦客户选择可用于加入虚拟机实例610的现有客户目录622,接口604就可将客户目录622的标识、以及客户目录622的FQDN和DNS IP地址传输到虚拟计算机系统服务602内的管理子系统606。另外,管理子系统606可被配置来将所请求的虚拟机实例610在物理主机中实例化,如图3所述。管理子系统606可被配置来将一个或多个适当配置的API调用(诸如图6所示的“获取目录加入密码()”)传输到管理目录服务614的授权服务618组件,以便请求可用于将虚拟机实例610加入指定客户目录622的一组临时凭证。
随后,管理子系统606可将从授权组件618获得的FQDN、DNS IP地址和所述一组临时凭证传递到虚拟计算机系统服务602内的元数据服务608。从而,可使FQDN、DNS IP地址和所述一组临时凭证以存储在元数据服务608内的元数据的形式可用于虚拟机实例610。因此,在虚拟机实例610内操作的代理612可被配置来将一个或多个适当配置的API调用传输到元数据服务608以便获得此元数据。代理612可被配置来从此元数据提取用于加入客户目录622的FQDN、DNS IP地址和所述一组临时凭证。
在虚拟机实例610内操作的代理612可利用FQDN和DNS IP地址来定位,并且标识目标客户目录622以便加入。因此,代理612可被配置来将一个或多个适当配置的API调用(诸如图6所示的“加入目录()”)传输到客户目录622,以便请求将虚拟机实例610加入客户目录622。代理612可被要求将所述一组临时凭证传输到客户目录622,以便向客户目录622验证一个或多个API调用,并且允许虚拟机实例610的加入。一旦已经利用客户目录622加入虚拟机实例610,客户也可利用一组用于访问客户目录622的凭证来访问虚拟机实例610。
在替代性实施方案中,虚拟计算机系统服务不能被配置来将一个或多个API调用传输到管理目录服务。因此,对于虚拟机实例加入客户目录必要的客户目录信息的请求可能需要源自虚拟机实例自身。因此,图7是根据至少一个实施方案的环境700的说明性实例,在所述环境700中虚拟机实例710与管理目录服务714通信以便加入现有客户目录722。
如图5和图6所述,客户可通过接口704访问虚拟计算机系统服务702,以便请求设置新虚拟机实例710。然而,在此特定实施方案中,接口704可能不包括用户创建新客户目录722或将虚拟机实例710加入现有客户目录722的选项。可替代地,接口704可被配置来将一个或多个适当配置的API调用传输到管理目录服务714,以便获得客户能够使虚拟机实例710加入的可用客户目录722中的每一个的标识列表。然而,如图7所示,接口704可能不被配置来从管理目录服务714获得可用客户目录722的FQDN或DNS IP地址。
因此,接口704可被配置来将一个或多个适当配置的API调用传输到虚拟计算机系统服务702内的管理子系统706,以便请求至少部分地基于来自客户的请求来设置虚拟机实例710。另外,在接口704被配置来获得可用于加入虚拟机实例710的可用客户目录722中的每一个的标识列表的实施方案中,管理子系统706可将选定客户目录722标识传输到元数据服务708以便使其可用于虚拟机实例710。
在一个实施方案中,一旦已经设置虚拟机实例710,在虚拟机实例710内操作的代理712可将一个或多个适当配置的API调用传输到元数据服务708,以便获得由客户通过接口选择的客户目录722的标识。因此,代理712可被配置来利用此标识将一个或多个适当配置的API调用(诸如图5和图6所述的“描述目录()”和“获取目录加入密码()”)传输到管理目录服务714,以便获得可用于将虚拟机实例710加入指定客户目录722的FQDN、DNS IP地址和一组临时凭证。从而,代理712可被配置来利用FQDN和DNS IP地址建立与客户目录722的连接并且将一个或多个适当配置的API调用(诸如图7所示的“加入目录()”)传输到客户目录722,以便将虚拟机实例710加入客户目录722。
可替代地,在一个实施方案中,如果接口704不被配置来从管理目录服务714获得关于所有可用目录服务722的任何细节,那么虚拟机实例710可被配置来允许客户请求虚拟机实例710加入现有客户目录722。因此,在虚拟机实例710内操作的代理712可被配置来传输一个或多个适当配置的API调用(诸如“描述目录()”),以便获得客户可使用来加入虚拟机实例710的所有可用客户目录722的列表。另外,代理712可获得可用客户目录722中的每一个的FQDN和DNS IP地址。如果利用虚拟机实例710的客户选择适当的客户目录722,那么代理712可将第二适当配置的API调用(诸如“获得目录加入密码()”)传输到管理目录服务714,以便获得可用于将虚拟机实例710加入选定客户目录722的一组临时凭证。因此,代理712可被配置来利用选定客户目录722的FQDN和DNS IP地址建立与选定客户目录722的连接。随后,代理712可将一个或多个适当配置的API调用(诸如“加入目录()”)以及所述一组临时凭证传输到客户目录722,以便加入虚拟机实例710。一旦已经利用客户目录722加入虚拟机实例710,客户也可利用一组用于访问客户目录722的凭证来访问虚拟机实例710。
如以上所指出,客户可利用虚拟计算机系统服务提供的接口来请求设置虚拟机实例,以及请求将此虚拟机实例加入新的或现有客户目录。因此,图8是根据至少一个实施方案的用于提供包括用于将新虚拟机实例加入现有目录的选择菜单的接口的过程800的说明性实例。过程800可由与接口连接的正确配置的虚拟计算机系统服务或其他计算机系统服务执行,所述接口被配置来接收客户请求并且将对客户目录的请求,以及在一些实施方案中,一个或多个API调用传输到管理目录服务。因此,管理目录服务可被配置来执行在过程800中提供的一些动作。
客户可通过接口利用计算机资源服务提供商向客户提供的一组凭证来访问虚拟计算机系统服务。因此,虚拟计算机系统服务可检测到802客户已经启动接口,所述接口可用于设置新虚拟机实例并且将此新虚拟机实例加入新的或现有客户目录。客户可利用所述接口来指定将包括在虚拟机实例中的操作系统和应用程序,以及应当用于实例化虚拟机实例的计算资源。
为了确定客户是否具有将此虚拟机实例加入现有客户目录的授权,所述接口可被配置来将接收的所述一组凭证传输到身份管理服务以便确定804客户的身份。例如,身份管理服务可包括客户概况,所述客户概况可包括可影响此特定客户的一个或多个策略。例如,客户可能仅被授权创建虚拟机实例,但可能不能访问计算资源服务提供商提供的管理目录服务或其他服务。因此,如果客户不能访问这些服务,那么接口可能不包括用于利用虚拟机与这些服务交互的任何选项。可替代地,身份管理服务可包括可用于访问这些附加服务的附加客户凭证。因此,接口可获得用于访问管理目录服务的客户标识和凭证,以便在管理目录服务内确定客户的访问级别。
接口可被配置来随后将请求以及客户身份和凭证传输806到管理目录服务,以便获得可用于加入新虚拟机实例的现有客户目录的列表。在一些实施方案中,如果虚拟计算机系统服务被配置来通过一个或多个适当配置的API调用传递到管理目录服务,接口可附加地请求可使用的现有客户目录中的每一个的FQDN和DNS IP地址。然而,在一个实施方案中,如果虚拟计算机系统服务不被配置来获得现有客户目录中的每一个的FQDN和DNS IP地址,那么接口可能仅请求现有客户目录中的每一个的标识。
从而,管理目录服务可被配置来处理来自接口的由虚拟计算机系统服务提供的请求,以便确定808客户是否具有任何现有客户目录。如果客户不具有可用于加入新虚拟机实例的任何现有客户目录,那么管理目录服务可将空列表传输到接口。因此,接口可被配置来向客户呈现810此空列表,并且向客户呈现创建新客户目录的选项。
然而,如果客户不具有一个或多个可用的现有客户目录,那么管理目录服务可被配置来确定812客户是否被授权利用任何现有客户目录来加入新虚拟机实例。因此,管理目录服务可被配置来利用所接收的客户凭证参考客户目录中的每一个所列出的客户概况和策略以便确定客户具有的访问这些目录的级别。作为实例,客户可能先前已指定,特定客户目录可由于某些安全考虑而从不附接到虚拟机实例。从而,如果管理目录服务确定客户不被授权利用任何现有客户目录来加入新虚拟机实例,那么所述目录可将空列表传输到接口,从而致使接口向客户呈现810空列表,并且向客户呈现创建新客户目录的选项。
如果一个或多个现有客户目录是可用的,并且客户被许可将虚拟机实例加入这些现有客户目录中的任一者,那么管理目录服务可将这些客户目录的列表传输到接口。另外,在一些实施方案中,管理目录服务可附加地将这些客户目录中的每一个的FQDN和DNS IP地址传输到接口。因此,接口可从管理目录服务接收列表,并且向客户呈现814可用于加入新虚拟机实例的现有目录的此列表。以此方式,客户可能不仅指定新虚拟机实例的参数,而且标识可用于加入所述虚拟机实例的客户目录。
如以上所指出,虚拟计算机系统服务可被配置来获得对于虚拟机实例加入现有或新的客户目录所必要的信息。因此,图9是根据至少一个实施方案的用于制备新虚拟机实例以用于加入现有目录的过程900的说明性实例。过程900可由虚拟计算机系统服务或其他计算机系统服务的管理子系统组件执行,诸如图6中示出和描述的。另外,过程900的性能可附加地包括在虚拟计算机系统服务内的元数据服务。可在以上结合图8描述的过程之后执行过程900。
在客户通过接口提交设置新虚拟机实例并且将此新虚拟机实例加入新的或现有客户目录的请求之后,管理子系统可接收902此请求。所述请求可包括应当用于设置所述实例的客户指定的计算目录。从而,如结合图3所示出的,管理子系统可被配置来从虚拟计算机系统服务获得合适的机器图像,并且将此图像实例化到物理主机上。从而,管理子系统可将此新虚拟机实例分配904到物理主机上,并且使其可用于客户。
除应当用于设置虚拟机实例的计算资源之外,请求可包括应当用于加入虚拟机实例的客户目录的FQDN和DNS IP地址。如图8所示,接口可被配置来获得可用客户目录中的每一个的FQDN和DNS IP地址,并且客户具有加入虚拟机实例的必需许可。因此,一旦客尸选择了合适的客户目录,接口就可将该客户目录的FQDN和DNS IP地址传输到管理子系统。从而,管理子系统可被配置来进一步获得906选定客户目录的FQDN和DNS IP地址。在一个实施方案中,如果已经在从接口获得请求之后创建新客户目录,那么管理目录服务可将FQDN和DNSIP地址直接传输到管理子系统。
一旦管理子系统已经从接口所接收的客户请求或直接从管理目录服务获得FQDN和DNS IP地址,管理子系统就可诸如通过一个或多个API调用将对服务的请求传输908到管理目录服务,以便获得可用于将虚拟机实例加入选定客户目录的一组临时凭证。因此,管理目录服务可涉及数据库,以便确定可用于将虚拟机实例加入选定客户目录的所述一组正确设置的临时凭证。这组临时凭证可在有限时间内是有效的,并且如果不使用可能过期。这可阻止其他虚拟机实例试图加入现有客户目录。一旦管理目录服务已经获得这组临时凭证,管理目录服务就可将所述一组临时资格传输到管理子系统。
一旦管理子系统已经从管理目录服务获得所述一组临时凭证,管理子系统就可使910这些凭证以及选定客户目录的FQDN和DNS IP地址以元数据的形式用于虚拟机实例。从而,管理子系统可被配置来将所述一组临时凭证、选定客户目录的FQDN和DNS IP地址传输到虚拟计算机系统服务内的元数据服务。如以下结合图10将示出的,虚拟机实例可包括在虚拟机实例内操作的代理,所述代理被配置来获得此元数据以便将虚拟机实例加入客户目录。
在虚拟机实例已经被设置并且是可操作的之后,在虚拟机实例内操作的代理可行进到请求虚拟机实例加入选定客户目录。因此,图10是根据至少一个实施方案的用于将新虚拟机实例加入现有客户目录的过程1000的说明性实例,尽管结合图10描述的和本文别处的技术可适用于结合未必虚拟的其他计算机系统实例使用。如以上所指出,过程1000可由在虚拟机实例内操作的代理执行。代理可被配置来将一个或多个API调用传输到虚拟计算机系统服务、管理目录服务和客户目录,以便获得对于将虚拟机实例加入客户目录所必要的信息。
因此,在虚拟机实例内操作的代理可接收1002将虚拟机实例加入现有客户目录的请求。在一个实施方案中,客户通过虚拟计算机系统服务提供的接口传输设置新虚拟机实例并且将此实例加入客户目录的请求。此请求可传输到虚拟计算机系统服务内的管理子系统,所述管理子系统可被配置来设置新虚拟机实例并且通过将此信息传输到元数据服务来准备对于虚拟机实例加入客户目录所必要的信息。对虚拟机实例加入客户目录的请求可能传输到在虚拟机实例内操作的代理。在替代性实施方案中,如果虚拟计算机系统服务不被配置来获得对于将虚拟机实例加入客户目录所必要的信息,那么客户可通过虚拟机实例自身提交将虚拟机实例加入客户目录的请求。此请求随后可传输到在虚拟机实例内操作的代理。
一旦代理已经接收将虚拟机实例加入客户目录的请求,代理就可将请求传输1004到元数据服务,以便获得对于建立与客户目录的连接以及将虚拟机实例加入客户目录有必要的FQDN、DNS IP地址和所述一组临时凭证。如以上所指出,虚拟计算机系统服务内的管理子系统组件可被配置来从通过接口进行的初始客户请求获得选定客户目录的FQDN和DNSIP地址。另外,管理子系统可将一个或多个适当配置的API调用传输到管理目录服务,以便获得可用于将虚拟机实例加入客户目录的一组临时凭证。因此,管理子系统可通过元数据服务使FQDN、DNS IP地址和所述一组临时凭证以元数据的形式用于代理。
然而,在一个实施方案中,虚拟计算机系统服务可能不被配置来从管理目录服务获得FQDN、DNS IP地址以及所述一组临时凭证。从而,在这个实施方案中,元数据服务将不包括此信息。因此,代理可被配置来确定1006元数据是否可从元数据服务获得。例如,响应于来自代理的对此元数据的请求,元数据服务可返回指示所请求的元数据不可获得的空列表或错误消息。可替代地,如果虚拟计算机系统服务被配置来从管理目录服务获得FQDN、DNS IP地址和所述一组临时凭证,那么元数据服务可响应于所述请求以元数据的形式将此信息提供给代理。
如果元数据不可从元数据服务获得,在虚拟机实例内操作的代理可被配置来将获得选定客户目录的FQDN和DNS IP地址的请求,以及获得可能对于将虚拟机实例加入客户目录必要的一组临时凭证的请求传输1008到管理目录服务。作为响应,管理目录服务可将选定客户目录的FQDN和DNS IP地址传输到代理,用于建立到客户目录的连接。另外,管理目录服务可响应于请求将所述一组临时凭证传输到代理。
一旦数据库服务或管理目录服务已经向代理传输客户目录的FQDN和DNS IP地址,以及所述一组临时凭证,代理可获得1010此信息并且准备用于加入客户目录的虚拟机实例。例如,在一个实施方案中,当代理响应于请求从元数据服务接收元数据时,代理将从元数据提取FQDN、DNS IP地址和所述一组临时凭证。因此,代理可利用FQDN和DNS IP地址来建立与选定客户实例的连接。这可使得代理能够将一个或多个适当配置的API调用传输到客户目录以执行一个或多个动作。
从而,一旦已经建立与客户目录的连接,代理可将虚拟机实例加入客户目录的请求传输1012到客户目录。如以上讨论的,代理可通过一个或多个适当配置的API调用(诸如以上所述的“加入目录()”)将此请求传输到客户目录。另外,为了传输此请求,代理可利用可用于验证代理被授权将API调用传输到客户目录的所述一组临时凭证。响应于请求,客户目录可授权将虚拟机实例加入客户目录,从而使得客户能够利用客户目录的一组凭证来访问虚拟机实例。
图11示出用于实现根据各个实施方案的各方面的示例性环境1100的各方面。如将了解,尽管出于解释目的使用基于网络的环境,但是可视情况使用不同环境来实现各个实施方案。所述环境包括电子客户端装置1102,所述电子客户端装置可包括可操作来在适合网络1104上发送和/或接收请求、消息或信息并且在一些实施方案中,将信息传送回装置用户的任何适当的装置。此类客户端装置的实例包括个人计算机、手机、手持通信设备,笔记本计算机、平板计算机、机顶盒,个人数据助理、嵌入式计算机系统、电子书阅读器等。网络可包括任何适合网络,其包括内部网、互联网、蜂窝网、局域网、卫星网或任何其他此类网络和/或上述网络的组合。此类系统所用的组件可以至少部分地取决于所选网络和/或环境的类型。用于经由此类网络通信的协议和组件是众所周知的,因而本文不再详细论述。网路上的通信可以经由有线或无线连接及其组合来实现。在这个实例中,网络包括互联网,因为环境包括用于接收请求并且响应于所述请求而提供内容的网络服务器1106,然而对于其他网络来说,可使用服务类似目的的替代装置,如本领域技术人员所显而易见的。
所示环境包括至少一个应用程序服务器1108和数据存储器1110。应当理解,可以存在可以链接起来或以其他方式来配置的若干应用程序服务器、层或其他元件、过程或组件,这些应用程序服务器、层或其他元件、过程或组件可交互来执行如从适合的数据存储器获取数据的任务。如本文所使用的服务器可能以各种方式来实现,诸如硬件装置或虚拟计算机系统。在一些情境中,服务器可以是指在计算机系统上执行的编程模块。如本文所使用的,除非另行说明或从上下文清楚地看出,术语“数据存储装置”指代能够存储、访问和检索数据的任何装置或装置组合,所述装置可包括在任何标准、分布式、虚拟或集群环境中的数据服务器、数据库、数据存储装置和数据存储介质的任何组合和任何数目。应用程序服务器可包括任何适当的硬件、软件和固件,所述硬件、软件和固件视执行客户端装置的一个或多个应用程序的方面的需要与数据存储器集成且处置应用程序的一些或所有的数据访问和业务逻辑。应用程序服务器可提供与数据存储装置协作的访问控制服务,并且能够生成将要向用户提供的内容,其包括但不限于文本、图形、音频、视频和/或其他内容,所述内容可以超文本标记语言(“HTML”)、可扩展标记语言(“XML”)、JavaScript、级联样式表(“CSS”)或另一合适的客户端侧结构化语言的形式通过网络服务器向用户提供服务。传递到客户端装置的内容可由客户端装置处理,以便提供呈一种或多种形式的内容,所述形式包括但不限于用户可通过听觉、视觉和/或通过其他感觉(包括触摸、品尝和/或闻)来感知的形式。所有请求和响应的处置以及客户端装置1102与应用程序服务器1108之间的内容递送可由使用以下PHP的网络服务器来处置:超文本预处理器(“PHP”)、Python、Ruby、Perl、Java、HTML、XML或这个实例中的其他合适的服务器侧结构化语言。应当理解,网络服务器和应用程序服务器不是必要的,且仅仅是示例性组件,因为本文所论述的结构化代码可在如本文其他地方所论述的任何适当设备或主机上执行。此外,除非上下文另外清楚规定,否则如由单个装置执行的本文所述的操作可由可形成分布式和/或虚拟系统的多个装置共同执行。
数据存储器1110可包括若干独立的数据表、数据库、数据文件、动态数据存储方案和/或其他数据存储机构和介质,用来存储与本公开的特定方面相关的数据。例如,所示数据存储器可包括用于存储产生数据1112和用户信息1116的机构,所述产生数据1112和用户信息1116可用于服务生产侧的内容。数据存储器还被示出为包括用于存储日志数据1114的机构,所述日志数据1114可用于报告、分析或其他此类目的。应当理解,可能存在可能需要存储在数据存储器中的许多其他方面,如页面图像信息和访问权信息,所述方面可视情况存储在上文列出的机构中的任何机构中或存储在数据存储器1110的中额外机构中。数据存储器1110可通过与它关联的逻辑来操作,以便从应用程序服务器1108接收指令,并且响应于所述指令而获得、更新或以其他方式处理数据。应用程序服务器1108可响应于所接收的指令提供静态数据、动态数据或静态数据和动态数据的组合。动态数据(诸如在网页日志(博客)中使用的数据、购物应用程序、新闻服务和其他此类应用)可由如本文所述的服务器侧结构化语言生成,或可由在应用程序服务器上操作的或在应用程序服务器控制下的内容管理系统(“CMS”)提供。在一个实例中,用户通过由所述用户操作的装置可以针对某种类型的项目提交搜索请求。在此情况下,数据存储器可能访问用户信息来验证用户的身份,并且可访问目录详细信息以获得有关所述类型的项目的信息。接着可将信息如以网页上的结果列表的形式返回给用户,用户能够经由用户装置1102上的浏览器来查看所述列表。可在浏览器的专用页面或窗口中查看感兴趣的特定项目的信息。然而,应当注意,本公开的实施方案不必受限于网页背景,但可能更普遍适用于处理一般的请求,其中所述请求在内容上不是必需的请求。
每个服务器通常将包括提供用于所述服务器的一般管理和操作的可执行程序指令的操作系统,并且通常将包括存储指令的计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等),当由服务器的处理器执行时,所述指令允许服务器执行其期望的功能。操作系统的适合实现方式和服务器的一般功能是众所周知的或可商购的,并且易于由本领域普通技术人员实现,尤其是根据本文中的公开来实现。
在一个实施方案中,环境是分布式和/或虚拟计算环境,所述环境利用经由通信链路、使用一个或多个计算机网络或直接连接来互连的若干计算机系统和组件。然而,本领域普通技术人员应理解,这种系统可在具有比图11所示的组件更少或更多组件的系统中同样顺利地操作。因此,图11中的系统1100的描绘本质上应视为说明性的,并且不限制本公开的范围。
各个实施方案可进一步在广泛范围的操作环境中实现,在一些情况下,所述环境可包括一个或多个用户计算机、计算装置或可用于操作多个应用程序中的任一个的处理装置。用户或客户端装置可包括多个通用个人计算机中的任何一个,如运行标准操作系统的台式计算机、膝上型计算机或平板计算机,以及运行移动软件并且能够支持多个网络连接协议和消息传递协议的蜂窝装置、无线装置和手持式装置。这种系统还可包括多个工作站,所述工作站运行各种可商购得的操作系统和用于如开发和数据库管理等目的的其他已知应用程序中的任一个。这些装置还可包括其他电子装置,如虚拟终端、薄型客户端、游戏系统和能够通过网络通信的其他装置。这些装置还可包括虚拟装置,诸如虚拟机、管理程序和能够通过网络通信的其他虚拟装置。
本公开的各个实施方案利用本领域技术人员可能熟悉的至少一种网络来使用各种各样可商购得的协议中的任一种支持通信,所述模型和协议诸如传输控制协议/互联网协议(“TCP/IP”)、用户数据报协议(“UDP”)、在开放系统互连(“OSI”)的各种层中操作的协议、文件传送协议(“FTP”)、通用即插即用(“UpnP”)、网络资源(“NFS”)、公共互联网资源(“CIFS”)以及AppleTalk。网络例如可为局域网、广域网、虚拟专用网、互联网、内联网、外联网、公共交换电话网、红外网络、无线网络、卫星网络以及上述网络的任何组合。
在利用网络服务器的实施方案中,网络服务器可以运行各种服务器或中间层级应用程序中的任何一个,所述服务器包括超文本传送协议(“HTTP”)服务器、FTP服务器、通用网关接口(“CGI”)服务器、数据服务器、Java服务器、Apache服务器和业务应用程序服务器。所述服务器还能够响应来自用户装置的请求而执行程序或脚本,如通过执行一个或多个可以实施为一个或多个以任何编程语言(诸如C、C#或C++)或任何脚本语言(诸如Ruby、PHP、Perl、Python或TCL)及其组合撰写的脚本或程序的网络应用程序。服务器也可包括数据库服务器,包括但不限于,可从/>和/>商购获得的数据库服务器、以及开源服务器(诸如MySQL、Postgres、SQLite、MongoDB)以及能够存储、检索和访问结构化数据或非结构化数据的任何其他服务器。数据库服务器可包括基于表的服务器、基于文件的服务器、非结构化服务器、关系式服务器、非关系式服务器、或这些的组合和/或其他数据库服务器。
环境可包括如上文所论述的各种数据存储器以及其他存储器和存储介质。这些可驻留在各种各样位置,如在一个或多个计算机本地(和/或驻留在一个或多个计算机中)的存储介质上,或远离网络上的计算机中的任何或所有计算机。在实施方案的特定集中,信息可驻留在本领域技术人员熟悉的存储区域网(“SAN”)中。类似地,用于执行属于计算机、服务器或其他网络装置的功能的任何必要的文件可视情况本地或远程存储。在系统包括计算机化装置的情况下,这个这种装置可包括可通过总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(“CPU”或“处理器”)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出装置(例如,显示装置、打印机或扬声器)。这种系统也可以包括一个或多个存储装置,诸如磁盘驱动器、光存储装置和固态存储装置(如随机存取存储器(“RAM”)或只读存储器(“ROM”)),以及可移动介质装置、存储卡、闪存卡等。
此类装置还可包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外线通信装置等)和工作存储器,如上文所论述。计算机可读存储介质读取器可与计算机可读存储介质连接或被配置来接收计算机可读存储介质,计算机可读存储介质表示远程、本地、固定和/或可移动存储装置以及用于暂时和/或更永久地含有、存储、传输和检索计算机可读信息的存储介质。系统和各种设备通常也将包括位于至少一个工作存储器装置内的多个软件应用程序、模块、服务或其他元件,其包括操作系统和应用程序,如客户端应用程序或网络浏览器。应了解,替代性实施方案相比上文所描述的实施方案可具有众多变化。举例来说,也可使用定制硬件,和/或特定元件可实施于硬件、软件(包括便携式软件,诸如小程序)或者硬件和软件中。此外,可以采用与如网络输入/输出设备的其他计算设备的连接。
用于含有代码或部分代码的存储介质和计算机可读介质可包括本领域已知或已使用的任何适合介质,包括存储介质和通信介质,如(但不限于)用于存储和/或传输信息(如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中所实施的易失性和非易失性、可移动和不可移动介质,包括RAM、ROM、电可擦除可编程只读存储器(“EEPROM”)、快闪存储器或其他存储器技术、紧密光盘只读存储器(“CD-ROM”)、数字通用光盘(DVD)或其他光学存储器、磁盒、磁带、磁盘存储器或其他磁性存储装置,或可用于存储所要信息且可供系统装置访问的任何其他介质。基于本文所提供的公开内容和教义,本技术领域普通技术人员将了解实现各个实施方案的其他方式和/或方法。
本公开的实施方案可鉴于以下条款来描述:
1.一种计算机实施的方法,其用于完成对设置虚拟机实例的请求并且一旦设置所述虚拟机实例就将其加入目录,其包括:
在被配置有可执行指令的一个或多个计算机系统的控制下,
在虚拟计算机系统服务处接收与所述目录相关联的网络地址信息,以使得能够设置所述虚拟机实例并将其加入所述目录;
设置所述虚拟机实例;
向管理目录服务传输对用于将所述虚拟机实例加入所述目录的一组临时凭证的请求;以及
从所述管理目录服务接收所述一组临时凭证;
其中所述虚拟机实例被配置来利用所述网络地址信息建立与所述目录的连接,并且利用所述一组临时凭证来将所述虚拟机实例加入所述目录。
2.如条款1所述的计算机实施的方法,其中所述虚拟机实例包括代理,所述代理被配置来利用所述网络地址信息建立与所述目录的所述连接,并且利用所述一组临时凭证来将所述虚拟机实例加入所述目录。
3.如条款1至2所述的计算机实施的方法,其中所述网络地址信息包括与所述目录相关联的全限定域名和一个或多个域名系统互联网协议地址。
4.如条款1至3所述的计算机实施的方法,其中所述虚拟计算机系统服务包括元数据服务,其被配置来:
存储与所述目录相关联的所述网络地址信息和来自所述管理目录服务的所述一组临时凭证作为元数据;并且
在所述虚拟机实例利用所述网络地址信息来建立与所述目录的所述连接之前,将所述元数据提供给所述虚拟机实例。
5.如条款1至4所述的计算机实施的方法,其还包括:在所述虚拟计算机系统服务处接收所述网络地址信息之前,向所述管理目录服务传输对一组目录的每个目录的网络地址信息的请求,所述一组目录至少包括所述虚拟机实例将加入的目录。
6.如条款1至5所述的计算机实施的方法,其中由所述虚拟机实例执行向所述管理目录服务传输对所述一组临时凭证的所述请求。
7.一种计算机系统,其包括:
一个或多个处理器;以及
存储器,所述存储器具有共同存储在其中的指令,当由所述计算机系统执行时,所述指令致使所述计算机系统来:
接收对一组目录中的一个或多个目录的网络地址信息的第一请求,所述网络地址信息可用于建立到所述一组目录中的所述一个或多个目录中的每一个的连接;
将所述一组目录中的所述一个或多个目录中的每一个的所述网络地址信息传输到计算机系统实例;
从所述计算机系统实例接收对一组凭证的第二请求,所述一组凭证可用于将所述计算机系统实例加入选自所述一组目录的目录,所述第二请求包括所述选定目录的标识;并且
将可用于将所述计算机系统实例加入所述选定目录的所述一组凭证传输到所述计算机系统实例。
8.如条款7所述的计算机系统,其中所述计算机系统实例由计算机系统服务以所述计算机系统服务的客户的名义托管,所述计算机系统服务不同于维持所述目录的管理目录服务。
9.如条款7至8所述的计算机系统,其中所述网络地址信息包括与所述目录相关联的全限定域名和一个或多个域名系统互联网协议地址。
10.如条款7至9所述的计算机系统,其中所述计算机系统实例包括代理,所述代理被配置来利用所述网络地址信息建立与所述选定目录的连接,并且使用所述一组凭证来将所述计算机系统实例加入所述选定目录。
11.如条款7至10所述的计算机系统,其中所述计算机系统实例被配置来使用所述一组凭证提交应用程序编程接口命令,所述命令被配置来致使所述管理目录服务将所述计算机系统实例加入所述选定目录。
12.如条款7至11所述的计算机系统,其中所述计算机系统实例被配置来向所述计算机系统提交应用程序编程接口命令,所述应用程序编程接口命令被配置来致使所述计算机系统来:
将所述一组目录中的每个目录的所述网络地址信息传输到计算机系统实例;并且
传输可用于将所述计算机系统实例加入选自所述一组目录的所述目录的所述一组凭证。
13.如条款7至12所述的计算机系统,其中所述一组目录中的每个目录已经与策略相关联,所述策略使得一个或多个计算机系统实例能够加入所述目录。
14.如条款7至13所述的计算机系统,其中对网络地址信息的所述第一请求包括在对设置所述计算机系统实例的请求内。
15.一种非暂态计算机可读存储介质,其具有共同存储在其上的可执行指令,当由计算机系统的一个或多个处理器执行时,所述指令致使所述计算机系统至少:
接收对于与目录相关联的网络地址信息的第一网络服务请求,以使得能够设置计算机系统实例并将其加入所述目录;
设置所述计算机系统实例;
向管理目录服务传输将对用于将所述计算机系统实例加入所述目录的凭证信息的第二网络服务请求;
从所述管理服务目录服务接收与所述目录相关联的所述网络地址信息,以及用于将所述计算机系统实例加入所述目录的所述凭证信息;并且
提供所述目录的所述网络地址信息,以及用于将所述计算机系统实例加入所述目录的所述凭证信息。
16.如条款15所述的非暂态计算机可读存储介质,其中所述计算机系统实例由计算机系统服务以所述计算机系统服务的客户的名义托管,所述计算机系统服务不同于维持所述目录的所述管理目录服务。
17.如条款15至16所述的非暂态计算机可读存储介质,其中从所述计算机系统实例接收对与所述目录相关联的所述网络地址信息的所述第一网络服务请求以及对用于将所述计算机系统实例加入所述目录的凭证信息的所述第二网络服务请求。
18.如条款17所述的非暂态计算机可读存储介质,其中响应于所述第一网络服务请求和所述第二网络服务请求将所述目录的所述网络地址信息以及用于将所述计算机系统实例加入所述目录的所述凭证信息提供给所述计算机系统实例。
19.如条款15至18所述的非暂态计算机可读存储介质,其中所述指令进一步致使所述计算机系统至少存储所述目录的所述标识、所述目录的所述网络地址信息和用于将所述计算机系统实例加入所述目录的所述凭证信息作为元数据。
20.如条款15至19所述的非暂态计算机可读存储介质,其中所述接口由计算机系统服务以所述计算机系统服务的客户的名义托管,所述计算机系统服务不同于维持所述目录的所述管理目录服务。
21.如条款15至20所述的非暂态计算机可读存储介顾,其中所述目录已经与策略相关联,以使得一个或多个计算机系统实例能够加入所述目录。
22.如条款15至21所述的非暂态计算机可读存储介质,其中当由所述一个或多个处理器执行时,所述可执行指令进一步致使所述计算机系统来:
从接口接收对设置所述计算机系统实例的第三网络服务请求、创建所述目录,并且一旦已经设置所述计算机系统实例,就将所述计算机系统实例加入所述创建的目录;
向所述管理目录服务传输对创建所述目录的第四网络服务请求;并且
在向所述计算机系统实例提供所述创建的目录的网络地址信息、以及用于将所述计算机系统实例加入所述创建的目录的凭证信息之前,从所述管理目录服务接收所述创建的目录的所述网络地址信息,以及用于将所述计算机系统实例加入所述创建的目录的所述凭证信息。
因此,应在说明性意义而不是限制性意义上理解说明书和附图。然而,将显而易见的是:在不脱离如在权利要求中阐述的本发明的更宽广精神和范围的情况下,可以对其做出各种修改和改变。
其他变体是在本公开的精神之内。因此,虽然所公开的技术易受各种修改和替代构造的影响,但在附图中示出且在上文详细描述其特定说明的实施方案。然而,应理解,并不意图将本发明限于具体形式或所公开的形式,但相反,意图涵盖属于本发明的精神和范围内的所有修改、替代构造和等效物,如随附权利要求书中所限定。
在描述所公开实施方案的上下文中(尤其是在以下权利要求书的上下文中),术语“一个(a,an)”和“所述”以及类似指称对象的使用应解释为涵盖单数和复数两者,除非在本文另外地指示或明显地与上下文矛盾。术语“包含”、“具有”、“包括”和“含有”应解释为开放式术语(即,意味着“包括但不限于”),除非另外地注解。术语“连接(connected)”在未修改以及是指物理连接时意图解释为部分地或全部地含在以下解释内:附接到或接合在一起,即使存在介入物。除非本文另外指明,否则本文中值范围的列举仅仅意图用作个别地表示属于所述范围的各单独值的速记方法,并且犹如本文分别描述过地那样将各单独值并入到说明书中。除非此外另有指出或与上下文矛盾,术语“集合”(例如“项目集合”)的使用被解释为包括一个或多个成员的非空集合。此外,除非此外另有指出或与上下文矛盾,对应集合的术语“子集”没有必要表示对应集合的真子集,而对应集合的子集可以是相等的。
除非另外特别设置或另外与上下文矛盾,连接语言,如具有形式“A、B、以及C中的至少一个”或“A、B以及C中的至少一个”的短语另外与上下文一起理解为一般用来呈现的是,项目、术语等可以是A或B或C,或A和B和C的集合的任何非空子集。例如,在具有三个成员的组的说明性实例中,连接性短语“A、B和C中的至少一个”或“A、B和C中的至少一个”是指以下组中的任一个:{A}、{B}、{C}、{A、B}、{A、C}、{B、C}、{A、B、C}。因此,此类连接性语言一般并非意在暗示某些实施方案需要各自存在A中的至少一个、B中的至少一个以及C中的至少一个。
可按任何合适的顺序来执行本文所述的过程操作,除非本文另外指明或明显地与上下文矛盾。本文所述的过程(或变体和/或其组合)的一些或全部可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)、由硬件或其组合来实施。代码可以例如包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读储存介质上。计算机可读储存介质可以是非暂时性的。
本文所提供的任何以及所有实例或示例性语言(例如,“如”)的使用仅意图更好地说明本发明的实施方案,并且除非另外要求,否则不会对本发明的范围施加限制。本说明书中的语言不应解释为将任何非要求的要素指示为实践本发明所必需。
本文中描述了本发明的优选实施方案,其包括为发明者所知用来执行本发明的最佳模式。阅读上述说明后那些优选的实施方案的变体对于本领域的普通技术人员可以变得显而易见。发明人希望技术人员视情况采用此类变体,并且发明人意图以不同于如本文所特别描述的方式来实践本公开的实施方案。因此,经适用的法律许可,本公开的范围包括在此附加的权利要求中叙述的所有标的物的改良形式和等价物。此外,除非本文另外指示或明显地与上下文矛盾,否则本公开的范围涵盖其所有可能变体中的上述元素的任何组合。

Claims (15)

1.一种计算机实现的方法,包括:
向第一服务器传输对目录的网络地址信息的请求;
接收所述网络地址信息;
设置虚拟机实例;以及
从提供管理目录服务的第二服务器获取所述网络地址信息和将所述虚拟机实例加入所述目录的一组凭证;
其中,所述虚拟机实例使用所述网络地址信息来建立与所述目录的连接并且利用所述一组凭证来将所述虚拟机实例加入所述目录。
2.根据权利要求1所述的计算机实现的方法,其中,所述虚拟机实例包括代理,所述代理利用所述网络地址信息来建立与所述目录的连接并且利用所述一组凭证来将所述虚拟机实例加入所述目录。
3.根据权利要求1所述的计算机实现的方法,其中,所述网络地址信息包括:与所述目录相关联的全限定域名和一个或多个域名系统互联网协议地址。
4. 根据权利要求1所述的计算机实现的方法,其中所述第一服务器包括以下元数据服务:
存储与所述目录相关联的网络地址信息和所述一组凭证作为元数据;以及
在所述虚拟机实例利用所述网络地址信息来建立与所述目录的连接之前,将所述元数据提供给所述虚拟机实例。
5.根据权利要求1所述的计算机实现的方法,还包括:在接收所述网络地址信息之前,传输对一组目录中的每个目录的网络地址信息的请求,所述一组目录至少包括所述虚拟机实例将加入的目录。
6.根据权利要求1所述的计算机实现的方法,其中,由所述虚拟机实例执行对所述一组凭证的请求的传输。
7. 一种计算机系统,包括:
一个或多个处理器;以及
存储器,所述存储器具有共同存储在其上的一组指令,所述一组指令在由所述一个或多个处理器执行时致使所述计算机系统至少执行以下操作:
接收对目录的网络地址信息的第一请求,所述网络地址信息可用于建立到所述目录的连接;
向计算机系统实例传输所述网络地址信息;
从所述计算机系统实例接收对可用于将所述计算机系统实例加入所述目录的一组凭证的第二请求;
从管理目录服务获取所述可用于将所述计算机系统实例加入所述目录的一组凭证;以及
向所述计算机系统实例传输所述一组凭证,以使得所述计算机系统实例能够加入所述目录。
8.根据权利要求7所述的计算机系统,其中,所述计算机系统实例由不同于维持所述目录的管理目录服务的计算机系统服务托管。
9.根据权利要求7所述的计算机系统,其中,所述网络地址信息包括与所述目录相关联的全限定域名和一个或多个域名系统互联网协议地址。
10.根据权利要求7所述的计算机系统,其中,所述计算机系统实例包括代理,所述代理使用所述网络地址信息来建立与所述目录的连接并且使用所述一组凭证来将所述计算机系统实例加入所述目录。
11.根据权利要求7所述的计算机系统,其中,所述计算机系统实例使用所述一组凭证提交应用程序编程接口命令,以致使维持所述目录的管理目录服务将所述计算机系统实例加入所述目录。
12. 根据权利要求7所述的计算机系统,其中,所述计算机系统实例向所述计算机系统提交应用程序编程接口命令,其中,所述应用程序编程接口命令致使所述计算机系统:
向计算机系统实例传输所述网络地址信息;以及
向所述目录传输所述一组凭证。
13.根据权利要求7所述的计算机系统,其中,所述目录已经与使得一个或多个计算机系统实例能够加入所述目录的策略相关联。
14.根据权利要求7所述的计算机系统,其中,对网络地址信息的所述第一请求包括在对设置所述计算机系统实例的请求内。
15.一种非暂态计算机可读存储介质,其具有共同存储在其上的一组指令,所述一组指令在由计算机系统的一个或多个处理器执行时致使所述计算机系统执行根据权利要求1-6中任一项所述的方法。
CN201911279754.4A 2013-11-11 2014-11-10 用于虚拟机实例的自动目录加入 Active CN111045788B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911279754.4A CN111045788B (zh) 2013-11-11 2014-11-10 用于虚拟机实例的自动目录加入

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361902790P 2013-11-11 2013-11-11
US61/902,790 2013-11-11
US14/098,323 US10908937B2 (en) 2013-11-11 2013-12-05 Automatic directory join for virtual machine instances
US14/098,323 2013-12-05
CN201480068648.0A CN106416125B (zh) 2013-11-11 2014-11-10 用于虚拟机实例的自动目录加入
CN201911279754.4A CN111045788B (zh) 2013-11-11 2014-11-10 用于虚拟机实例的自动目录加入
PCT/US2014/064894 WO2015070190A1 (en) 2013-11-11 2014-11-10 Automatic directory join for virtual machine instances

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201480068648.0A Division CN106416125B (zh) 2013-11-11 2014-11-10 用于虚拟机实例的自动目录加入

Publications (2)

Publication Number Publication Date
CN111045788A CN111045788A (zh) 2020-04-21
CN111045788B true CN111045788B (zh) 2024-03-22

Family

ID=53042217

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480068648.0A Active CN106416125B (zh) 2013-11-11 2014-11-10 用于虚拟机实例的自动目录加入
CN201911279754.4A Active CN111045788B (zh) 2013-11-11 2014-11-10 用于虚拟机实例的自动目录加入

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201480068648.0A Active CN106416125B (zh) 2013-11-11 2014-11-10 用于虚拟机实例的自动目录加入

Country Status (6)

Country Link
US (1) US10908937B2 (zh)
EP (1) EP3069469B1 (zh)
JP (2) JP6286037B2 (zh)
CN (2) CN106416125B (zh)
CA (1) CA2930292C (zh)
WO (1) WO2015070190A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9935934B1 (en) * 2014-03-31 2018-04-03 Microstrategy Incorporated Token management
US20160028664A1 (en) * 2014-04-08 2016-01-28 Nec Platforms, Ltd. Chat system, key telephone unit, and recording medium
US9680821B2 (en) * 2014-05-28 2017-06-13 Conjur, Inc. Resource access control for virtual machines
US9985970B2 (en) 2014-05-28 2018-05-29 Conjur, Inc. Individualized audit log access control for virtual machines
US10397213B2 (en) 2014-05-28 2019-08-27 Conjur, Inc. Systems, methods, and software to provide access control in cloud computing environments
US9836339B1 (en) * 2014-09-24 2017-12-05 Amazon Technologies, Inc. Application programming interface as a service
US9313193B1 (en) * 2014-09-29 2016-04-12 Amazon Technologies, Inc. Management and authentication in hosted directory service
US10257184B1 (en) * 2014-09-29 2019-04-09 Amazon Technologies, Inc. Assigning policies for accessing multiple computing resource services
US9582298B2 (en) 2015-03-20 2017-02-28 Amazon Technologies, Inc. Executing commands within virtual machine instances
US9854045B2 (en) * 2015-04-13 2017-12-26 Sap Se Generic cloud enabling of stateful applications
US10212035B2 (en) 2016-04-27 2019-02-19 At&T Intellectual Property I, L.P. Message flow management for virtual networks
US10567579B2 (en) * 2016-08-24 2020-02-18 Vonage Business Inc. Systems and methods for providing integrated computerized personal assistant services in telephony communications
US10587412B2 (en) * 2017-11-07 2020-03-10 International Business Machines Corporation Virtual machine structure
US11550945B2 (en) * 2020-03-13 2023-01-10 Sympatic, Inc. Securely processing shareable data in a data communication network
JP7051064B1 (ja) 2021-10-15 2022-04-11 株式会社The MOT Company 金属-プリプレグ複合体

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209036B1 (en) * 1997-06-06 2001-03-27 International Business Machines Corporation Management of and access to information and other material via the world wide web in an LDAP environment
CN1897006A (zh) * 2005-07-12 2007-01-17 国际商业机器公司 用于建立虚拟认证凭证的方法与装置
US7574202B1 (en) * 2006-07-21 2009-08-11 Airsurf Wireless Inc. System and methods for a secure and segregated computer network
CN102420846A (zh) * 2010-10-15 2012-04-18 微软公司 企业用户对主存的虚拟机的远程访问
US8533796B1 (en) * 2011-03-16 2013-09-10 Google Inc. Providing application programs with access to secured resources

Family Cites Families (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055637A (en) 1996-09-27 2000-04-25 Electronic Data Systems Corporation System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
US6374295B2 (en) * 1998-10-29 2002-04-16 Nortel Networks Limited Active server management
US7188138B1 (en) 1999-03-22 2007-03-06 Eric Schneider Method, product, and apparatus for resource identifier registration and aftermarket services
US6609128B1 (en) * 1999-07-30 2003-08-19 Accenture Llp Codes table framework design in an E-commerce architecture
US8145798B1 (en) 2000-05-01 2012-03-27 Novell, Inc. System and method for automatic provisioning of onsite networking services
US7711818B2 (en) 2000-12-22 2010-05-04 Oracle International Corporation Support for multiple data stores
US6999912B2 (en) * 2001-03-13 2006-02-14 Microsoft Corporation Provisioning computing services via an on-line networked computing environment
US20030074448A1 (en) 2001-08-10 2003-04-17 Tadashi Kinebuchi Multimedia information system and computer program
SE0104344D0 (sv) * 2001-12-20 2001-12-20 Au System Ab Publ System och förfarande
US7360034B1 (en) 2001-12-28 2008-04-15 Network Appliance, Inc. Architecture for creating and maintaining virtual filers on a filer
JP4100968B2 (ja) 2002-06-06 2008-06-11 株式会社日立製作所 データマッピング管理装置
AU2003289118A1 (en) 2002-12-18 2004-07-09 International Business Machines Corporation Web service providing system, server device for the same, control method for controlling computer system as server device for web service providing system, program for executing the control method, and recording medium
US7590667B2 (en) 2003-01-30 2009-09-15 Hitachi, Ltd. File replication method for distributed file systems
JP4151487B2 (ja) 2003-06-13 2008-09-17 ソニー株式会社 情報検索システム,メタ情報提供装置,情報提供装置,情報受信装置,および情報検索方法
US20040243665A1 (en) * 2003-05-27 2004-12-02 Outi Markki System and method for services provision in a peer-to-peer environment
JP2004355439A (ja) 2003-05-30 2004-12-16 Aruze Corp 情報管理システム
US20050102513A1 (en) 2003-11-10 2005-05-12 Nokia Corporation Enforcing authorized domains with domain membership vouchers
US20050203993A1 (en) 2003-12-31 2005-09-15 Grobman Steven L. System and method for optimizing data store selection for write operations
JP2005258672A (ja) 2004-03-10 2005-09-22 Jfe Systems Inc トップページ介在シングルサインオン方法及びトップページ装置
US8073810B2 (en) 2007-10-29 2011-12-06 Oracle International Corporation Shared view of customers across business support systems (BSS) and a service delivery platform (SDP)
US8732182B2 (en) 2004-12-02 2014-05-20 Desktopsites Inc. System and method for launching a resource in a network
US8326899B2 (en) 2005-11-09 2012-12-04 Ca, Inc. Method and system for improving write performance in a supplemental directory
US8418234B2 (en) 2005-12-15 2013-04-09 International Business Machines Corporation Authentication of a principal in a federation
US9213513B2 (en) * 2006-06-23 2015-12-15 Microsoft Technology Licensing, Llc Maintaining synchronization of virtual machine image differences across server and host computers
US9392078B2 (en) 2006-06-23 2016-07-12 Microsoft Technology Licensing, Llc Remote network access via virtual machine
US7751428B2 (en) 2006-07-17 2010-07-06 Dell Products, Lp System and method for accessing SMASH-CLP commands as a web service
JP2008035250A (ja) 2006-07-28 2008-02-14 Fujitsu Ltd 情報提供サービス制御システム
US7562075B2 (en) * 2006-12-07 2009-07-14 International Business Machines Corporation Change approvals for computing systems
US20080208853A1 (en) 2007-02-28 2008-08-28 David Vismans Processing device for detecting a certain computer command
US20080320566A1 (en) 2007-06-25 2008-12-25 Microsoft Corporation Device provisioning and domain join emulation over non-secured networks
US8434129B2 (en) 2007-08-02 2013-04-30 Fugen Solutions, Inc. Method and apparatus for multi-domain identity interoperability and compliance verification
US8200810B2 (en) 2007-12-13 2012-06-12 Highwinds Holdings, Inc. Content delivery network
US20090178131A1 (en) 2008-01-08 2009-07-09 Microsoft Corporation Globally distributed infrastructure for secure content management
JP2009176097A (ja) 2008-01-25 2009-08-06 Mitsubishi Electric Corp サービス管理装置及びプログラム
US9063993B2 (en) 2008-01-31 2015-06-23 Microsoft Technology Licensing, Llc Coexistence tools for synchronizing properties between on-premises customer locations and remote hosting services
US8990911B2 (en) 2008-03-30 2015-03-24 Emc Corporation System and method for single sign-on to resources across a network
US8478902B1 (en) 2012-02-06 2013-07-02 Skytap Virtual gateway router
US8972978B2 (en) 2008-05-02 2015-03-03 Skytap Multitenant hosted virtual machine infrastructure
US8045486B2 (en) 2008-05-15 2011-10-25 Solarwinds Worldwide, Llc Discovery and visualization of active directory domain controllers in topological network maps
US8346824B1 (en) * 2008-05-21 2013-01-01 Translattice, Inc. Data distribution system
US9736153B2 (en) 2008-06-27 2017-08-15 Microsoft Technology Licensing, Llc Techniques to perform federated authentication
US20100017889A1 (en) 2008-07-17 2010-01-21 Symantec Corporation Control of Website Usage Via Online Storage of Restricted Authentication Credentials
US8458290B2 (en) 2011-02-01 2013-06-04 Limelight Networks, Inc. Multicast mapped look-up on content delivery networks
US8566821B2 (en) 2008-11-11 2013-10-22 Netapp Inc. Cloning virtual machines
US20100142401A1 (en) 2008-12-04 2010-06-10 Morris Robert P Methods, Systems, And Computer Program Products For Determining A Network Identifier Of A Node Providing A Type Of Service For A Geospatial Region
US8311038B2 (en) * 2009-03-30 2012-11-13 Martin Feuerhahn Instant internet browser based VoIP system
US8307003B1 (en) 2009-03-31 2012-11-06 Amazon Technologies, Inc. Self-service control environment
US8255984B1 (en) 2009-07-01 2012-08-28 Quest Software, Inc. Single sign-on system for shared resource environments
WO2011023134A1 (en) 2009-08-28 2011-03-03 Beijing Innovation Works Technology Company Limited Method and system for managing distributed storage system through virtual file system
US8335765B2 (en) 2009-10-26 2012-12-18 Amazon Technologies, Inc. Provisioning and managing replicated data instances
US8416780B2 (en) 2009-11-03 2013-04-09 Research In Motion Limited System and method for session initiation protocol header modification
US9477531B2 (en) 2010-01-27 2016-10-25 Vmware, Inc. Accessing virtual disk content of a virtual machine without running a virtual desktop
US8250638B2 (en) 2010-02-01 2012-08-21 Vmware, Inc. Maintaining the domain access of a virtual machine
WO2011106716A1 (en) 2010-02-25 2011-09-01 Secureauth Corporation Security device provisioning
JP5530759B2 (ja) 2010-03-05 2014-06-25 株式会社エヌ・ティ・ティ・データ リソース連携システム及びリソース連携方法
US8407366B2 (en) 2010-05-14 2013-03-26 Microsoft Corporation Interconnecting members of a virtual network
WO2011159842A2 (en) 2010-06-15 2011-12-22 Nimbula, Inc. Virtual computing infrastructure
US8782748B2 (en) 2010-06-22 2014-07-15 Microsoft Corporation Online service access controls using scale out directory features
US9560036B2 (en) * 2010-07-08 2017-01-31 International Business Machines Corporation Cross-protocol federated single sign-on (F-SSO) for cloud enablement
US10482254B2 (en) 2010-07-14 2019-11-19 Intel Corporation Domain-authenticated control of platform resources
JP5678508B2 (ja) 2010-07-29 2015-03-04 日本電気株式会社 シンクライアントシステム、管理サーバ、仮想マシン作成管理方法及び仮想マシン作成管理プログラム
FR2964813B1 (fr) 2010-09-14 2013-04-26 Evidian Dispositif de gestion de comptes utilisateurs apte a cooperer avec un dispositif de signature unique
US8438246B2 (en) 2010-09-15 2013-05-07 Sony Mobile Communications Ab Device management using a RESTful interface
WO2012039704A1 (en) 2010-09-21 2012-03-29 Hewlett-Packard Development Company, L.P. Application of differential policies to at least one digital document
US9304867B2 (en) 2010-09-28 2016-04-05 Amazon Technologies, Inc. System and method for providing flexible storage and retrieval of snapshot archives
US8443365B2 (en) 2010-11-03 2013-05-14 Hewlett-Packard Development Company, L.P. Methods and systems to clone a virtual machine instance
US9596122B2 (en) 2010-12-03 2017-03-14 International Business Machines Corporation Identity provider discovery service using a publish-subscribe model
JP5608527B2 (ja) 2010-12-06 2014-10-15 株式会社日立ソリューションズ 仮想環境管理システム、及びその制御方法
US8990362B2 (en) 2010-12-17 2015-03-24 Microsoft Technology Licensing, Llc Virtual machine provisioning engine
US9201667B2 (en) 2010-12-31 2015-12-01 Vmware, Inc. Providing virtual desktops using resources accessed on public computer networks
WO2012096963A1 (en) 2011-01-10 2012-07-19 Fiberlink Communications Corporation System and method for extending cloud services into the customer premise
EP2684151B1 (en) 2011-03-08 2018-09-12 Telefonica S.A. A method for providing authorized access to a service application in order to use a protected resource of an end user
US20120233314A1 (en) 2011-03-11 2012-09-13 Ebay Inc. Visualization of Access Information
US20120246738A1 (en) 2011-03-21 2012-09-27 Microsoft Corporation Resource Sharing and Isolation in Role Based Access
US9015710B2 (en) * 2011-04-12 2015-04-21 Pivotal Software, Inc. Deployment system for multi-node applications
US8856506B2 (en) 2011-04-27 2014-10-07 Hewlett-Packard Development Company, L.P. Process for joining a computer to a directory based on either a newly created computer account or renewed computer account depending on a unique identifier associated with an end-user
US9253159B2 (en) 2011-05-06 2016-02-02 Citrix Systems, Inc. Systems and methods for cloud bridging between public and private clouds
US8812566B2 (en) 2011-05-13 2014-08-19 Nexenta Systems, Inc. Scalable storage for virtual machines
US8769622B2 (en) 2011-06-30 2014-07-01 International Business Machines Corporation Authentication and authorization methods for cloud computing security
US20130034015A1 (en) 2011-08-05 2013-02-07 International Business Machines Corporation Automated network configuration in a dynamic virtual environment
US8412945B2 (en) * 2011-08-09 2013-04-02 CloudPassage, Inc. Systems and methods for implementing security in a cloud computing environment
US8990227B2 (en) 2011-08-23 2015-03-24 Oracle International Corporation Globally unique identification of directory server changelog records
CN103947140B (zh) 2011-09-20 2017-09-29 以太杰作有限责任公司 用于位置无关软件的需求驱动的部署的系统和方法
JP5134149B1 (ja) 2011-09-26 2013-01-30 株式会社北洋銀行 ネットワークシステム及びその制御方法
FI20116299A (fi) 2011-12-21 2013-06-22 Sensinode Oy Menetelmä, laite ja järjestelmä resurssien osoittamiseksi
US8762992B2 (en) 2011-12-22 2014-06-24 Symantec Corporation Systems and methods for protecting virtual machines during physical-to-virtual conversions
US8726277B2 (en) 2012-01-24 2014-05-13 Microsoft Corporation Domain controller safety-features and cloning
US8930548B2 (en) 2012-03-06 2015-01-06 Mobile Helix, Inc. Mobile link system, method and apparatus
US8656471B1 (en) 2012-03-12 2014-02-18 Amazon Technologies, Inc. Virtual requests
JP5675679B2 (ja) 2012-03-13 2015-02-25 株式会社東芝 仮想イメージファイル作成システムおよび仮想イメージファイル作成方法
US10176335B2 (en) 2012-03-20 2019-01-08 Microsoft Technology Licensing, Llc Identity services for organizations transparently hosted in the cloud
WO2013146537A1 (ja) 2012-03-26 2013-10-03 日本電気株式会社 ストレージシステム及びこれの制御方法
US9063792B2 (en) 2012-04-18 2015-06-23 Entrata Systems, Inc. Managing mobile execution environments
US9069979B2 (en) 2012-09-07 2015-06-30 Oracle International Corporation LDAP-based multi-tenant in-cloud identity management system
US9407567B2 (en) 2012-12-24 2016-08-02 Telefonaktiebolaget Lm Ericsson (Publ) Enabling external access to multiple services on a local server
US9304793B2 (en) 2013-01-16 2016-04-05 Vce Company, Llc Master automation service
US20140250075A1 (en) 2013-03-03 2014-09-04 Jacob Broido Using a file system interface to access a remote storage system
US9448830B2 (en) 2013-03-14 2016-09-20 Google Inc. Service bridges
US9509719B2 (en) 2013-04-02 2016-11-29 Avigilon Analytics Corporation Self-provisioning access control
US9282093B2 (en) 2013-04-30 2016-03-08 Microsoft Technology Licensing, Llc Synchronizing credential hashes between directory services
US9658899B2 (en) 2013-06-10 2017-05-23 Amazon Technologies, Inc. Distributed lock management in a cloud computing environment
US9678769B1 (en) 2013-06-12 2017-06-13 Amazon Technologies, Inc. Offline volume modifications
US9639384B2 (en) 2013-08-20 2017-05-02 Vmware, Inc. Method and system for fast provisioning of virtual desktop
US9407615B2 (en) 2013-11-11 2016-08-02 Amazon Technologies, Inc. Single set of credentials for accessing multiple computing resource services

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209036B1 (en) * 1997-06-06 2001-03-27 International Business Machines Corporation Management of and access to information and other material via the world wide web in an LDAP environment
CN1897006A (zh) * 2005-07-12 2007-01-17 国际商业机器公司 用于建立虚拟认证凭证的方法与装置
US7574202B1 (en) * 2006-07-21 2009-08-11 Airsurf Wireless Inc. System and methods for a secure and segregated computer network
CN102420846A (zh) * 2010-10-15 2012-04-18 微软公司 企业用户对主存的虚拟机的远程访问
US8533796B1 (en) * 2011-03-16 2013-09-10 Google Inc. Providing application programs with access to secured resources

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于云计算的基础设施云服务平台设计和实现";杨光;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130315;I139-248页 *
E.Feller等."Snooze:A Scalable and Autonomic Virtual Machine Management Framework for Private Clouds".《2021 12th IEEE/ACM International Symposium on Cluster,Cloud and Grid Computing》.2012,第482-489页. *

Also Published As

Publication number Publication date
EP3069469A1 (en) 2016-09-21
JP6605056B2 (ja) 2019-11-13
WO2015070190A9 (en) 2016-10-13
JP2017502377A (ja) 2017-01-19
CA2930292A1 (en) 2015-05-14
EP3069469A4 (en) 2017-06-28
JP2018110003A (ja) 2018-07-12
CN111045788A (zh) 2020-04-21
US20150160956A1 (en) 2015-06-11
CA2930292C (en) 2020-10-20
JP6286037B2 (ja) 2018-02-28
EP3069469B1 (en) 2019-06-12
WO2015070190A1 (en) 2015-05-14
US10908937B2 (en) 2021-02-02
CN106416125B (zh) 2020-01-07
CN106416125A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
CN111045788B (zh) 用于虚拟机实例的自动目录加入
US9853978B2 (en) Domain join and managed directory support for virtual computing environments
CA2930253C (en) Single set of credentials for accessing multiple computing resource services
CN106105138B (zh) 使用数字证书来认证虚拟机图像
EP3069464B1 (en) Identity pool bridging for managed directory services
US10447610B1 (en) Techniques for network redirection
US20200117498A1 (en) Automatic domain join for virtual machine instances
KR101973361B1 (ko) 컴퓨팅 환경 선택 기술
US10547599B1 (en) Multi-factor authentication for managed directories
US10880283B1 (en) Techniques for remote access to a computing resource service provider
US10986081B1 (en) Cross-organization registration for single sign-on
US11196748B1 (en) Directory proxy for accessing remote domains

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