多租户计算系统中的安全性和权限架构的制作方法

文档序号:11450637阅读:343来源:国知局
多租户计算系统中的安全性和权限架构的制造方法与工艺



背景技术:

计算机系统目前正在被广泛使用。一些这样的计算机系统被部署在多租户环境中,其中多租户服务向多个不同的租户提供服务。每个租户均可以对应于独立的组织。

由多租户系统提供的服务的级别可以广泛变化。例如,它们的范围可以从基础设施即服务(iaas)到软件即服务(saas),在基础设施即服务中基础设施的项目由服务提供方管理并且所有其它项目由个体租户管理,在软件即服务中甚至租户使用的应用都由服务提供方运行和管理。

这样的系统可能存在关于安全性的困难。由服务提供方服务的每个组织均希望服务提供方对组织的数据具有充分的访问权,以使得服务提供方能够提供足够的服务。然而,组织也希望提供安全性,以使得组织的数据不会被服务提供方的管理系统上的任何暗中的攻击所危害。

解决这个问题的一些当前的方案包括对在系统内具有持久的持续管理权限的管理人员执行背景检查。另一种方案是隔离访问,以使得只有某些管理人员具有对系统的某些部分的访问权。

当服务提供方在多国的基础上提供了多租户服务的情况下,安全性问题可能会被加剧。一些组织可能会坚持认为只有驻留在他们的国家的管理人员可以具有对他们的信息的访问权。此外,他们可能会坚持认为安全性策略和权限的所有实施都由驻留在其国家或管辖范围内的系统所执行。

上面的讨论仅用于提供一般的背景信息,并且不是要用作确定所要求保护的主题的范围的辅助。



技术实现要素:

当用户输入将要在目标机器上执行的动作请求(例如,所请求的命令)时,管理系统接收该请求并用独立的认证和权限系统进行校验。经校验的命令请求被发送到目标机器。目标机器上的认证工作者访问目标机器本地的策略集合,以识别其中可执行所请求的命令的最小特权执行环境。目标机器上的认证工作者在目标机器上识别的最小特权执行环境中启动所请求的命令。

提供本发明内容以便以简化的形式来引入下面的具体实施方式中进一步描述的概念的选择。本发明内容不是要识别所要求保护的主题的关键特征或主要特征,也不是要用作确定所要求保护的主题的范围的辅助。所要求保护的主题不限于解决背景中指出的任何或所有缺点的实现方式。

附图说明

图1示出了整体授权架构的一个示例。

图1a是认证和权限架构的一个示例的框图。

图1b是更详细地示出了图1a的部分的框图。

图2a-图2d(这里统称为图2)示出了显示了图1所示的架构的整体操作的一个示例的流程图。

图3a-图3c(这里统称为图3)更详细地示出了图1所示的架构的操作示例的流程图。

图4a-图4c(这里统称为图4)示出了图1所示的架构的操作的另一示例,其中使用了公钥基础设施。

图4d-图4g是更详细地示出了图1a和图1b所示的多个项目的框图。

图5是示出了在执行命令或工作流中容量机器中的授权工作者组件的操作的一个示例的流程图。

图6a和图6b(这里统称为图6)是示出了在执行基于任务的访问验证的容量机器上的授权工作者组件的操作的一个示例的流程图。

图7是示出了部署在云计算架构中的图1所示的架构的一个示例的框图。

图8-图10示出了可以在先前附图中讨论的架构中使用的移动设备的各种示例。

图11是可以在先前的附图中阐述的架构的各个部分中使用的计算环境的一个示例的框图。

具体实施方式

图1示出了整体授权架构80的一个示例。架构80示出了多个容量实例82-84,其中的每一个可以是服务于多个不同租户容量86的多租户系统。容量实例82-84中的每一个可以由对应于不同租户的一个或多个终端用户88通过一个或多个终端用户系统90来访问。容量实例82-84由管理实例92示例性地管理。管理实例与权限网关实例94进行交互,权限网关实例94本身可以与其它权限网关实例96进行交互。在图1所示的架构80中,管理用户97可以登录到架构80并被认证以在管理实例92或容量实例82-84(或甚至单独的租户实例86)中执行各种任务或命令。在这样做时,权限网关实例94-96授予时间限制和任务限制的权限,甚至可以将权限向下授予单独的数据类型。

每个单独的容量实例86上的认证组件执行基于声明的强制实施。也就是,其执行关于给定的管理用户是否被授权在单独的租户容量实例86中的特定机器上执行任务的最终检查。管理用户从权限网关实例94-96获得了签名的并且安全的声明。管理用户使用此声明在各种容量实例82-84和管理实例92中进行工作。这是以其中管理用户被授予基于任务的特权的方式来执行的。基于任务的特权可以是在给定命令中执行任务所需的最小特权环境。这在下面将被更详细地描述。

图1a是更详细的认证和权限架构100的一个示例的框图。架构100示例性地包括多租户工作负载系统102、认证和权限系统104以及一个或多个客户端系统106。图1b更详细地示出了多租户工作负载系统102中的项目。现在将彼此结合地描述图1a和1b。

客户端系统106被示出,其利用用户输入机制110来生成用户界面显示108,以用于由管理用户112来进行交互。在一个示例中,用户112是管理人员(例如,待命的工程师或其它管理人员),其与用户输入机制110进行交互以控制和操纵客户端系统106,使得用户112可以在多租户工作负载系统102内执行服务操作。多租户工作负载系统102本身示例性地向一个或多个租户组织114提供多租户服务。租户组织114本身示例性地具有使用由多租户工作负载系统102提供的信息的终端用户88。

在图1a和图1b所示的示例中,多租户工作负载系统102示例性地包括使用户112能够在系统102内执行管理操作的多租户管理系统116(其可以是来自图1的管理实例92)。多租户管理系统116本身包括一个或多个管理机器118-120。每个管理机器示例性地包括一个或多个处理器119、认证工作者组件122、本地策略123,并且其可以包括其它项目124。多租户管理系统116还示例性地包括授权前端系统126、命令请求队列系统(crqs)128、请求队列130、本地策略131、批准的请求队列132、一个或多个服务器133,并且其可以包括其它项目134。命令请求队列系统128本身示例性地包括签名校验组件138。

多租户工作负载系统102还示例性地包括一个或多个多租户容量系统140(其可以是来自图1的容量实例82-84或86)。每个多租户容量系统140示例性地包括一个或多个容量机器142-144,其本身示例性地包括授权工作者组件146、本地策略145、处理器147,并且可以包括其它项目148。多租户容量系统140还示例性地包括授权前端系统150、本地策略的集合152、服务器153,并且其可以包括其它项目154。

认证和权限系统104示例性地控制在架构100内的基于任务的权限的授予。在图1a所示的示例中,它示例性地包括信任、认证和授权系统156、角色请求和批准系统158、秘密存储160、访问管理系统162、基于角色的访问控制和接口系统164、身份管理系统166、认证前端168、处理器和/或服务器170,并且其可以包括其它项目172。秘密存储160示例性地包括密码174和其它认证信息176。访问管理系统162可以包括用户访问账户178和服务器访问账户180。认证前端168示例性地包括能力令牌服务182,并且其可以包括其它项目184。

而且,在图1a所示的示例中,管理客户端系统106示例性地包括认证前端186、远程访问系统188、数据存储190、处理器和/或服务器192和用户接口组件194。它还可以包括其它项目196。

在图1a所示的示例中,示出了通过网络198进行通信的各种组件。应当理解,网络198可以是广域网、局域网、或者它可以包括多个不同的网络。它可以包括各种不同的网络配置。

在更详细地描述架构100的整体操作之前,将首先提供架构100中的项目中的一些的简要概述。首先参考客户端系统106,认证前端186示例性地处理允许用户112在架构100内被认证的认证和权限通信和操作。远程访问系统188示例性地允许用户112远程访问多租户工作负载系统102中的各种机器以执行管理操作。用户接口组件194示例性地利用用户输入机制110生成用户界面显示108,并且检测与机制110的用户交互。

在多租户管理系统116和多租户容量系统140中,每个认证工作者组件122和146分别接收工作项目(例如,命令或工作流)并且识别用于该工作项目的基于任务的(例如,最小特权的)执行环境。组件122和146示例性地执行相对应的基于任务的执行环境中的工作项目。组件122和146可以被实现为在多租户工作负载系统102中的每个节点上运行的进程。当然,这仅仅是一个示例。

多租户管理系统116中的授权前端系统126示例性地处理与架构100中的其它项目的认证通信。为了便于参考,系统126在本文中也被称为管理认证前端(mafe)系统126。请求队列130接收命令请求,并且命令请求队列系统(crqs)128使用了签名校验组件138来校验所请求命令上的各种签名。它还与认证和权限系统104进行通信,以确定所请求的命令是否已被批准。如果是,则将其置于批准的请求队列132中。

在多租户容量系统140中,授权前端系统150示例性地处理与架构100的其它组件的认证通信。认证前端150和认证工作者组件146可以使用本地策略145和152对用户112确实被授权在多租户容量系统140内的目标机器上执行所请求的命令进行最终校验。

在认证和权限系统104中,信任、认证和授权系统156采用了基于用于识别用户和服务以及提供发出者签名的能力票据的证书的模型。这可以包括部署证书技术的公钥基础设施。这在下面更详细地描述。

卷请求和批准系统158提供用于执行工作流的角色请求和批准的机制。卷请求和批准系统158还示例性地包括强制实施引擎,其允许根据需要请求、批准并且然后移除角色的成员资格。访问管理系统162示例性地存储用于需要获得对任何多租户工作负载系统102(或数据中心)的访问权的任何用户的用户访问账户178和服务器访问账户180,其中,多租户工作负载系统102由认证和权限系统104来支配。身份管理系统166提供了以下功能,其实现了在访问管理系统182中填充用户访问账户178和服务器访问账户180的馈送的配置。它执行与身份相关的任务,例如供应(例如,创建和更新)用户账户上的权利,例如,组成员资格和账户属性等。这些权利可被用于驱动服务内的访问控制。基于角色的访问控制和接口系统164示例性地提供了用于创作、存储和验证角色成员资格和权限查询的接口。基于角色的访问控制和接口系统164可以与角色请求和批准系统158集成以提供以下功能,其用于使角色成员资格要求请求和批准并且用于使角色成员资格被限制在特定量的时间。独立地显示仅为了示例的目的。

秘密存储160示例性地存储密码174和用于在架构100中认证用户112的秘密信息的其它类型。认证前端168示例性地包括能力令牌服务182。其示例性地针对用户和服务提供功能以请求用于认证和授权的能力令牌,这将在下面详细描述。

为了本说明书的目的,架构100中的项目之间存在网络拓扑。在一个示例中,多租户容量系统140中的认证前端系统150信任从多租户管理系统116中的认证前端系统126接收的信息。mafe系统126继而信任从认证和权限系统104中的认证前端168接收的信息。在一个示例中,该信任关系是可传递的。因此,认证前端系统150以其对mafe系统126的信任的方式来信任认证前端168。

在更详细地描述各种组件之前,将首先描述运行时场景的一个示例作为概述,以便增强理解。图2a-图2d(这里统称为图2)示出了以下流程图,这说明了其中用户112希望在多租户容量系统140中的目标机器上执行管理操作的运行时场景的一个示例。为了本示例的目的,将假设用户112希望在容量机142上执行管理操作。

在一个示例中,客户端系统106上的用户接口组件194首先检测指示该用户希望访问认证环境(例如,图1所示的认证架构100)的用户交互或输入。这由框200所指示。检测访问认证环境的用户输入可以包括强制实施智能卡认证、输入个人身份号码(例如,pin)等等。作为响应,客户端系统106将客户端认证前端186加载到客户端106。客户端认证前端186可以以用于认证和授权用户112执行动作的客户端控制台应用的形式或以其它方式被加载。这由框202所指示。

远程访问系统188示例性地利用用户输入机制生成用户界面显示,用户输入机制允许用户112提供指示用户希望在目标机器142上执行命令或操作的命令输入。然后它检测与该用户输入机制的用户交互。用户交互示例性地识别用户正在请求要执行的特定命令。接收用户命令输入由图2中的框204所指示。

认证前端186示例性地签名所请求的命令并将其发送到多租户管理系统116中的mafe126。签名并且将命令请求从客户端106发送到mafe系统126由图2中的框206所指示。mafe系统126示例性地确定用户112是否需要手动批准(例如,来自用户管理者的批准)以便执行该请求。这由框208所指示。如果不是,则处理跳到下面描述的框230。

然而,如果在框208,mafe系统126确定用户112需要手动批准,那么其将代码返回到客户端系统106中的认证前端186来指示这一点。这由框210所指示。该代码还将示例性地识别需要批准该请求的特定的批准者。这由框212所指示。它还可以包括其它项目,并且这由框214所指示。

客户端系统106示例性地向用户112显示批准请求用户输入机制。该显示将示例性地指示用户112需要具有来自他或她的管理者(或其它批准者)的批准来执行所请求的命令,并且它将会包括用户可以致动以开始批准过程的用户输入机制。在客户端106处显示批准请求用户输入机制由图2中的框216所指示。然后,用户接口组件194检测与用户输入机制的用户交互(例如,用户输入机制的致动),指示用户112希望开始批准过程。这由图2中的框218所指示。

作为响应,客户端系统106示例性地向所识别的批准者发送用于批准的请求。例如,这可以是到批准者的电子邮件,以及可以由批准者致动的用户输入机制,以便批准该请求。发送用于批准的请求由图2中的框220所指示。当批准者(例如,管理者)与批准该请求的用户输入机制进行交互时,将通知发送回到客户端系统106以通知用户112他或她已被批准执行所请求的命令。接收批准并向用户通知该批准由框222所指示。对用户的通知本身可以包括用户输入机制,该用户输入机制可以被致动以用于用户再次发起执行命令的请求,现在其已经被批准了。利用这种致动器显示通知由框224所指示。该通知也可以以其它方式被执行,而这由框226所指示。

然后,用户接口组件194检测与用户输入机制的用户交互,指示用户希望执行该命令。这由框227所指示。

然后,客户端系统106中的认证前端186将执行命令的请求从客户端系统106发送到mafe系统126。这由图2中的框228所指示。mafe系统126继而调用认证和权限系统104(并且示例性地调用信任、认证和授权系统156)来校验用户是否有权限在目标机器上执行所请求的命令,并且还校验用户是否已接收来自用户管理者的批准(如适用)。这由框230所指示。信任、认证和授权系统156校验该信息,并将校验返回到mafe系统126。这由图2中的框232所指示。

一旦已经从信任、认证和授权系统156接收到校验,则mafe系统126签名命令请求并将其放置在队列130中以由命令请求队列系统(crqs)128来访问。crqs128从队列130中取得命令请求并且使用签名校验组件138来校验mafe系统126的签名。这由图2中的框234所指示。

然后,crqs128将命令请求发送到认证和权限系统104以用于批准。认证前端168(并且特别是能力令牌服务182)生成针对命令请求的能力令牌或批准票据。它签名命令请求并将命令请求及其批准票据放置在多租户管理系统116中的批准的请求队列132中。向系统104发送命令请求以用于批准是由图2中的框236所指示,并且批准、签名命令请求以及将命令请求置于批准的请求队列132中,由框238所指示。

然后,crqs128依次从批准的请求队列132中提取批准的命令请求。一旦批准的命令请求从队列132中被取出,则签名校验组件138校验批准的命令请求上的认证和权限系统104的签名。这由框240所指示。然后,其签名命令请求并且将命令请求发送到在多租户容量系统140中的目标机器142。这由框242所指示。

认证前端系统150校验客户端106、命令请求队列系统128以及认证和权限系统104的签名,并将命令请求发送到认证工作者组件146。这由框244所指示。然后,认证工作者组件146访问本地策略145并且校验认证和权限系统104是否被授权以授予该访问权从而在该特定资源上执行该命令请求。这由框246所指示。当这被确认时,然后组件146访问本地策略145中的映射,该映射将该特定命令请求映射到目标机器142上的基于任务(例如,最小权限的)访问隔离上下文(或最小特权的执行环境)。这由框248所指示。然后,认证工作者组件146在目标机器142上的基于任务的访问在隔离上下文中启动命令。这由框250所指示。然后其将所执行的命令的结果返回到客户端系统106。这由框254所指示。

在一些示例中,架构100可以使用基于票据(或令牌)工作的计算机网络认证协议。这些令牌允许通过非安全网络进行通信的节点以安全的方式证明它们彼此的身份,而无需公钥基础设施。其可以被用在客户端-服务器架构中,并提供相互认证。客户端和服务器均校验彼此的身份。其使用可靠的第三方,并且可以可选地包括公钥加密。因此,客户端系统106可以使用这些令牌来对系统102和104进行认证。图3a-图3c(这里统称为图3)示出了流程图,示出了在多租户管理系统116中在针对目标机器(例如,机器118)执行命令使用这种类型的认证的架构100的操作的一个示例。

在图3中讨论的示例中,用户112首先提供指示用户希望启动认证前端186的输入。这可以作为客户端控制台或以其它方式被启动。这由框260所指示。例如,在一个示例中,用户可以希望作为待命工程师(或oce)登录到系统中。这由框262所指示。当然,用户还可以提供指示他或她希望以其它方式启动认证前端186的输入,并且这由框264所指示。

然后,用户对认证和权限系统104进行认证。这由框266所指示。认证和权限系统104在本文中也可以被称为ap系统104。在一个示例中,认证前端186强制实施对ap系统104的双因素认证。例如,可以强制实施如框268所示的智能卡认证、如框270所示的账户密码认证、或者如框272所示的其它认证。一旦用户登录,则用户可以提交针对多租户管理系统116中的目标机器(例如,管理机器118)的访问请求(例如,命令和相对应的参数)。这由框274所指示。用户可以通过在形成认证前端186的客户端控制台上运行的脚本来示例性地执行此操作。这由框276所指示。用户还可以以其它方式提交命令,并且这由框278所指示。

作为响应,然后用户对于mafe系统126是被认证的。这由图3的流程图中的框280所指示。在一个示例中,ap系统104使用户对于多租户管理系统116是认证的。这可以以各种方式来完成。在一个示例中,可以使用基于票据工作的计算机网络认证协议来完成,以允许通过不安全的网络198进行通信的系统104和116以安全的方式证明彼此的身份。在这样的示例中,客户端系统106和多租户管理系统116使用ap系统104作为可信的第三方来校验彼此的身份。

一旦认证完成,mafe系统126将用户112请求的命令转发到认证前端168,并且在一个示例中将其转发到能力令牌服务182。这由图3中的框282所指示

能力令牌服务182示例性地确定命令请求是否被授权。这由框284所指示。例如,可以通过访问基于角色的访问控制和接口系统164来实现。这由框286所指示。也就是说,访问系统164可以基于用户的角色成员资格来确定用户是否被授权执行该命令。这也可以涉及风险分析。可以基于系统102中当前所发生的事务、基于进行请求的特定用户112的用户简档、基于其中将要执行命令的系统的系统简档、以及其它来计算风险度量。例如,如果请求用户112通常不是将要进行这样的请求的用户,或者如果请求是在异常时间(例如,非常繁忙的时间,或当用户112在度假时等)进行的,那么这可以指示这是风险相对高的命令。系统164示例性地考虑各种因素并计算风险度量,该风险度量指示与在此时和在这些情况下在目标资源(或目标机器)上执行所请求的命令的请求用户112相对应的风险。基于用户的角色成员资格来校验用户是否被授权执行命令由框288所指示。还可以以其它方式校验用户,并且这由框290所指示。

在框292,如果确定用户没有被授权执行所请求的命令,则处理跳到框294,其中显示了适当的错误消息。然而,在框292,如果确定用户被授权执行所请求的命令,则处理移动到框296,其中能力令牌服务182生成可包括风险度量的能力票据(或令牌)并利用与能力令牌服务182(或认证前端168)相对应的签名证书对其进行签名。然后其将签名的票据或令牌返回给mafe系统126。这由图3中的框298所指示。

作为响应,mafe系统126校验在已签名的令牌上的认证前端168(或能力令牌服务182)的签名。这由框300所指示。然后,mafe系统126使用其自己的签名证书签名票据(或令牌),并将票据(或令牌)发送到目标机器118上的认证工作者组件122。这分别由框302和304所指示。

在接收到签名的票据(或令牌)之后,认证工作者组件122校验(认证前端168或令牌服务182,以及mafe系统126的)两个签名以确定它们是否有效。如在框308所确定的,如果签名无效,则处理再次返回到框294,其中显示错误消息。然而,如果在框308签名有效,则认证工作者组件122从票据(或令牌)获得执行级别(或隔离级别)。这由框310所指示。例如,在一个示例中,认证工作者组件122访问本地策略123以识别将单独的命令(或命令集)映射到目标机器118中的特权和权限的集合(或表征隔离级别的执行环境的其它项目)的映射。

然后,认证工作者组件122从票据(或令牌)中解包该命令及其相对应的参数。这由框312所指示。然后,它打开基于任务的执行环境(例如,具有需要用于适应执行命令所需的执行级别或隔离级别的最少量的特权或权限的执行环境)。这由框314所指示。将注意到,尽管在一个示例中使用最小特权和权限,但并不总是如此。例如,在另一个示例中,在执行环境中被授予的权限或特权可以比绝对需要的权限或特权稍微更多。然而,特权和权限是基于将要执行的特定命令来确定的。如上所述,一个示例是授予执行命令所需的最少数量的权限和特权。

然后,认证工作者组件122在刚刚打开的执行环境中利用相对应的参数来启动命令。这由框316所指示。当已经执行了命令时,然后组件122可以将结果返回到客户端系统106。这由框318所指示。

图4a-图4c(这里统称为图4)示出了允许用户112被认证以在目标机器上执行命令(或其它任务)的架构100的操作的一个示例,其中信任、认证和授权系统156使用公钥基础设施。图4d-图4g更详细示出了图1a和1b所示的多个项目。

例如,图4d更详细地示出了信任、认证和授权系统156的一个示例。图4d示出了系统156可以包括双因素认证组件330、公钥基础设施系统332(其本身可以包括密钥组件334、证书组件336和其它项目338),并且系统156还可以包括其它项目340。

图4e更详细地示出了mafe系统126的一个示例。图4e示出了mafe系统126可以包括密钥组件342、散列函数引擎344、证书系统346(其本身可以包括校验组件348、签名组件350和其它项目352)、队列路由组件354,并且mafe系统126可以包括其它项目356。

图4f更详细地示出了能力令牌服务182的一个示例。在图4f所示的例子中,服务182示例性地包括签名校验引擎358、签名组件360、工作流分组生成器362,并且能力令牌服务182可以包括其它项目364。

图4g更详细地示出了认证工作者组件122的一个示例。组件122可以包括例如签名校验组件366、本地验证组件368、执行(或隔离)级别标识符组件370、执行环境生成器372、命令执行引擎374,并且认证工作者组件122可以包括其它项目376。现在将彼此结合来描述图1a、图1b、图4和图4d-图4g。

再次,图4a-图4c(这里统称为图4)示出了显示了允许用户112在多租户管理系统116中的目标机器上执行命令的架构100的操作的一个示例的流程图。关于在多租户容量系统140中的目标机器上执行命令或操作的用户112也可以执行相同类型的处理,并且图4中的描述仅作为示例而提供。为了图4的说明起见,还假设该信任、认证和授权系统156被提供有图4d所示的公钥基础设施332。

用户112首先在客户端系统106上启动客户端控制台(或认证前端186)。这由图4中的框380所指示。然后,用户112使用双因素认证来示例性地对ap系统104进行认证。这由框382所指示。作为示例,认证前端186示例性地进行检查以确保用户112具有用户访问请求签名证书。这可以存储在访问管理系统162中的用户访问账户178中。这由框384所指示。

如果用户没有用户访问签名证书(ua签名证书),则认证前端186请求一个用户访问签名证书。在这样做时,认证前端186示例性地创建公钥/私钥对,并且利用该密钥对来创建针对ua签名证书的请求。这由图4中的框386和388所指示。然后,它将该请求发送到发布证书权威机制(如图4d所示的公钥基础设施332中的证书组件336)。这由框390所指示。证书组件336响应于该请求而发出ua签名证书。这由框392所指示。这可以以各种不同的方式来完成。例如,证书组件336可以使用基于角色的访问控制和接口系统164或使用用户访问账户178或服务器访问账户180,通过身份管理系统166,或者以其它方法来校验用户是给定组的成员。这分别由框394和396所指示。

在框384,如果确定了该用户具有ua签名证书,或者在框392之后当针对用户发布了ua签名证书时,然后用户112可以将用户希望在多租户管理系统116中的目标机器118上执行的访问请求(例如,命令)提交到mafe系统126。这样做时,认证前端186(或认证客户端控制台)使用ua请求签名证书来签名请求。这由图4中的框398所指示。签名的请求包括识别用户正在请求执行的特定命令的用户请求400。签名的请求还示例性地包括请求的数字签名,其可以包括用户请求的单向散列和发布给用户的ua请求签名证书的副本。这由框402所指示。当然,如框404所指示,它也可以包括其它项目。

然后,在mafe系统126(图4e所示)中,验证组件348使用被包括在请求中的ua请求签名证书来校验客户端签名。这由框406所指示。校验组件348可以这样做是因为包含在ua请求签名证书中的公钥成功地重新计算访问请求的单向散列函数。因此,例如,密钥组件342从ua请求签名证书获得公钥。这由框308所指示。散列函数引擎344然后计算单向散列以获得访问请求数据(例如,表示命令的数据)。这由框410所指示。由于用户的ua请求签名证书本身是由发布证书权威机制(例如,信任、认证和授权系统156中的证书组件336,如图4d所示)签名的,校验组件348校验发布证书链以查看发布证书权威机制(证书组件336)是可信的。这由框412所指示。mafe系统126也可以以其它方式校验客户端签名,并且这由框414所指示。

然后,mafe系统126中的签名组件350使用mafe访问请求签名证书对用户访问请求进行签名。这由框416所指示。

然后,mafe系统126中的队列路由组件354将签名的请求(例如,本文中也称为工作流二进制大型对象(blob))放置在请求队列130中。这由图4中的框418所指示。然后,crqs系统128从队列130取得签名的请求,并将其发送到ap系统104中的能力令牌服务182。这由图4中的框420所指示。能力令牌服务182中的签名校验引擎358(图4f)校验mafe系统126的签名和用户签名(或客户端系统106的签名),并且校验用户112是否被授权执行工作流。然后,签名组件360利用能力令牌(ct)服务签名证书对其进行签名,并且工作流分组生成器362生成新的、批准的工作流,并将新的、批准的工作流放置在批准的请求队列132中。这由图4中的框422所指示。

在一个示例中,工作流blob识别进行请求的用户、对应于该命令的所请求的动作、以及在其上执行该命令的目标资源。这由框424所指示。能力令牌服务182可以访问基于角色的访问控制和接口系统164,如框426所指示。系统164提供关于用户是否被授权执行由工作流指示的命令的指示。

能力令牌服务182还可以访问角色请求和批准系统158以确定该用户是否需要批准(例如,来自用户的管理者的)以便执行命令。如果需要,则可以执行上面关于图2讨论的批准过程。这由框428所指示。

一旦系统182批准该工作流,这指示ap系统104已经授权了用于目标机器上的目标资源的工作流。这由图4中的框430所指示。能力令牌服务182当然也可以执行其它动作,并且这由框432所指示。

当批准的工作流出现在批准的请求队列132中时,crqs系统128示例性地提取该工作流,将其分解并将新的批准的工作流分发到相对应的目标机器118,使得该命令可以在该机器上被启动。这由框434所指示。新的批准的工作流被示例性地分解为将要在目标机器上执行的任务的集合436。其也可以说明性地分解为定义任务的参数、以及针对该任务中的每一个的执行级别或范围。这由框438所指示。分解还可以包括其它信息440。

认证工作者组件122示例性地在目标机器上接收该分解的批准的工作流,并且访问先前已经接收到的根证书权威机制证书,并校验工作负载上的所有签名,并且还使用本地策略131(或对机器118是本地的本地策略123)来本地验证工作流。这由框442所指示。回想一下,工作流将示例性地包括用户(或客户端)106、mafe系统126和能力令牌服务182的签名。这由框444所指示。因此,认证工作者组件122中的签名校验组件366校验该签名。本地验证组件368可以访问本地策略123以确定ap系统104是否被授权在这些目标资源上针对该命令认证该用户。本地验证组件368也可以验证命令中的各种任务,并且下面关于图6描述这种情况的一个示例。当然,本地验证组件368也可以执行其它动作,这由框446所指示。

如框448处所确定的,如果签名或工作流无效,则如框450所示的可以显示适当的错误消息。然而,如果签名和工作流有效,则处理在框452继续。

然后,执行(或隔离)级别标识符组件370识别工作流将要以其操作的执行级别(或隔离级别),以便完成该命令。在一个示例中,执行(或隔离)级别标识符组件370访问本地策略131(或123)。本地策略示例性地包括各种单独的命令和执行级别(或执行命令所需的隔离级别)之间的映射。例如,映射可以包括命令和执行命令或命令中的各种任务所需的权限或特权的集合之间的映射。识别执行级别(或隔离级别)由框452所指示。

然后,认证工作者组件122使用执行环境生成器372来打开具有适应用于执行与命令相对应的工作流的执行级别(或隔离级别)所需的最小特权(或至少基于任务的特权)的执行环境。这由框454所指示。然后,命令执行引擎374在最小特权执行环境中执行工作流,如框456所指示。在一个示例中,组件122返回执行的命令的结果。这由框458所指示。

图5是更详细地示出了认证工作者组件122的操作的一个示例的流程图。在一个示例中,将要在目标机器118上执行的各种工作流被存储在队列中,并且被依次执行。因此,认证工作者组件122监测接收到的工作流的本地工作流队列。这由框460所指示。然后,认证工作者组件122从本地队列中提取工作流分组,如框462所指示,并且签名校验组件366校验工作流分组上的签名。

然后,组件122解包工作流以识别各种任务和用于这些任务的相对应的范围(或参数)。这由框466所指示。例如,给定的工作流可以包括多个较低级别的命令或任务,并且可以暗示跨不同机器和不同角色的执行。每个任务均可以仅适用于指定范围内的机器角色中的一些。例如,范围可以是定义针对其提交命令请求的系统、租户、站点等的一个或多个参数的组合。然后,本地验证组件368访问本地授权策略并校验工作流是否被本地策略授权。这由框468和470所指示。作为一个示例,授权策略可以将不同的范围映射到不同的机器。因此,本地验证组件368可以校验范围是否是用于当前目标机器的。这由框472所指示。组件368还可以执行基于任务的访问验证(其在下面关于图6被更详细地描述)。这由框474所指示。此外,也可以以其它方式校验工作流是否被本地策略授权,并且这由框476所指示。

然后,执行级别标识符组件370识别基于任务的执行环境。在一个示例中,这是执行命令或其它请求中的各种任务所需的最小特权环境。在另一个示例中,特权被划分为组,并且它是使系统变得最不可访问但仍然能够使任务被执行的特权的组。虽然这在技术上可以不是“最小特权的”执行环境,但它是基于将要执行的任务而受到限制的执行环境。这由框478所指示。再次,这可以以多种方式来完成。例如,执行环境可以由工作流开发者指定,如框480所指示。执行环境可以被局限于本地服务,如框482所指示。它可以被局限于网络服务,如484所指示,或者它可以基于特定服务账户而被识别,如框486所指示。它也可以以其它方式被识别,并且这由框488所指示。

然后,执行环境生成器372生成执行命令或任务集所需的执行环境。在一个示例中,其从ap系统104获得与所识别的、最小特权的执行环境相对应的访问令牌。这由框490所指示。然后,命令执行引擎374使用最小特权的访问令牌启动工作流进入子进程中。这由框492所指示。

图6a和图6b(这里统称为图6)示出了认证工作者组件122在执行基于任务的访问验证中的操作的一个示例。这也由上述图5中的框474所表示。

回想一下,从ap系统104接收到的授权语句(或授权的命令请求)是签名的消息,其包含了用户的用户(或客户端)签名的标识符以及识别工作流和的工作流标识符、以及在其上执行该工作流的目标范围。当ap系统104授权工作流时,如果需要,它这样做是基于用户的角色成员资格、与用户角色成员资格相关联的范围、以及管理器批准工作流的完成。给定的工作流可以包括多个较低级别的命令或任务,并且可以暗示跨不同机器和不同角色的执行。

从ap系统104接收到的授权语句示例性地是在由用户识别的范围中的工作流的高级授权。然而,这些语句不会在每个目标机器上均提供任务级的访问验证。由于架构100的分布式授权设计,crqs128无权来授权工作流的执行。因此,目标机器上的授权工作者组件122在任务的执行之前执行每个任务的授权。认证工作者组件122可以这样做,是因为当它从crqs128接收到工作项目时,系统128将工作流分解为所需的任务和用于这些任务的参数(或范围)。认证工作者组件122上的本地验证组件368授权该任务。这可以校验任务和范围是否是工作流的部分,并且校验由ap系统104授权的范围是否对应于目标机器的范围。为此,认证工作者组件122中的本地验证组件368针对本地授权策略123检查每个任务,其中本地授权策略123包括每个工作流与相对应的任务的映射。

通常,ap系统104发布声明的集合,其包括用户识别的工作流和用户识别的范围。当校验出工作负载包含指定的任务时,crqs128查询本地授权策略131以查看工作流是否包括指定的任务。当校验任务的范围时,认证工作者组件122校验由crqs128提供的范围是否与ap系统104所批准的声明的范围相匹配,并且还校验指定范围实际上是否包括本地机器(或目标机器)118。图6a和图6b(这里统称为图6)更详细地示出了该操作。

首先假设认证工作者组件122已经被接收到并且校验了在工作流分组上的签名且对工作流分组进行解包。这由图6中的框494所指示。在一个示例中,由用户id识别的给定用户请求在一组任务t上具有给定范围的工作流x。每个任务具有相对应的任务范围。这可以如496所示的被表示。当然,它可以以其它方式498被表示。

本地验证组件368首先从工作流分组中选择任务和相对应的范围。这由框500所指示。然后,本地验证组件368访问本地授权策略数据存储(例如,本地策略123)。这由框502所指示。本地策略123示例性地将任务映射到工作流。这由框504所指示。它也可以包括其它信息,如由框506所指示。然后,本地验证组件368确定所选择的任务是否被映射到在496处指示的所识别的工作流。确定由图6中的框508所指示。如果不是,则如框510所示生成适当的错误消息。然后,然而如果是,则本地验证组件368确定与所选择的任务相对应的范围是否与由能力令牌服务182授权的范围相匹配。这由框512所指示。然后,如果是,则本地验证组件368确定对应于所选择的任务的范围是否应用于该特定的本地机器(例如,机器118)。这由框514所指示。如果框512或514中的任何一个的答案为否,则处理再次返回到框510,其中生成适当的错误消息。然而,如果每个框处的答案是肯定的,则该任务已被本地验证以用于在该特定目标机器上的执行。这由框516所指示。然后,在框518,本地验证组件368确定在由方框496所指示的工作流中是否存在将要处理的任何附加任务。如果是,则处理返回到框500。如果不是,针对该机器所有任务都是已验证的。

本讨论提到了处理器和服务器。在一个实施例中,处理器和服务器包括具有关联的存储器和定时电路的计算机处理器,没有独立地示出。它们是其所属的系统或设备的功能部件,并且由这些系统中的其它组件或项目的功能激活以及有助于这些系统中的其它组件或项目的功能。

而且,已经讨论了许多用户界面显示。它们可以采用广泛的各种不同的形式,并且可以在其上设置有各种不同的用户可致动的输入机制。例如,用户可致动的输入机制可以是文本框、复选框、图标、链接、下拉菜单、搜索框等。它们也可以以各种不同的方式来致动。例如,它们可以使用指向和点击设备(如轨迹球或鼠标)来致动它们。它们可以使用硬件按钮、开关、操纵杆或键盘、拇指开关或拇指垫等来致动它们。它们也可以使用虚拟键盘或其它虚拟执行器来致动。另外,在其上显示它们的屏幕是触感屏幕,它们可以使用触摸姿势来致动。此外,显示它们的设备具有语音识别组件,可以使用语音命令来致动它们。

还已经讨论了许多数据存储。将会注意到,它们各自可以被分成多个数据存储。对于访问它们的系统所有这些都可以是本地的、所有这些都可以是远程的、或者一些可以是本地的,而另一些则是远程的。所有这些配置都在本文中设想。

而且,附图示出了多个框,功能是归因于每个框的。应该注意的是,可以使用较少的框,则功能由较少的组件来执行。而且,随着功能被分布在更多组件之间可以使用更多的框。

图7是图1a中所示的架构100的框图,只是其中将架构100的元件置于云计算架构520中。云计算提供了计算、软件、数据访问和存储服务,其不需要终端用户对传送服务的系统的物理位置或配置的了解。在各种实施例中,云计算使用适当的协议在广域网(例如因特网)上传送服务。例如,云计算提供方在广域网上传送应用,并且可以通过web浏览器或任何其它计算组件进行访问。架构100的软件或组件以及相对应的数据可以被存储在远程位置的服务器上。云计算环境中的计算资源可以在远程数据中心位置被整合或可以被分散。云计算基础设施可以通过共享的数据中心传送服务,即使它们作为用于用户的单一访问点出现。因此,本文描述的组件和功能可以使用云计算架构从远程位置处的服务提供方被提供。可替代地,它们可以从常规服务器中被提供,或者它们可以直接或以其它方式被安装在客户端设备上。

该描述是要包括公共的云计算和私有的云计算。云计算(公共的和私有的)提供了大量无缝的资源池,以及对管理和配置底层硬件基础设施的减少的需求。

公共的云由供应商管理,并且通常支持使用相同的基础设施的多个消费者。而且,与私有的云不同,公共的云可以将终端用户从管理硬件中释放出来。私有的云可以由组织本身管理,并且基础架构通常不与其它组织共享。组织仍然在某种程度上维护硬件,如安装和维修等。

在图7所示的示例中,一些项目类似于图1a所示的项目,并且它们被类似地编号。图7具体示出了多租户工作负载系统102,并且认证和权限系统104可以位于云522(其可以是公共的,私有的或其中部分是公共的而另一些部分是私有的组合)中。因此,用户112使用用户设备524通过云522访问这些系统。

图7还描绘了云架构的另一个示例。图7示出了也可以设想到,架构100的一些元件可以被设置在云522中,而其它元件不能被设置在云522中。作为示例,数据存储160可以被设置在云522之外,并且通过云522被访问。在另一示例中,ap系统104也可以在云252之外。无论它们位于何处,它们都可以由设备524通过网络(广域网或局域网)直接访问、它们可以在远程站点处由服务来托管、或者它们可以通过云作为服务被提供、或者由驻留在云中的连接服务来访问。本文设想所有这些架构。

还将注意到,架构100或其部分可以被布置在广泛的各种不同的设备上。这些设备中的一些设备包括服务器、桌上型计算机、膝上型计算机、平板计算机或其它移动设备,例如掌上计算机、蜂窝电话、智能电话、多媒体播放器、个人数字助理等。

图8是可用作用户或客户端的手持设备16的手持或移动计算设备的一个示例性实施例的简化框图,其中可以部署本系统(或其部分)。图9-图10是手持设备或移动设备的示例。

图8提供了可以运行数据中心102或ap系统104或管理客户端系统106的组件或者与架构100进行交互或两者的客户端设备16的组件的一般框图。在设备16中,提供了通信链路13,其允许手持设备与其它计算设备进行通信,并且在一些实施例下提供了用于例如通过扫描自动接收信息的信道。通信链路13的示例包括红外端口、串行/usb端口、诸如以太网端口之类的有线网络端口、以及允许通过包括通用分组无线业务(gprs)、lte、hspa、hspa+和其它3g和4g无线电协议、1xrtt和短消息服务的一个或多个通信协议进行通信的无线网络端口,其中这些通信协议是用于向网络提供蜂窝接入的无线服务,以及wi-fi协议和蓝牙协议,它们提供到网络的本地无线连接。

在其它示例下,应用或系统在连接到sd卡接口15的可移动安全数字(sd)卡上被接收。sd卡接口15和通信链路13沿着总线19与处理器17(其也可以包含来自图1a的处理器)进行通信,总线19也连接到存储器21和输入/输出(i/o)组件23以及时钟25和定位系统27。

在一个实施例中,i/o组件23被提供以有助于输入和输出操作。用于设备16的各种实施例的i/o组件23可以包括以下输入组件和输出组件:输入组件例如,按钮、触摸传感器、多点触摸传感器、光学或视频传感器、语音传感器、触摸屏、接近传感器、麦克风、倾斜传感器和重力开关,输出组件例如显示设备、扬声器和打印机端口。也可以使用其它i/o组件23。

时钟25示例性地包括输出时间和日期的实时时钟组件。也可以示例性地向处理器17提供定时功能。

定位系统27示例性地包括输出设备16的当前地理位置的组件。这可以包括例如全球定位系统(gps)接收机、loran系统、航位推算系统、蜂窝三角测量系统,或其它定位系统。它还可以包括例如生成所需地图、导航路线和其它地理功能的地图软件或导航软件。

存储器21存储操作系统29、网络设置31、应用33、应用配置设置35、数据存储装置37、通信驱动器39和通信配置设置41。存储器21可以包括所有类型的有形易失性和非易失性计算机可读存储器设备。它还可以包括计算机存储介质(如下所述)。存储器21存储计算机可读指令,当由处理器17执行时,使处理器根据指令执行计算机实现的步骤或功能。类似地,设备16可以具有客户端系统24,客户端系统24可以运行各种商业应用或者实现租户114或管理客户端100的部分或全部。处理器17也可以被其它组件激活以有利于其功能。

网络设置31的示例包括诸如代理信息、因特网连接信息和映射之类的事物。应用配置设置35包括针对特定企业或用户定制应用的设置。通信配置设置41提供用于与其它计算机通信的参数,并且包括诸如gprs参数、sms参数、连接用户名和密码之类的项目。

应用33可以是先前已经存储在设备16上的应用或在使用期间安装的应用,尽管它们也可以是操作系统29的部分,也可以被托管在设备16外部。

图9示出了其中设备16是平板计算机600的一个实施例。在图6中,计算机600被显示为具有用户界面显示屏幕602。屏幕602可以是触摸屏(因此可以使用来自用户手指的触摸姿势来与应用进行交互)或者从笔或触控笔接收输入的启用笔的界面。它也可以使用屏幕上的虚拟键盘。当然,也可以通过诸如无线链路或usb端口之类的合适的附接机制将计算机600附接到键盘或其它用户输入设备。计算机600也可以示例性地接收语音输入。

还可以使用设备16的附加示例。设备16可以是功能电话、智能电话或移动电话。电话可以包括用于拨打电话号码的一组小键盘、能够显示包括应用图像、图标、网页、照片和视频的图像的显示器,以及用于选择显示器上显示的项目的控制按钮。电话包括用于接收蜂窝电话信号的天线,蜂窝电话信号例如通用分组无线业务(gprs)和1xrtt以及短消息服务(sms)信号。在一些示例中,电话还包括接受sd卡的安全数字(sd)卡插槽。

移动设备还可以是个人数字助理或多媒体播放器或平板计算设备等(以下称为pda)。pda可以包括当触控笔位于屏幕上方时,感应触控笔(或其它指针,例如用户的手指)的位置的感应屏幕。这允许用户选择、突出显示和移动屏幕上的项目以及绘图和书写。pda还可以包括许多用户输入键或按钮,其允许用户滚动显示在显示器上的菜单选项或其它显示选项,并且允许用户改变应用或选择用户输入功能,而不用接触显示器。pda可以包括内部天线和允许与其它计算机的无线通信的红外发射机/接收机以及允许与其它计算设备的硬件连接的连接端口。这样的硬件连接通常通过经由串行或usb端口连接到另一计算机的支架进行。因此,这些连接是非网络连接。

图10示出了电话可以是智能电话71。智能电话71具有显示图标或瓦片或其它用户输入机制75的触敏显示器73。用户可以使用机制75来运行应用、进行呼叫、执行数据传输操作等。通常,智能电话71建立在移动操作系统上,并且提供比功能电话更高级的计算能力和连接性。

注意,设备16的其它形式是可能的。

图11是其中可以部署架构100或其部分(例如)的计算环境的一个实施例。参考图11,用于实现一些实施例的示例性系统包括以计算机810形式的通用计算设备。计算机810的组件可以包括但不限于处理单元820(其可以包括上文所讨论的任何处理器)、系统存储器830和系统总线821,系统总线821将包括系统存储器的各种系统组件耦合到处理单元820。系统总线821可以是包括存储器总线或存储器控制器、外设总线和使用各种总线架构中的任何一种的本地总线的几种类型的总线结构中的任何一种。作为示例而非限制,这种架构包括工业标准架构(isa)总线、微通道架构(mca)总线、增强型isa(eisa)总线、视频电子标准协会(vesa)本地总线、和外围组件互连(pci)总线,但也称为夹层总线。关于图1a描述的存储器和程序可以被部署在图11的相对应的部分中。

计算机810通常包括各种计算机可读介质。计算机可读介质可以是可由计算机810访问的任何可用介质并且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质与调制的数据信号或载波不同,并且不包括调制的数据信号或载波。计算机存储介质包括硬件存储介质,包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的方法或技术中的任何一种来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于ram、rom、eeprom、闪速存储器或其它存储器技术、cd-rom、数字通用盘(dvd)或其它光盘存储器、磁带盒、磁带、磁盘存储器或其它磁存储设备或可用于存储所需信息并且可由计算机810访问的任何其它介质。通信介质通常包含计算机可读指令、数据结构、程序模块或传输机制中的其它数据,并且包括任何信息传送媒体。术语“调制的数据信号”是指以将信息编码在信号中的方式设置或改变其特征中的一个或多个的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质以及诸如声学、rf、红外和其它无线介质之类的无线介质。上述的任何项的组合也应包括在计算机可读介质的范围内。

系统存储器830包括诸如只读存储器(rom)831和随机存取存储器(ram)832之类的易失性和/或非易失性存储器形式的计算机存储介质。包含有助于在计算机810内的元件之间(例如在致动期间)传送信息的基本例程的基本输入/输出系统833(bios)通常存储在rom831中。ram832通常包含通过处理单元820可立即访问和/或由处理单元820当前正在操作的数据和/或程序模块。作为示例而非限制,图11示出了操作系统834、应用程序835、其它程序模块836和程序数据837。

计算机810还可以包括其它可移动/不可移动的易失性/非易失性计算机存储介质。仅作为示例,图11示出了从不可移动的非易失性磁性介质中读取或写入不可移动的、非易失性磁性介质的硬盘驱动器841以及从诸如cdrom或其它光学介质之类的可移动的非易失性光盘856中读取或写入可移动的非易失性光盘856的光盘驱动器855。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡、数字通用盘、数字录像带、固态ram、固态rom等。硬盘驱动器841通常通过诸如接口840之类的不可移动存储器接口连接到系统总线821,并且光盘驱动器855通常通过诸如接口850之类的可移动存储器接口连接到系统总线821。

可替代地或附加地,本文所描述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的示例性类型包括现场可编程门阵列(fpga)、程序专用集成电路(asic)、程序特定标准产品(assp)、系统级芯片系统(soc)、复杂可编程逻辑器件(cpld)等。

上面描述并在图11中示出的驱动器及其相关联的计算机存储介质提供对计算机810的计算机可读指令、数据结构、程序模块和其它数据的存储。在图11中,例如,硬盘驱动器841被示为存储操作系统844、应用程序845、其它程序模块846和程序数据847。注意,这些组件可以与操作系统834、应用程序835、其它程序模块836和程序数据837相同或不同。操作系统844、应用程序845、其它程序模块846和程序数据847在这里被给出了不同的标号,以说明至少它们是不同的副本。

用户可以通过诸如键盘862、麦克风863和指示设备861(诸如鼠标、轨迹球或触摸板)之类的输入设备将命令和信息输入到计算机810中。其它输入设备(未示出)可以包括操纵杆、游戏手柄、卫星盘、扫描仪等。这些和其它输入设备通常通过耦合到系统总线的用户输入接口860连接到处理单元820,但是可以通过诸如并行端口、游戏端口或通用串行总线(usb)之类的其它接口和总线结构来连接。视觉显示器891或其它类型的显示设备也经由诸如视频接口890之类的接口连接到系统总线821。除了监测器之外,计算机还可以包括其它外围输出设备,例如扬声器897和打印机896,其可以通过输出外围接口895来连接。

计算机810在使用到一个或多个远程计算机(例如,远程计算机880)的逻辑连接的联网环境中操作。远程计算机880可以是个人计算机、手持设备、服务器、路由器、网络pc、对等设备或其它公共网络节点,并且通常包括上文相对于计算机810所述的元素中的许多或所有。图10所描绘的逻辑连接包括局域网(lan)871和广域网(wan)873,但也可以包括其它网络。这样的网络环境在办公室、企业级计算机网络、内联网和因特网中是常见的。

当在lan联网环境中使用时,计算机810通过网络接口或适配器870连接到lan871。当在wan联网环境中使用时,计算机810通常包括调制解调器872或用于通过wan873如因特网建立通信的其它手段。可以是在内部或外部的调制解调器872可以经由用户输入接口860或其它适当的机制连接到系统总线821。在联网环境中,相对于计算机810描绘的程序模块或其部分可以存储在远程存储器存储设备中。作为示例而非限制,图11示出了驻留在远程计算机880上的远程应用程序885。应当理解,所示出的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它手段。

还应当注意,本文描述的不同的实施例可以以不同的方式进行组合。也就是说,一个或多个实施例的部分可以与一个或多个其它实施例的部分进行组合。所有这一切都在本文中被设想。

示例1是多租户计算系统中的机器,包括:

本地策略的集合,将命令映射到多租户计算系统中的隔离级别;

认证工作者组件,其使用远程管理客户端系统从远程用户接收识别将要在所述机器上执行的请求命令的工作流,访问所述本地策略以识别相对应的隔离级别,并且在具有相对应的隔离级别的执行环境中执行命令;以及

处理器,其由认证工作者组件激活并且有助于访问所述本地策略并执行所述命令。

示例2是任何或所有先前示例的多租户计算环境中的机器,其中,认证工作者组件包括:

隔离级别标识符组件,其基于所请求的命令来访问所述本地策略的集合以识别映射到所请求命令的相对应的隔离级别。

示例3是任何或所有先前示例的多租户计算环境中的机器,其中,认证工作者组件包括:

执行环境生成器,其接收所识别的隔离级别并且在所述机器上生成具有所识别的隔离级别的执行环境。

示例4是任何或所有先前示例的多租户计算环境中的机器,其中,认证工作者组件包括:

命令执行引擎,其在执行环境中执行所请求的命令。

示例5是任何或所有先前示例的多租户计算环境中的机器,其中,所述命令执行引擎从可信的远程认证系统获取与所述隔离级别和所述执行环境相对应的访问令牌,并且通过使用所述访问令牌启动用于执行所述请求的命令的工作流进入所述机器上的进程中而在所述执行环境中执行所述请求的命令。

示例6是任何或所有先前示例的多租户计算环境中的机器,其中,所请求的命令包括多个不同的任务,每个任务具有相对应的范围,其中,本地策略的集合将任务映射到命令,并且其中,所述认证工作者组件包括:

本地验证组件,其识别将要被执行以实行所述请求的命令的任务的集合,并且所述本地验证组件访问所述本地策略以验证识别的任务的集合映射到所述请求的命令。

示例7是任何或所有先前示例的多租户计算环境中的机器,其中,所述认证工作者组件与所述工作流一起接收能力令牌,所述能力令牌由远程认证和授权系统生成,所述远程认证和授权系统生成所述能力令牌以在给定的范围内对所述工作流进行授权,并且其中,所述本地验证组件验证所识别的任务集合中的每一个的范围对应于与所述工作流相对应的能力令牌中授权的给定范围。

示例8是任何或所有先前示例的多租户计算环境中的机器,其中,本地策略的集合将每个范围映射到给定机器,并且其中,本地验证组件访问本地策略以验证识别的任务的集合中的每个任务的范围被映射到机器。

示例9是任何或所有先前示例的多租户计算环境中的机器,其中,所述远程认证和授权组件认证所述远程用户并且利用签名对所述能力令牌进行签名,并且其中,所述认证工作者组件包括:

签名验证组件,其校验所述远程认证和授权组件的签名。

示例10是任何或所有先前示例的多租户计算环境中的机器,其中,所述机器包括多租户容量系统中的容量机器。

示例11是任何或所有先前示例的多租户计算环境中的机器,其中,所述机器包括多租户管理系统中的多租户管理机器。

示例12是在多租户计算环境中的机器上实现的计算机实现的方法,所述方法包括:

使用远程管理客户端系统接收识别由远程用户在所述机器上执行的所请求的命令的工作流;

访问在所述多租户计算环境中将命令映射到隔离级别的本地策略的集合,以识别映射到所请求的命令的隔离级别;

在所述机器上生成具有相对应的隔离级别的执行环境;以及

在具有相对应的隔离级别的所述执行环境中执行所述命令。

示例13是任何或所有先前示例的计算机实现的方法,其中,接收工作流包括:

与工作流一起接收能力令牌,所述能力令牌由远程认证和授权系统生成,所述远程认证和授权系统生成所述能力令牌以在给定范围内授权所述工作流。

示例14是任何或所有先前示例的计算机实现的方法,其中,所请求的命令包括多个不同的任务,每个任务具有相对应的范围,并且其中,接收工作流包括:

识别所述多个任务中的每个任务及其相对应的范围;以及

验证每个任务及其相对应的范围。

权利要求15是任何或所有先前示例的计算机实现的方法,其中,所述本地策略的集合将任务映射到命令,并且其中,验证每个任务包括:

访问本地策略的集合以验证在任务的集合中的每个所识别的任务映射到所请求的命令。

示例16是任何或所有先前示例的计算机实现的方法,其中,验证包括:

验证任务的集合中的每个所识别的任务的范围对应于与该工作流相对应的能力令牌中授权的给定范围。

示例17是任何或所有先前示例的计算机实现的方法,其中,所述本地策略的集合将每个范围映射到给定机器,并且其中验证包括:

访问本地策略以验证所识别的任务集合中的每个任务的范围被映射到机器。

示例18是任何或所有先前示例的计算机实现的方法,其中,远程认证和授权组件认证远程用户并用签名对能力令牌进行签名,并且其中,验证包括:

校验所述远程认证和授权组件的签名。

示例18是多租户工作负载系统,包括:

使用远程管理客户端系统由远程用户执行的请求的命令,命令请求队列系统将工作流发送到可信的、远程认证系统并从所述远程认证系统接收批准的工作流;以及

目标机器,在其上将要执行所请求的命令,所述目标机器从批准的工作流中接收识别与所批准的工作流相对应的隔离级别,并且在具有所识别的隔离级别的执行环境中执行所请求的命令。

示例20是任何或所有先前示例的多租户工作负载系统,其中目标机器包括:

本地策略的集合,其将命令映射到隔离级别,所述隔离级别定义用于执行所请求命令的最小特权执行环境;以及

认证工作者组件,其访问所述本地策略的集合以识别与所请求的命令相对应的隔离级别。

尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于上述具体特征或动作。相反,上述具体特征和动作被公开为实现权利要求的示例形式。

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