基于范围的证书部署的制作方法

文档序号:17290915发布日期:2019-04-03 03:57阅读:208来源:国知局
基于范围的证书部署的制作方法

在基于云的内容和协作服务,例如,诸如online(spo)服务中,服务器场被部署有证书,其使服务能够访问其它后端(或外部)服务,诸如,例如,快速搜索和传输asa(fast)tm搜索、等。spo服务经由专用服务支持专用租户以及经由一般服务支持非专用租户。通过专用服务,单个企业可以存在于专用环境中,该环境具有用于访问后端服务的其自己唯一的证书集。除其它限制外,专用环境还需要专用证书、硬件和联网设备。

遗憾的是,这些专用环境对于管理和扩展来说可能是非常繁重的。例如,每个专用环境需要为每个专用租户管理多达数百个证书。另外,专用环境可能需要专用的前端访问服务器和专用内容场,它们在功能上和物理上与服务器场中的其它专用和非专用租户分离(或隔离)。

总的来说,本文中一些先前或相关系统的示例及其相关联的限制旨在是说明性的而非排他性的。在阅读以下内容后,现有或先前系统的其它限制对于本领域技术人员而言将变得显而易见。



技术实现要素:

本文中讨论的示例涉及促进基于范围的证书部署的系统和方法,以用于多租户、基于云的内容和协作环境中的安全、专用的租户访问。在一些实施例中,描述了一种方法,所述方法包括:从访问系统接收进入的认证请求,其中,所述认证请求包括元数据;从所述认证请求中提取所述元数据;以及对所述元数据进行处理以识别与所述请求相对应的租户。然后访问与所述租户相关联的特定于租户的证书,并且将其提供给所述访问系统以供第三方证书颁发机构进行确认。

提供本发明内容以便以简化的形式对下面在具体实施方式中进一步描述的设计构思的选择进行介绍。可以理解的是:本发明内容并不旨在标识要求保护的发明主题的关键特征或重要特征,也不旨在用于限制要求保护的发明主题的范围。

附图说明

为了描述可以获得上述和其它优点和特征的方式,阐述了更具体的描述,并且将通过参考在附图中示出的其具体示例来呈现更具体的描述。理解这些附图仅描绘了典型示例,并且因此不应该被认为是对其范围的限制,通过附图的使用,将用附加特征和细节来描述和解释实现。

图1根据一些实施例描绘了示出用于示例性多租户基于云的内容和协作操作架构中的安全、专用租户访问的基于范围的证书部署的框图。

图2根据一些实施例描绘了示出云协作/内容服务(例如,云协作/内容服务)的示例组件的框图。

图3根据一些实施例描绘了示出用于促进多租户、基于云的内容服务中的基于范围的证书部署的示例操作的序列图。

图4根据一些实施例描绘了示出用于促进多租户、基于云的内容服务中的基于范围的证书部署的示例操作的另一个序列图。

图5a和图5b根据一些实施例描绘了示出用于促进用于多租户、基于云的内容和协作环境中的各个专用租户和区域性访问的基于范围的证书的部署的示例操作的流程图。

图6是示出适于实现本文中公开的基于范围的证书部署技术的计算系统的框图,包括附图中示出的以及下面在具体实施方式中讨论的任何应用、架构、单元、过程和操作场景以及序列。

具体实施方式

下面详细讨论一些示例。虽然讨论了特定的实现,但应该理解的是:这是仅为了说明的目的而进行的。相关领域的技术人员将认识到的是:在不脱离本公开内容的发明主题的精神和范围的情况下可以使用其它组件和配置。这些实现可以是机器实现的方法、计算设备或计算机可读介质。

在许多现有系统中,证书在全球范围内部署用于基于云的内容和协作服务,诸如,例如online(spo)。在当前的spo部署中,必须为每个专用租户创建唯一的环境。除其它特征外,唯一的环境有助于处理虚名域的安全套接字层(ssl)终止,并在证书受到破坏时提供增强的安全性。

遗憾的是,从物理硬件角度和从维护角度来看,为每个专用客户端创建唯一的环境是昂贵的。例如,新环境(例如通过专用产品提供的)可以包括私有域、虚名域、专用硬件和专用联网设备。此外,对于每个新环境,spo架构都维护着用于访问后端服务的唯一的证书集,这些后端服务包括但不限于快速搜索和传输asa(fast)tm搜索、等。

本文中描述的技术有助于在多租户、基于云的内容和协作环境中部署基于范围的证书以用于安全的专用租户访问。除了其它好处之外,基于范围的证书允许来自专用和非专用租户的数据(或内容)并排驻留在多租户内容场内。这些技术还减少了需要为专用租户管理的证书数量,从而无需为每个后端服务维护特定于租户的证书。

通过这些技术实现的至少一个技术效果是利用租户(或客户端)自己的证书来对多租户、基于云的内容和协作环境中的租户访问进行认证和提供范围的能力。如本文中所讨论的,基于范围的证书提供专用和非专用租户数据(或内容)以并排地驻留在多租户内容场内,同时继续提供孤立(或专用)环境的增强的安全性。因此,如果特定于租户的证书受到破坏,则只有该租户(或客户端)会受到影响,因为同一环境(专用或其它)中的其它租户使用不同的证书。另外,如果多租户证书被破坏,则无需重新提供范围证书。这减少了系统停机时间、处理资源等。同样,特定于区域的证书也可用于在各个区域中提供类似的技术效果。

在一些实施例中,针对每个专用租户支持和维护唯一的基于范围的特定于租户的证书。特定于租户的证书被部署到包含专用租户数据(或内容)的机器(例如,在内容场中)。出于安全目的,不会将特定于租户的证书部署到不包含专用租户数据(或内容)的机器。

每个证书可以是全局证书、特定于租户的证书(作用范围是在其上存储所有者数据的机器或内容场)、特定于场的证书(作用范围是一个或多个内容场)或其它类型的范围证书。在一些实施例中,系统可以将证书类型(例如,从全局证书)更改为范围证书的类型。此外,系统可以在不影响范围证书的情况下更新全局证书,并且可以在不影响任何其它证书的情况下更新特定的范围证书。

本文中主要参考online(spo)讨论了多租户、基于云的内容和协作服务。然而,这些技术同样适用于任何内容和/或协作服务。此外,本文中主要参考ssl终止讨论了证书,然而,证书可以是任何公钥。例如,本文中讨论的证书还可以用于电子邮件加密或代码签名以及其它应用。

图1根据一些实施例描绘了示出用于示例性多租户基于云的内容和协作操作架构100中的安全的、专用租户访问的基于范围的证书部署的框图。

如图1的示例中所示,多租户基于云的内容和协作架构100包括第三方证书颁发机构(ca)105、专用租户110a和110b、前端服务150,以及后端系统160a-160n。前端服务150包括一个或多个前端访问服务器152和一个或多个云协作/内容服务154。前端服务150促进了如本文所讨论的基于范围的证书部署技术。在一些情况下,云协作/内容服务154可以是一个或多个spo部署。

第三方ca105可以是发布数字证书的任何实体。数字证书可以证明证书的命名主题对公钥的所有权。这允许其它方(依赖方)依赖签名或关于与经认证的公钥相对应的私钥进行的断言。在这种信任关系模型中,ca是受信任的第三方—受证书的主体(所有者或专用租户)以及依赖证书的一方(与专用租户相关联的端用户)二者信任。公钥基础设施(pki)方案可用于基于例如x.509标准在网络上实现例如https。

最初,第三方ca105将特定于租户的证书(例如,tsc106和tsc107)分别提供给专用租户,例如,专用租户110a和110b。如本文所讨论的,专用租户又将其特定于租户的证书提供给前端服务150以用于基于范围的证书部署。例如,第三方ca105向专用租户110a和110b的相应信息技术(it)管理系统112a和112b提供特定于租户的证书(tsc106和tsc107)。然后,专用租户110a和110b将特定于租户的证书106和107提供给前端服务150以进行范围确定。一旦接收到,前端服务150还可以管理证书的更新等。如本文所讨论的,前端服务150可以生成表格(例如租户查找表153)以识别租户并提供范围。如图1的示例中所示,专用租户110a和110b各自包括相应的it管理系统112、访问系统114和端用户115。额外的或较少的组件、系统、管理员等是可能的。

一旦接收到,前端服务150的前端访问服务器152就确定特定于租户的证书106和107的范围,使得证书包括针对每个专用租户支持和维护的唯一基于范围的、特定于租户的证书。然后可以将特定于租户的证书部署到包含租户数据的机器(例如,在内容场中)。特定于租户的证书没有被部署到不包含租户(或客户)数据的机器。参考图2更详细地示出和讨论了示例性云协作/内容服务154的更详细示例。

在一些实施例中,表(例如,租户查找表153)存储证书信息和与基于范围的证书相关联的附加信息。例如,租户查找表153还可以包括范围和所有者字段(也被称为objectid)以及其它字段。当从由专用租户(例如,114a或114b)的端用户(例如,115a或115b)操作的访问系统接收到针对ssl认证的请求时,该请求包括的元数据可用于识别专用租户和/或与专用租户相关联的相应的基于范围的证书。例如,租户查找表153可用于在租户证书之间进行区分。在一些实施例中,当前端访问服务器152接收到请求时,可以在前端角色接收到传入请求的时候触发中断。然后,系统可以对请求元数据进行分析以识别请求所属的特定专用租户并识别正确的证书。然后,系统可以使用该证书来终止ssl。同时,如果接收到针对不同租户的请求,则将识别该租户的证书并用于以类似方式终止ssl。有利地,证书本身保持完全安全并且与每个租户的范围隔离。这种类型的安全性通常是关键业务和客户要求。

在一些实施例中,前端服务150可以包括应用程序接口(api),除了其它特征之外,其可以支持将证书类型从全局证书改变为具有作用范围的特定于租户的证书。为了防止安全事件,在其上部署了范围证书的机器会在证书发生改变时重新进行映像。api还可以识别在其上部署了证书的机器,对于具有虚名域的租户的情况,支持将证书更新/重新提供到新的范围证书。此过程在供应/静态部署时完成。不在运行时选择证书。

在一些实施例中,在部署证书时,系统使用api来标识需要放置或部署的所有证书(全局证书、特定范围的证书等)。例如,在一些实现中,在没有专用租户的普通多租户场中,api将仅返回必要的全局证书。但是,在具有虚名域的具有单个租户的场中,api可以返回所有必要的全局证书和一个或多个特定于范围的证书。

本文中讨论的改进的基于云的内容和协作服务架构有助于在相同环境中(例如,在相同的场或场内的相同机器中)并排存储专用和非专用租户。这意味着在为客户(或专用租户)部署证书时,部署应仅影响该客户和该客户的场。该架构提供了将特定于租户的证书仅应用于讨论中的场的能力。此外,该架构被设计为使得可以在环境内的不同范围级别上进行部署。例如,基于云的内容和协作服务可以包括全局证书、特定于场的证书和特定于租户的证书。

另外,改进的基于云的内容和协作服务架构可以包括基于区域的证书,例如,欧洲的与亚洲的具有不同的证书。基于区域的证书可以按地区确定范围。例如,证书的范围可以作用于亚洲(apac)、欧洲(emea)等。因此,如果emea证书受到损害,则仅撤销和更新emea证书。这种情况不会影响其它地区的客户(或租户)。

图2根据一些实施例描绘了示出云协作/内容服务(例如,云协作/内容服务154)的示例性组件的框图。如图2的示例所示,云协作/内容服务154包括多个内容场(contentfarm)155a-n,每个场具有多个机器156a-n。

如本文所讨论的,范围证书的使用促进在相同环境中(例如,在相同的场或甚至场内的相同机器中)并排存储专用和非专用租户。如所示的,证书156被部署在内容场155d上。证书156可以包括用于每个专用租户(例如,专用租户110a和110b)的一个或多个特定于租户的证书,以及在专用租户和非专用租户之间共享的全局证书集。

为了进一步说明示例性多租户基于云的内容和协作架构100的组件的操作,提供了图3和图4。图3和图4分别示出了序列图300和400。

首先参照图3,序列图300描绘了根据一些实施例用于促进多租户、基于云的内容服务中的基于范围的证书部署的示例操作。序列图300包括专用租户110a、前端访问服务器152和云协作/内容服务154。示例性操作架构100的额外的或较少的组件是可能的。

最初,专用租户110a向前端访问服务器152提供特定于租户的证书(tsc)。如本文中所讨论的,tsc可以是由第三方证书颁发机构(例如,诸如第三方证书颁发机构105)向专用租户110a颁发的证书。一旦接收到,专用租户110a就向前端服务154提供该tsc。前端服务154响应地识别在多租户环境中专用租户110a数据存储(或将要存储)在其上的机器,并向前端访问服务器152提供对所识别的机器的指示。前端访问服务器152接收对所识别的机器的指示,并且响应地确定tsc的范围。确定证书范围的过程可以包括:将tsc与所识别的机器相关联和/或在现有租户查找表中生成租户查找表或新条目,以便能够响应于认证请求来识别相应的租户和相关联的证书(参见例如,图4)。替换地或附加地,范围确定可以由云协作/内容服务154执行。最后,将范围确定的tsc部署到识别出的机器上。

接下来参照图4,序列图400描绘了根据一些实施例用于促进多租户、基于云的内容服务中的基于范围的证书部署的示例操作。序列图400包括访问系统114a、前端访问服务器152、云协作/内容服务154以及后端服务160a。示例操作架构100的额外或较少的组件是可能的。

首先,与专用租户110a相关联的访问系统114a从前端访问服务器152请求认证。前端访问服务器152从访问系统114a接收针对认证的请求,并提取包括在请求中的元数据。然后,访问系统114a对元数据进行处理以识别与针对认证的请求相关联的租户,并使用元数据来访问与租户相关联的特定于租户的证书。例如,系统可以使用租户查找表153和/或api来访问tsc。一旦识别出tsc,前端访问服务器152就将tsc提供给访问系统114a。访问系统114a使用tsc与云协作/内容服务154进行认证,以便在访问系统114a和云协作/内容服务154之间建立访问通道。

如本文所讨论的,在一些情况下,云协作/内容服务154需要访问后端服务。例如,云协作/内容服务154可能需要使用来自共享全局证书集的全局证书来访问后端服务160a。在这种情况下,云协作/内容服务154访问全局证书,并使用全局证书与后端服务160a进行认证,以在云协作/内容服务154和后端服务160a之间建立访问通道。

图5a根据一些实施例描绘了示出用于促进基于范围的证书的部署的示例操作500的流程图,基于范围的证书用于多租户、基于云的内容和协作环境中的安全的专用租户访问。示例操作500可以在各种实施例中由图1的前端服务150的一个或多个组件、或者一个或多个处理器、和/或与前端访问服务器152相关联的其它模块、引擎、组件或工具来执行。

最初,接收由访问系统生成的针对安全套接字层(ssl)认证的请求(502)。请求可以包括用于识别专用租户的元数据。然后提取(504)包括在请求中的元数据并对其进行处理以识别与请求相关联的专用租户(506)。然后访问与该租户相对应的特定于租户的证书(508)并将其提供给租户以供第三方证书颁发机构验证(510)。

一旦经过验证,专用租户就可以访问云协作/内容服务,例如图1的云协作/内容服务154。由于来自专用租户的请求是预先处理的,因此云协作/内容服务154可以针对每个后端服务管理单个证书—而不是针对每个专用租户管理整个证书集、前端访问服务器等。

图5b的示例与图5a的示例类似,然而,相比于安全的基于专用租户的访问,图5b的示例示出了安全的基于区域的访问。另外,虽然本文中未示出,但是在一些实施例中,对认证的请求可以是基于区域的并且来自专用租户。

图5b根据一些实施例描绘了示出用于促进基于范围的证书的部署的示例操作520的流程图,基于范围的证书用于多租户、基于云的内容和协作环境中的安全的基于区域的访问。示例操作520可以在各种实施例中由图1的前端服务150的一个或多个组件、或者一个或多个处理器、和/或与前端访问服务器152相关联的其它模块、引擎、组件或工具来执行。

最初,接收由访问系统生成的针对安全套接字层(ssl)认证的请求(522)。请求包括元数据。然后提取(524)包括在请求中的元数据并对其进行处理以识别与请求相关联的专用区域(526)。然后访问与该区域相对应的特定于区域的证书(528)并将其提供给租户以供第三方证书颁发机构验证(510)。

一旦经过验证,区域性租户就可以访问云协作/内容服务,例如图1的云协作/内容服务154。由于来自区域性租户的请求是预先处理的,因此云协作/内容服务154随后可以针对每个后端服务(针对所有区域)管理单个证书—而不是针对每个专用区域管理整个证书集、前端访问服务器等。

图6示出了计算系统601,其表示可以在其中实现本文中公开的各种应用、服务、场景和过程的任何系统或系统的集合。例如,计算系统601可以包括服务器计算机、刀片服务器、机架服务器,以及适合于执行本文描述的增强型协作操作的任何其它类型的计算系统(或其集合)。在支持增强型组协作的上下文中,这样的系统可以使用一个或多个虚拟机、容器或任何其它类型的虚拟计算资源。

计算系统601可以实现为单个装置、系统或设备,或者可以以分布式的方式实现为多个装置、系统或设备。计算系统601包括但不限于:处理系统602、存储系统603、软件605、通信接口系统607和用户接口系统609。处理系统602与存储系统603、通信接口系统607和可选的用户接口系统609操作地耦合。

处理系统602加载和执行来自存储系统603的软件605。当由处理系统602执行用于多租户、基于云的内容和协作环境中的基于范围的证书的部署时,软件605指示处理系统602如本文中所描述的至少针对前述实现中讨论的各种过程、操作场景和序列进行操作。计算系统601可以可选地包括为了简明的目的而未讨论的额外的设备、特征或功能。

仍然参照图6,处理系统602可以包括微处理器以及从存储系统603检索和执行软件605的其它电路。处理系统602可在单个处理设备中实现,但也可分布于协作执行程序指令的多个处理设备或子系统之间。处理系统602的示例包括:通用中央处理单元、专用处理器和逻辑器件,以及任何其它类型的处理设备、它们的组合或变体。

存储系统603可以包括处理系统602可读的并且能够存储软件605的任何计算机可读存储介质。存储系统603可包括用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息、以任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、闪存器、虚拟存储器和非虚拟存储器、磁盒、磁带、磁盘存储或其它磁存储设备,或者任何其它合适的存储介质。计算机可读存储介质在任何情况下都不是所传播的信号。

除了计算机可读存储介质以外,在一些实现中,存储系统603还可以包括可以通过其在内部或外部传输软件605中的至少一些软件的计算机可读通信介质。存储系统603可实现为单个存储设备,但也可在多个存储设备或相对于彼此是共置或分布式的子系统上实现。存储系统603可包括额外的单元,如能够与处理系统602或者可能其它系统通信的控制器。

软件605可以在程序指令中实现,并且可以在由处理系统602执行时,指导处理系统602如针对本文中说明的各种操作场景、序列和过程所描述的那样来进行操作,以及执行其它功能。例如,软件605可以包括用于指导系统执行参考图3-图5b描述的过程的程序指令。

程序指令可以包括协作或以其它方式交互以执行本文中描述的各种过程和操作场景的各种组件或模块。各种组件或模块可体现为经编译或解释的指令或者指令的某种其它变体或组合。各种组件或模块可以以同步或异步方式、串行或并行、在单线程或多线程环境中,或者根据任何其它合适的执行范式、变体或它们的组合的来执行。软件605可以包括额外的过程、程序或组件(如操作系统软件、虚拟机软件或应用软件)。软件605还可以包括固件或可由处理系统602执行的某种其它形式的机器可读处理指令。

通常,当被加载进处理系统602并执行时,软件605可以将总体来自通用计算系统的合适的装置、系统或设备(计算系统601所代表的)转变成专用计算系统。的确,存储系统603上的编码软件可以转变存储系统603的物理结构。物理结构的具体信息可依赖于本说明书的不同实现中的各种因素。这些因素的示例可包括但不限于:用于实现存储系统603的存储介质的技术,以及计算机存储介质被表征为主要存储还是次要存储,以及其它因素。

例如,如果计算机可读存储介质被实现为基于半导体的存储器,那么当程序指令被编码在软件605中时,软件605可以转变半导体存储器的物理状态,例如通过转变构成半导体存储器的晶体管、电容器或其它分立电路元件的状态。类似的转变可以针对磁介质或光介质发生。在不脱离本说明书的范围的前提下,物理介质的其它转变是可能的,提供前述示例仅为了便利该讨论。

通信接口系统607可以包括允许通过通信网络(未示出)与其它计算系统(未示出)的通信的通信连接和设备。一起以允许系统间通信的连接和设备的示例可包括:网络接口卡、天线、功率放大器、rf电路、收发机和其它通信电路。连接和设备可通过通信介质(如金属、玻璃、空气或任何其它合适的通信介质)进行通信以便与其它计算系统或系统网络交换通信。上述介质、连接和设备是公知的,并且不需在此详细讨论。

用户接口系统609可以包括键盘、鼠标、语音输入设备、用于接收来自用户的触摸手势的触摸输入设备、用于检测用户的非触摸手势及其它运动的运动输入设备和其它相当的输入设备以及能够接收来自用户的用户输入的相关联的处理单元。输出设备(诸如显示器、扬声器、触觉设备和其它类型的输出设备)也可以包括在用户接口系统609中。在一些情况下,输入设备和输出设备可组合在单个设备中,如能够显示图像和接收触摸手势的显示器。上述用户输入和输出设备是本领域公知的,并且不需在此详细讨论。在一些情况下,当计算系统601被实现为一个或多个服务器计算机时,例如,诸如刀片服务器、机架服务器或任何其它类型的计算服务器系统(或其集合),可以省略用户接口系统609。

用户接口系统609还可以包括:可由处理系统602执行以支持上文讨论的各种用户输入和输出设备的相关联的用户接口软件。单独地或者彼此结合以及与其它硬件和软件单元结合,用户接口软件和用户接口设备可支持图形用户接口、自然用户接口或任何其它类型的用户接口,在其中可以呈现到生产力应用的用户接口。

计算系统601和其它计算系统(未示出)之间的通信可通过通信网络或一些网络并且根据各种通信协议、协议的组合或其变体来发生。示例包括内联网、互联网、因特网、局域网、广域网、无线网络、有线网络、虚拟网络、软件定义的网络、数据中心总线、计算背板或任何其它类型的网络、网络组合、或者它们的变体。上述通信网络和协议是公知的,并且不需在此详细讨论。在交换了数据、内容或任何其它类型的信息的任何上述示例中,信息的交换可以根据各种公知的数据传输协议中的任何一种协议进行。

附图中提供的功能框图、操作场景和顺序、以及流图表示用于执行本公开内容的新颖方面的示例性系统、环境和方法。虽然为了使说明简单,本文中包括的方法可以是功能图、操作场景或顺序、或者流图的形式,并且可描述为一系列的动作,但是应该理解和明白的是:这些方法并不受限于动作的顺序,因为,与之相应,一些动作可以以不同顺序发生和/或与本文中示出和描述的其它动作同时发生。例如,本领域技术人员将会理解和明白,方法能够可替代地表示为一系列相互关联的状态或事件,例如在状态图中。另外,对于新颖实现来说,并非方法中说明的所有动作都是必需的。

本文中包括的描述和附图描绘了具体实现以便教导本领域的技术人员如何做出和使用最佳选择。出于教导发明原理的目的,一些常规方面已被简化或省略。本领域的技术人员将领会落入本发明的范围内的这些实现的变体。本领域的技术人员还将领会的是:可以以各种方式来组合上述特征以形成多种实现。因此,本发明不局限于上述具体实现,而是仅由权利要求及其等价物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1