CN117751554A - 作为域资源的外部身份提供者 - Google Patents
作为域资源的外部身份提供者 Download PDFInfo
- Publication number
- CN117751554A CN117751554A CN202280053327.8A CN202280053327A CN117751554A CN 117751554 A CN117751554 A CN 117751554A CN 202280053327 A CN202280053327 A CN 202280053327A CN 117751554 A CN117751554 A CN 117751554A
- Authority
- CN
- China
- Prior art keywords
- iam system
- domain
- iam
- request
- vcn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 64
- 230000004044 response Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 description 28
- 238000004891 communication Methods 0.000 description 25
- 230000006854 communication Effects 0.000 description 25
- 238000012545 processing Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 17
- 238000013475 authorization Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000002507 cathodic stripping potentiometry Methods 0.000 description 4
- 238000002955 isolation Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002600 positron emission tomography Methods 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本文中描述的是用于从第一身份和访问管理(IAM)系统和与第一IAM系统不同的第二IAM系统生成集成的IAM系统的框架。集成的IAM系统是通过以下操作生成的:(i)在与第一IAM系统相关联的客户租赁中创建域,以及(ii)在该域内嵌入第二IAM系统的身份提供者。集成的IAM系统接收来自用户的对与第二IAM系统相关联的资源执行操作的请求。在用户被集成的IAM系统成功认证后,请求被执行。
Description
相关申请的交叉引用
本申请要求于2021年9月30日提交的美国临时申请No.63/250,598和于2022年9月23日提交的美国非临时申请No.17/934,846的优先权。前述申请的全部内容通过引用将其整体并入本文中以用于所有目的。
技术领域
本公开涉及用于以无缝方式集成两个或更多个单独的身份和访问管理系统的框架。
背景技术
云服务提供者(CSP)在不同的模型下提供服务,包括:软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS)模型。在云环境中,身份和访问管理(IAM)系统一般由CSP提供以控制对由云服务提供或使用的资源的用户访问。由IAM系统提供的典型服务或功能包括但不限于用户的单点登录能力、认证和授权服务以及其他基于身份的服务。
受IAM系统保护的资源可以具有不同的类型,诸如计算实例、块存储卷、虚拟云网络(VCN)、子网、路由表、各种可调用的API和/或内部或遗留应用。这些资源包括存储在云中的资源和/或客户本地部署资源。每个资源由创建资源时指派给该资源的唯一标识符来识别。在典型的CSP操作中,提供第一IAM系统以控制对第一类型的服务(例如,IaaS)的用户访问。单独地,提供第二IAM系统,用于第二类型应用(例如,SaaS或PaaS服务)的安全性和身份管理。作为结果,如果客户订阅第一类型和第二类型的服务两者,则需要客户拥有两个单独的账户(即,与每个IAM系统相关联的单独账户)。
为了减轻最终用户记住与每个单独账户相关联的多组凭证的负担,已经提出了第一IAM与第二IAM系统之间的身份联合。然而,联合身份提供者(identity provider)的过程是复杂且耗时的过程,这导致较差的用户体验。
本文中描述的实施例单独地和共同地解决上述问题。
发明内容
本公开的实施例提供了从第一身份和访问管理(IAM)系统和第二IAM系统生成集成的IAM系统。在一些实例中,第一IAM系统可以对应于Oracle云基础设施(OCI)的基础设施身份和访问管理(IAM),并且第二IAM系统可以对应于身份云服务(IDCS)系统。因此,该集成提供了集成的IAM系统,其中对与第二IAM系统相关联的(一个或多个)资源执行操作的请求可以由集成的IAM系统无缝地认证/授权,而不需要将第一IAM系统与第二IAM系统联合。
本公开的一方面提供了一种方法,包括:通过以下操作从第一身份和访问管理(IAM)系统和与第一IAM系统不同的第二IAM系统生成集成的IAM系统:(i)在与第一IAM系统相关联的客户租赁中创建域,以及(ii)在该域内嵌入第二IAM系统的身份提供者;由集成的IAM系统接收来自用户的对与第二IAM系统相关联的资源执行操作的请求;以及响应于用户被集成的IAM系统成功认证而执行所述请求。
本公开的另一方面提供了一种存储特定计算机可执行指令的非暂态计算机可读介质,所述特定计算机可执行指令在由处理器执行时使计算机系统执行方法,所述方法包括:通过以下操作从第一身份和访问管理(IAM)系统和与第一IAM系统不同的第二IAM系统生成集成的IAM系统:(i)在与第一IAM系统相关联的客户租赁中创建域,以及(ii)在该域内嵌入第二IAM系统的身份提供者;由集成的IAM系统接收来自用户的对与第二IAM系统相关联的资源执行操作的请求;以及响应于用户被集成的IAM系统成功认证而执行所述请求。
根据本公开的一个实施例,提供了一种计算设备,包括:处理器;以及包括指令的存储器,所述指令在用所述处理器执行时使所述计算设备至少:通过以下操作从第一身份和访问管理(IAM)系统和与第一IAM系统不同的第二IAM系统生成集成的IAM系统:(i)在与第一IAM系统相关联的客户租赁中创建域,以及(ii)在该域内嵌入第二IAM系统的身份提供者;由集成的IAM系统接收来自用户的对与第二IAM系统相关联的资源执行操作的请求;以及响应于用户被集成的IAM系统成功认证而执行所述请求。
在参考以下说明书、权利要求书和附图后,前述内容将连同其他特征和实施例一起变得更加明显。
附图说明
图1描绘了图示根据各种实施例的身份域的框图。
图2描绘了图示根据各种实施例的示例性客户租赁的框图。
图3描绘了图示根据一些实施例的集成的身份管理系统的架构的框图。
图4A描绘了图示根据一些实施例的生成集成的身份管理系统的过程的流程图。
图4B描绘了图示根据一些实施例的集成的身份管理系统对用户请求进行授权的过程的流程图。
图5是图示根据至少一个实施例的用于实现云基础设施即服务系统的一种模式的框图。
图6是图示根据至少一个实施例的用于实现云基础设施即服务系统的另一种模式的框图。
图7是图示根据至少一个实施例的用于实现云基础设施即服务系统的另一种模式的框图。
图8是图示根据至少一个实施例的用于实现云基础设施即服务系统的另一种模式的框图。
图9是图示根据至少一个实施例的示例计算机系统的框图。
具体实施方式
在下面的描述中,将描述各种实施例。出于解释的目的,阐述具体配置和细节以便提供对实施例的透彻理解。然而,对于本领域技术人员来说也将明显的是,可以在没有具体细节的情况下实践这些实施例。此外,可以省略或简化众所周知的特征,以免使所描述的实施例变得模糊。
介绍
云服务提供者(CSP)可以向订阅客户提供多种云服务。这些服务可以在不同的模型下提供,包括软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(IaaS)模型等。
在云环境中,身份和访问管理(IAM)系统一般由CSP提供以控制对由云服务提供或使用的资源的用户访问。由IAM系统提供的典型服务或功能包括但不限于用户的单点登录能力、认证和授权服务以及其他基于身份的服务。
受IAM系统保护的资源可以具有不同的类型,诸如计算实例、块存储卷、虚拟云网络(VCN)、子网、路由表、各种可调用的API、内部或遗留应用等。这些资源包括存储在云中的资源和/或客户本地部署资源。每个资源通常由创建资源时指派给该资源的唯一标识符(例如,ID)来识别。
CSP可以提供两个或更多个单独且独立的IAM系统以用于它们的云供应。这可以例如在可以提供第一IAM系统(例如,OCI的基础设施身份和访问管理)以用于控制对由CSP提供的IaaS应用和服务的云资源的访问的情况下完成。单独地,可以提供第二IAM系统(例如,可以与第一系统不同的身份云服务(IDCS)),用于由CSP提供的SaaS和PaaS服务的安全性和身份管理。
作为提供这样的两个单独的系统/平台的结果,如果CSP的客户订阅了由CSP提供的SaaS或PaaS服务以及IaaS服务两者,则该客户一般具有两个单独的账户——对于OCI的IAM具有一个账户以用于IaaS订阅,并且对于IDCS具有单独的账户以用于PaaS/SaaS订阅。每个账户将具有其自身的凭证,诸如用户登录和/或密码。因此,同一客户具有用于两个账户的两组单独的凭证。这导致不令人满意的客户体验。此外,具有两个单独的身份管理系统也对SaaS/PaaS与IaaS服务之间的交互造成了障碍。
出于本申请的目的,并且作为示例,两个示例平台分别被称为IAM和IDCS。然而,这些名称和术语并不旨在以任何方式进行限制。本公开的教导适用于要集成两个(或更多个)不同身份管理系统的任何情况。要集成的身份管理系统或平台可以由一个或多个CSP提供。
在某些实施例中,提供集成的IAM系统,该集成的IAM系统以对云服务的用户或客户透明的方式集成多个身份和访问管理系统/平台(例如,IAM和IDCS平台),同时保留并提供由两个单独平台提供的各种特征和功能。因此,该集成提供了更加无缝和增强的用户体验。
然而,出于几个原因,这种集成在技术上非常困难。两个或更多个平台可能使用不同的过程和协议来实现身份相关的功能。例如,IAM可以是基于属性的访问控制(ABAC)系统,也称为基于策略的访问控制系统,该系统定义了一种访问控制范式,由此通过使用表达可以评估许多不同属性的复杂布尔规则集的策略向用户授予访问权限。ABAC的目的是保护诸如数据、网络设备和IT资源之类的对象免遭未经授权的用户和动作的影响——那些用户和动作不具有如组织的安全策略定义的“批准的”特性。另一方面,IDCS可以是基于角色的访问控制(RBAC)系统,它是围绕角色和特权定义的策略中立的访问控制机制。RBAC的组件(诸如角色-许可、用户-角色和角色-角色关系)使执行用户指派变得简单。作为又一个原因,由两个平台使用的认证和授权框架或工作流(例如,所使用的令牌的类型,不同的认证框架,诸如OAUTH)可能是不同的。这只是提供集成的解决方案在技术上非常困难的一小部分原因。
出于简洁性和解释的目的,第一身份和访问管理系统在本文中被认为是IAM系统(其提供控制对云资源(诸如IaaS应用)的访问),并且第二身份和访问管理系统在本文中被认为是IDCS系统(其提供服务(诸如SaaS和PaaS)的安全性和身份管理)。通常,两个或更多个IAM系统之间的集成是经由被称为联合的过程执行的。例如,第一IAM系统提供本机服务(在本文中被称为身份提供者服务),其允许IAM系统的用户与外部身份提供者(IDP)(例如,IDCS)联合。在操作中,用户利用本机服务(在第一身份和访问管理系统(例如,IAM)内)来执行与外部IDP(例如,IDCS系统)的登录操作。外部IDP生成响应,该响应被传输回IAM系统。换句话说,在IAM与IDCS系统之间执行证书交换来验证用户。在用户被验证后,IAM系统生成令牌,该令牌包含与该用户是成员的(一个或多个)IDP组有关的信息。令牌被用于执行映射操作,该映射操作包括将(一个或多个)外部系统中的用户组的标识符映射到IAM系统中的用户组的另一个标识符。因此,联合两个或更多个单独的(且独立的)身份和访问管理系统的过程是繁琐且资源密集的过程,这导致用户不满意。
在下文中,提供了用于以无缝方式集成两个单独的(且独立的)IAM系统的框架。如前所述,为了便于解释,我们认为第一IAM系统对应于OCI的IAM系统,并且第二IAM系统对应于IDCS系统。然而,应该认识到的是,集成两个单独的身份和访问管理系统的框架同样适用于其他类型的身份管理系统。
在IAM系统中,当客户(例如,组织)注册账户以利用IAM系统提供的服务时,创建客户租赁。租赁(tenancy)在本文中被定义为云基础设施内的安全且隔离的分区,客户可以在其中创建、组织和管理云资源。租赁可以包括一个或多个隔间(compartment)。隔间允许客户组织和控制对其云资源的访问。隔间是可以仅由已被例如管理员给予许可的某些组访问的相关资源(诸如实例、虚拟云网络、块卷)的集合。当客户注册云服务时,CSP创建客户的租赁,它是保存客户的所有云资源的根隔间。客户可以在租赁(根隔间)内创建附加的隔间并创建对应的策略来控制对每个隔间中的资源的访问。相比之下,在IDCS系统中,用户和组的隔离的单位在本文中被称为条带(stripe)。具体而言,条带是用户或用户的组可以在其中访问它们的云资源的容器。
根据一些实施例,在从第一IAM系统和(与第一IAM系统不同的)第二IAM系统生成集成的IAM系统时,在与第一IAM系统相关联的客户租赁中创建资源。该资源在本文中被称为域。如后面将描述的那样,域为客户提供了一种方式来直接管理来自IAM系统中它们的租赁内的它们的资源(例如,IDCS系统中的IDCS条带)。域涵盖IDCS条带的完整特征集。可以在IAM系统中建立策略,其可以引用IDCS条带身份来授权对资源的访问。为了规避执行如上所述的联合过程的需要,本公开的实施例提供了一种例如从IDCS系统导入身份提供者(IDP)并且将导入的IDP提供为IAM系统中客户租赁内的资源的技术。应该认识到的是,上述的方法可以在从任意两个单独的身份系统生成集成的身份和访问管理系统时利用。
根据一些实施例,身份域(即,包括嵌入的第二IAM系统的身份提供者的域)被结合在每个客户租赁中,并且现有的用户和组被移动到身份域中。例如,包括在IDCS系统中的条带中的用户/组可以被移动到在与OCI IAM相关联的客户的租赁中创建的身份域。另外,客户被允许创建附加的域(即,辅助域)。换句话说,客户账户被供给(provision)有默认域,并且提供公共API来管理附加的域。因此,客户账户不再被供给有IDCS联合(即,客户账户不需要执行联合过程),并且客户作为集成的IAM系统内的单个实体存在。
在创建集成的IAM系统时,获得了域级别的用户/组的隔离,这允许客户分离它们的用户/组。具体而言,身份域递送可以跨CSP的所有云供应使用的单个统一的身份。客户可以跨不同的应用(诸如IaaS、PaaS和SaaS)重复使用相同的身份,并且创建简单但强大的授权控制来管理跨其企业的所有其云应用。换句话说,客户具有针对所有其用户和组的全特征的云身份提供者的能力。客户还可以创建多个身份域来管理和分离其IaaS、PaaS和SaaS用户并实现灾难恢复系统。
图1描绘了图示根据各种实施例的身份域的框图。根据一些实施例,集成的身份和访问管理(IAM)系统是从第一IAM系统和第二IAM系统生成的。例如,与第二IAM系统(例如,IDCS系统)相关联的身份提供者(及其相关联的功能)被结合在第一IAM系统内,以便生成集成的IAM系统。为了生成集成的IAM系统,在与第一IAM系统相关联的客户租赁中创建资源。所创建的资源在本文中被称为域。另外,第二IAM系统的身份提供者被嵌入在第一IAM系统中创建的域内。包括嵌入的(第二IAM系统的)身份提供者的域在本文中被称为身份域。因此,集成的IAM系统提供了可以跨两个系统(即,第一IAM系统和第二IAM系统)使用的身份框架,而不需要第一IAM系统与第二IAM系统联合。
如图1中所示,与第一IAM系统相关联的客户租赁101包括默认身份域102、网络源确定器104、默认策略103和隔间105。根据一些实施例,隔间105对应于被实例化以组织和控制对在该隔间内创建的资源(例如,计算、存储、网络、负载平衡器)的访问的逻辑容器。通过一些实施例,隔间105包括被创建以托管外部身份提供者的域(即,资源)。换句话说,第二IAM系统的身份提供者被嵌入在所创建的域中以形成身份域106。此外,身份域106与策略107相关联,策略107可以包括管控(govern)(包括在域中的用户的)对域内的资源或包括在客户租赁中的资源的访问权限的一个或多个规则。要注意的是,包括在身份域106中的组件108表示可以包括在身份域106中的组件的示例性列表。这里详细描述这些组件中的每一个。
根据一些实施例,每个客户租赁101包括在创建客户租赁时供给的默认身份域102。最初,在客户租赁101的创建后,默认身份域102包括包含单个用户(例如,创建了客户租赁的管理员)的组。默认身份域102与默认策略103相关联。默认策略103允许用户(例如,包括在默认身份域102中的管理员)对客户租赁101内的所有资源的完全访问。应该认识到的是,默认身份域102以及默认策略103中的每一个可以包括与用户、访问权限等相关的其他附加信息。后面参考图2描述关于其他附加信息的细节。
客户租赁101中包括网络源确定器104。网络源确定器104被配置为使得发出指向客户租赁101的请求的源具有资格。换句话说,网络源确定器104核实与发出请求的实体(例如,用户)相关联的信息,并基于与满足一些条件(例如,请求的IP地址源自一组预定的IP地址)的用户相关联的信息向用户授予访问权。要注意的是,包括在客户租赁101的隔间中的策略107可以在处理指向隔间105的请求时参考网络源确定器104。
如图1中所示,包括在身份域108中的组件包括应用111、授予模块112、用户组113、用户114、应用角色115、动态组116、登录策略117、身份提供者118、以及一组凭证119。应该认识到的是,组件108属于第二IAM系统的身份提供者(例如,Azure活动目录实例或Okta身份提供者实例),该身份提供者现在被结合在第一IAM系统的客户租赁中的域内。身份提供者118提供用户114或用户组113的创建、用户凭证119的管理,并且允许用户(或用户组)访问云基础设施的资源。
根据一些实施例,应用111(例如,web应用)可以被构建并且进一步向身份域106注册,即,为了授权和认证需要,应用111依赖于身份域106。应用111可以包括可以在授予模块112中维护的各种应用角色115(例如,具有仅读取操作的许可的第一角色、具有修改应用的方面的许可的第二角色)。此类角色可以通过身份域106来监视并指派给关于应用的不同用户。
通过一些实施例,包括在云基础设施中的资源可以包括诸如计算实例、块存储卷、虚拟云网络(VCN)、子网和/或路由表之类的资源。每个资源可以被指派唯一的凭证。与资源相关联的此类凭证在本文中被称为资源主体(principal)或实例主体。此类资源(或实例)主体的组在本文中被称为动态组116。应该认识到的是,动态组116提供了以类似于将用户分组成用户组的方式将资源分组(例如,基于一些资源属性匹配策略)为主参与者。动态组116可以被分配给应用111。通过一些实施例,登录策略117可以基于用户的位置(即,用户的网络源)为不同的用户建立不同的登录规则。例如,一种登录规则可以要求用户执行多因素认证,以便基于访问客户租赁的请求所源自的用户的网络源(例如,IP地址)来访问客户租赁中的(一个或多个)资源。
以这种方式,通过导入第二IAM系统(例如,IDCS)的身份提供者并将其嵌入在与第一IAM系统相关联的客户租赁中的域内,提供了可以跨两个系统使用的集成的IAM系统。因此,本公开的方面不是让IAM系统(例如,第一IAM系统)与不同系统(例如,第二IAM系统)的身份提供者联合,而是提供了一种机制来生成集成的IAM系统以规避先前所需的联合过程以便使得(一个或多个)用户能够访问由另一个系统提供的资源。
现在转向图2,描绘了图示根据各种实施例的示例性客户租赁的框图。如图2中所示,客户租赁200包括默认身份域202、默认策略203、网络源确定器204、以及多个隔间(例如,隔间205、215和225)。当创建客户租赁200时供给默认身份域202。最初,在客户租赁200的创建后,默认身份域202包括包含单个用户(例如,创建了客户租赁的管理员)的组。默认身份域202与默认策略203相关联。默认策略203允许用户(例如,包括在默认身份域202中的管理员)对客户租赁101内的所有资源的完全访问。如前所述,默认身份域(以及默认策略)可以包括附加信息。例如,根据一些实施例,在客户租赁200的创建后,可以将一个或多个其他用户添加到默认身份域202。以类似的方式,各种新策略可以被包括在默认策略203中,其允许其他域中的(一个或多个)用户访问客户租赁中的资源。
根据一些实施例,集成的IAM系统提供了在客户租赁内创建单独的域以用于管理客户的用户。例如,如图2中所示,客户租赁200包括多个隔间,其中每个隔间包括身份域和与其相关联的策略。例如,隔间205包括身份域206和策略207,而隔间215包括身份域216和策略217,并且隔间225包括身份域226和策略227。要注意的是,如图2中所描绘的隔间的配置决不限制本公开的范围。更确切地说,对配置的修改完全在本公开的范围内。例如,在特定隔间(例如,隔间205)中,不限于在该隔间中具有单个身份域(即,身份域206)。更确切地说,该隔间可以包括多个身份域。例如,可以在隔间中创建两个(或更多个)域,其中这些域中的每个域中的用户对于这些域内的资源或客户租赁200中的其他资源可以具有不同的访问权限。
此外,应该认识到的是,第一IAM系统与之交互的多个身份提供者中的每个身份提供者可以被导入并作为具有客户的租赁200内的(包括在隔间中的)域的资源提供。以这种方式,不是第一IAM系统与不同类型的身份提供者(IDP)(例如,第三方IDP)联合,而是各种IDP可以被导入并作为客户租赁内的资源提供。以这种方式,第一IAM系统可以规避单独与不同身份提供者联合的需要。
图3描绘了图示根据一些实施例的集成的IAM系统的架构的框图。集成的IAM系统的架构包括控制平面310和数据平面320。控制平面310包括与IAM控制平面301相关联的第一端点303以及与IDCS实例302相关联的多个第二端点305(即,对应于在客户租赁中创建的域)。应该认识到的是,IAM控制平面301包括键-值数据库(例如,Kiev DB),并且IDCS实例302与域分片(shard)相关联。数据平面320包括负载平衡器321、多个数据平面主机323、路由层325和多个域高速缓存分片327。多个数据平面主机323包括数据平面主机323A、323B和323C。每个数据平面主机与对应的数据库(DB)相关联。多个域高速缓存分片327包括域高速缓存分片327A、327B、327C和327D。要注意的是,如图3中所描绘的数据平面主机的数量以及域高速缓存分片的数量仅用于说明性目的并且不限制本公开的范围。数据平面主机以及域高速缓存分片的数量可以比图3中所描绘的数量更多或更少。
如图3中所示,来自Kiev DB和域分片中的每一个的信息被复制到包括在数据平面320中的相应数据库。通过一些实施例,包括在(控制平面中的)域分片中的信息被复制并存储在数据平面320中的域高速缓存分片中。具体而言,在一种实施方式中,包括在域分片中的用户信息可以被分区成几个部分,并且每个部分可以被存储在数据平面320中的高速缓存(即,域高速缓存分片)中。
根据一些实施例,与IAM控制平面301相关联的第一端点303被配置为接收与客户租赁中新域的创建有关的请求。一旦在客户租赁中创建了域,用于新构建的域的端点就被添加到多个第二端点305,即,每个域在控制平面310中具有对应的端点(多个第二端点305之一)。与要对于域执行的操作有关的请求指向控制平面310中的域的对应第二端点。
通过一些实施例,当用户发出的请求指向特定的第二端点时,首先尝试由对应的域(即,域302)授权发出请求的用户。具体而言,如果发出请求的用户属于与该域相关联的用户组,则该用户可以由控制平面310(即,由该用户所属的对应域302)授权。然而,如果发出请求的用户属于不包括在域中的组,即,用户属于另一个域,则控制平面310将请求转发到与数据平面320相关联的端点307。
在请求被转发到端点307后,数据平面320的负载平衡器321选择一个数据平面主机来处理请求。应该认识到的是,负载平衡器321可以以使得流量负载(即,由数据平面320处理的请求)在数据平面主机之间均匀分布的方式选择数据平面主机之一(例如,DP323A)。在处理由控制平面转发的请求时,数据平面主机(例如,DP 323A)与路由层325通信以从域高速缓存分片之一获得与用户有关的必要信息。通过一些实施例,路由层可以维护映射用户与高速缓存ID(对应于存储用户信息的域高速缓存分片)的映射信息。以这种方式,数据平面主机与路由层325协作获得相关用户信息(例如,与用户相关的策略)以对用户进行授权。集成的IAM系统的架构还包括被配置为接收关于IaaS服务的授权请求的IaaS服务端点333。要注意的是,出于授权目的,此类请求指向数据平面320。此外,出于授权/认证目的,PaaS应用实例331(例如,图1的应用111)与单点登录模块329通信。具体而言,单点登录模块329从包括在数据平面320中的域分片之一检索期望的用户信息以授权利用/发起应用实例的用户。
图4A描绘了图示根据一些实施例的在生成集成的身份和访问管理(IAM)系统时执行的步骤的流程图。图4A中描绘的处理可以以由相应系统的一个或多个处理单元(例如,处理器、核心)执行的软件(例如,代码、指令、程序)、使用硬件或其组合来实现。软件可以被存储在非暂态存储介质上(例如,存储器设备上)。图4A中呈现的和下面描述的方法旨在是说明性和非限制性的。虽然图4A描绘了以特定序列或次序发生的各种处理步骤,但这并不旨在进行限制。在某些替代实施例中,可以以某种不同的次序执行处理或者也可以并行执行一些步骤。出于说明的目的,参考从第一IAM(例如,OCI的IAM)系统和第二IAM系统(例如,IDCS)生成集成的IAM系统来描述图4A的流程图的步骤。
该过程开始于步骤401,其中从第一IAM系统和第二IAM系统生成集成的IAM系统。注意,第二IAM系统与第一IAM系统不同。生成集成的IAM系统中所包括的步骤包括分别被标记为401A和401B的两个子步骤。在步骤401A中,在与第一IAM系统相关联的客户租赁中创建域(即,资源)。另外,在步骤401B中,第二IAM系统的身份提供者被嵌入在步骤401A中创建的域内。通过将第二IAM系统的身份提供者嵌入在(包括在客户租赁中的)域中,这导致身份域(例如,图1的身份域106)的创建。这样做提供了可以跨两个系统(即,第一IAM系统和第二IAM系统)使用的身份框架,而不需要第一IAM系统与第二IAM系统联合。
该过程然后移至步骤403,其中集成的IAM系统接收来自用户的对与第二IAM系统相关联的资源执行操作的请求。通过一些实施例,请求可以是创建、读取、更新或删除(CRUD)操作。此后,该过程移至步骤405,其中响应于用户被集成的IAM系统成功认证而执行请求,即,确定用户是否具有足够的特权来执行操作。
图4B描绘了图示根据一些实施例的集成的身份管理系统对用户请求进行授权的过程的流程图。图4B中描绘的处理可以以由相应系统的一个或多个处理单元(例如,处理器、核心)执行的软件(例如,代码、指令、程序)、使用硬件或其组合来实现。软件可以被存储在非暂态存储介质上(例如,存储器设备上)。图4B中呈现的和下面描述的方法旨在是说明性和非限制性的。虽然图4B描绘了以特定序列或次序发生的各种处理步骤,但这并不旨在进行限制。在某些替代实施例中,可以以某种不同的次序执行处理或者也可以并行执行一些步骤。
该过程开始于步骤451,其中集成的IAM系统在控制平面中的第一端点处接收第一请求。第一请求对应于由用户发出的在客户租赁中创建新域的请求。参考图3,可以在端点303处接收第一请求。在步骤453中,根据请求在客户租赁中创建域。
在步骤455中,在控制平面中为在步骤453中创建的域生成第二端点。参考图3,新的端点(即,与新创建的域对应的第二端点)被生成并添加到多个端点305。换句话说,客户的租赁中的每个域在控制平面中具有对应的端点,使得与该域相关的请求指向对应的端点。此后,在步骤457中,在第二端点处接收第二请求。
在步骤458中,与第二端点对应的域尝试对发出第二请求的用户进行授权。根据一些实施例,如果发出第二请求的用户属于包括在域中的用户组,则该用户可以由域本身授权。然而,如果(发出第二请求的)用户在域之外,则第二请求被转发到数据平面以用于授权目的。此外,在步骤461中,确定第二请求是否被成功授权。如果响应是肯定的,则该过程移至步骤467,否则该过程移至步骤459。
在步骤459中,出于授权目的,将第二请求转发到数据平面。此后,在步骤461中,集成的IAM系统的数据平面处理第二请求。具体而言,参考图3,数据平面主机之一(例如,数据平面主机323A)与路由层325通信以从域高速缓存分片(例如,域高速缓存分片327A-327D)之一获得(用户的)信息。基于从域高速缓存分片之一获得的信息,数据平面主机评估第二请求。另外,在步骤467中,集成的IAM系统响应于(发出第二请求的)用户被成功授权而执行第二请求。
示例基础设施即服务架构
如上所述,基础设施即服务(IaaS)是一种特定类型的云计算。IaaS可以被配置为通过公共网络(例如,互联网)提供虚拟化计算资源。在IaaS模型中,云计算提供者可以托管基础设施组件(例如,服务器、存储设备、网络节点(例如,硬件)、部署软件、平台虚拟化(例如,管理程序层)等)。在一些情况下,IaaS提供者还可以供应各种服务来伴随这些基础设施组件(例如,计费、监视、记录、安全性、负载平衡和聚类)。因此,由于这些服务可能是策略驱动的,因此IaaS用户可以能够实现策略来驱动负载平衡,以维护应用可用性和性能。
在一些实例中,IaaS客户可以通过诸如互联网之类的广域网(WAN)访问资源和服务,并且可以使用云提供者的服务来安装应用栈的剩余元素。例如,用户可以登录到IaaS平台以创建虚拟机(VM)、在每个VM上安装操作系统(OS)、部署诸如数据库之类的中间件、为工作负载和备份创建存储桶、甚至将企业软件安装到该VM中。然后,客户可以使用提供者的服务来执行各种功能,包括平衡网络流量、解决应用问题、监视性能、管理灾难恢复等。
在大多数情况下,云计算模型将需要云提供者的参与。云提供者可以但不需要是专门提供(例如,供应、出租、销售)IaaS的第三方服务。实体也可以选择部署私有云,从而成为其自己的基础设施服务的提供者。
在一些示例中,IaaS部署是将新应用或应用的新版本放置到准备好的应用服务器等上的过程。它还可以包括准备服务器(例如,安装库、守护进程)的过程。这往往由云提供者管理,在管理程序层之下(例如,服务器、存储装置、网络硬件和虚拟化)。因此,客户可以负责处理(OS)、中间件和/或应用部署(例如,在(例如,可以按需启动的)自助服务虚拟机上等。
在一些示例中,IaaS供给可以指获取计算机或虚拟主机以供使用,甚至在它们上安装所需的库或服务。大多数情况下,部署不包括供给,并且供给可能需要被首先执行。
在一些情况下,对于IaaS供给存在两个不同的问题。首先,存在在任何事物运行之前供给初始基础设施集的最初挑战。其次,存在一旦所有事物已被供给就演进现有基础设施(例如,添加新服务、改变服务、移除服务)的挑战。在一些情况下,可以通过使得能够以声明方式定义基础设施的配置来解决这两个挑战。换句话说,基础设施(例如,需要什么组件以及它们如何交互)可以由一个或多个配置文件来定义。因此,基础设施的总体拓扑(例如,什么资源取决于哪些,以及它们各自如何一起工作)可以以声明的方式描述。在一些实例中,一旦定义了拓扑,就可以生成创建和/或管理配置文件中描述的不同组件的工作流。
在一些示例中,基础设施可以具有许多互连的元素。例如,可以存在一个或多个虚拟私有云(VPC)(例如,可配置和/或共享计算资源的潜在按需池),也称为核心网络。在一些示例中,还可以供给一个或多个安全性组规则以定义将如何设置网络的安全性以及一个或多个虚拟机(VM)。还可以供给其他基础设施元素,诸如负载平衡器、数据库等。随着期望和/或添加越来越多的基础设施元素,基础设施可以逐步演进。
在一些实例中,可以采用连续部署技术来使得能够跨各种虚拟计算环境部署基础设施代码。此外,所描述的技术可以使得能够在这些环境内进行基础设施管理。在一些示例中,服务团队可以编写期望部署到一个或多个但往往是许多不同的生产环境(例如,跨各种不同的地理位置,有时跨越整个世界)的代码。然而,在一些示例中,必须首先设置将在其上部署代码的基础设施。在一些实例中,可以手动进行供给,可以利用供给工具来供给资源,和/或一旦供给了基础设施就可以利用部署工具来部署代码。
图5是图示根据至少一个实施例的IaaS架构的示例模式的框图500。服务运营商502可以通信地耦合到可以包括虚拟云网络(VCN)506和安全主机子网508的安全主机租赁504。在一些示例中,服务运营商502可以在使用一个或多个客户端计算设备(其可以是便携式手持设备(例如,蜂窝电话、/>计算平板计算机、个人数字助理(PDA))或可穿戴设备(例如,Google/>头戴式显示器)),运行软件(诸如MicrosoftWindows/>)和/或各种移动操作系统(诸如iOS、Windows Phone、Android、BlackBerry 8、Palm OS等),并且支持互联网、电子邮件、短消息服务(SMS)、/>或其他通信协议。可替代地,客户端计算设备可以是通用个人计算机,包括例如运行各种版本的Microsoft/>Apple/>和/或Linux操作系统的个人计算机和/或膝上型计算机。客户端计算设备可以是运行任何各种商业上可获得的/>或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统(诸如Google Chrome OS))的工作站计算机。可替代地或附加地,客户端计算设备可以是任何其他电子设备,诸如瘦客户端计算机、支持互联网的游戏系统(例如,具有或不具有/>姿势输入设备的MicrosoftXbox游戏控制台),和/或能够通过可以访问VCN 506和/或互联网的网络进行通信的个人消息传递设备。
VCN 506可以包括本地对等网关(LPG)510,其可以经由包含在安全外壳(SSH)VCN512中的LPG 510通信地耦合到SSH VCN 512。SSH VCN 512可以包括SSH子网514,并且SSHVCN 512可以经由包含在控制平面VCN 516中的LPG 510通信地耦合到控制平面VCN 516。此外,SSH VCN 512可以经由LPG 510通信地耦合到数据平面VCN 518。控制平面VCN 516和数据平面VCN 518可以被包含在可以由IaaS提供者拥有和/或操作的服务租赁519中。
控制平面VCN 516可以包括充当外围网络(例如,公司内联网和外部网络之间的公司网络的部分)的控制平面非军事化区(DMZ)层520。基于DMZ的服务器可以具有有限的责任并有助于使安全漏洞保持被抑制。此外,DMZ层520可以包括一个或多个负载平衡器(LB)子网522、可以包括(一个或多个)应用子网526的控制平面应用层524、可以包括(一个或多个)数据库(DB)子网530(例如,(一个或多个)前端DB子网和/或(一个或多个)后端DB子网)的控制平面数据层528。包含在控制平面DMZ层520中的(一个或多个)LB子网522可以通信地耦合到包含在控制平面应用层524中的(一个或多个)应用子网526和可以包含在控制平面VCN516中的互联网网关534,并且(一个或多个)应用子网526可以通信地耦合到包含在控制平面数据层528中的(一个或多个)DB子网530以及服务网关536和网络地址转换(NAT)网关538。控制平面VCN 516可以包括服务网关536和NAT网关538。
控制平面VCN 516可以包括数据平面镜像应用层540,数据平面镜像应用层540可以包括(一个或多个)应用子网526。包含在数据平面镜像应用层540中的(一个或多个)应用子网526可以包括可以执行计算实例544的虚拟网络接口控制器(VNIC)542。计算实例544可以将数据平面镜像应用层540的(一个或多个)应用子网526通信地耦合到可以包含在数据平面应用层546中的(一个或多个)应用子网526。
数据平面VCN 518可以包括数据平面应用层546、数据平面DMZ层548和数据平面数据层550。数据平面DMZ层548可以包括(一个或多个)LB子网522,(一个或多个)LB子网522可以通信地耦合到数据平面应用层546的(一个或多个)应用子网526和数据平面VCN 518的互联网网关534。(一个或多个)应用子网526可以通信地耦合到数据平面VCN 518的服务网关536和数据平面VCN 518的NAT网关538。数据平面数据层550还可以包括可以通信地耦合到数据平面应用层546的(一个或多个)应用子网526的(一个或多个)DB子网530。
控制平面VCN 516和数据平面VCN 518的互联网网关534可以通信地耦合到元数据管理服务552,元数据管理服务552可以通信地耦合到公共互联网554。公共互联网554可以通信地耦合到控制平面VCN 516和数据平面VCN 518的NAT网关538。控制平面VCN 516和数据平面VCN 518的服务网关536可以通信地耦合到云服务556。
在一些示例中,控制平面VCN 516或数据平面VCN 518的服务网关536可以在不通过公共互联网554的情况下对云服务556进行应用编程接口(API)调用。从服务网关536到云服务556的API调用可以是单向的:服务网关536可以对云服务556进行API调用,并且云服务556可以将请求的数据发送到服务网关536。但是,云服务556可能不对服务网关536发起API调用。
在一些示例中,安全主机租赁504可以直接连接到服务租赁519,服务租赁519可以以其他方式被隔离。安全主机子网508可以通过LPG 510与SSH子网514通信,LPG 510可以使得能够通过以其他方式隔离的系统进行双向通信。将安全主机子网508连接到SSH子网514可以使安全主机子网508能够访问服务租赁519内的其他实体。
控制平面VCN 516可以允许服务租赁519的用户设置或以其他方式供给期望的资源。在控制平面VCN 516中供给的期望资源可以在数据平面VCN 518中部署或以其他方式使用。在一些示例中,控制平面VCN 516可以与数据平面VCN 518隔离,并且控制平面VCN 516的数据平面镜像应用层540可以经由可以包含在数据平面镜像应用层540和数据平面应用层546中的VNIC 542与数据平面VCN 518的数据平面应用层546进行通信。
在一些示例中,系统的用户或客户可以通过可以将请求传送到元数据管理服务552的公共互联网554来做出请求,例如创建、读取、更新或删除(CRUD)操作。元数据管理服务552可以通过互联网网关534将请求传送到控制平面VCN 516。请求可以被包含在控制平面DMZ层520中的(一个或多个)LB子网522接收。(一个或多个)LB子网522可以确定请求是有效的,并且响应于该确定,(一个或多个)LB子网522可以将请求传输到包含在控制平面应用层524中的(一个或多个)应用子网526。如果请求被验证并且需要对公共互联网554的调用,则对公共互联网554的调用可以被传输到可以对公共互联网554进行调用的NAT网关538。请求可能期望存储的存储器可以被存储在(一个或多个)DB子网530中。
在一些示例中,数据平面镜像应用层540可以促进控制平面VCN 516和数据平面VCN 518之间的直接通信。例如,可能期望对包含在数据平面VCN 518中的资源应用对配置的改变、更新或其他合适的修改。经由VNIC 542,控制平面VCN 516可以直接与包含在数据平面VCN 518中的资源通信,并且从而可以对包含在数据平面VCN 518中的资源执行对配置的改变、更新或其他合适的修改。
在一些实施例中,控制平面VCN 516和数据平面VCN 518可以被包含在服务租赁519中。在这种情况下,系统的用户或客户可能不拥有或操作控制平面VCN 516或数据平面VCN 518。替代地,IaaS提供者可以拥有或操作控制平面VCN 516和数据平面VCN 518,这两者可以被包含在服务租赁519中。该实施例可以使得能够隔离可能阻止用户或客户与其他用户或其他客户的资源交互的网络。此外,该实施例可以允许系统的用户或客户私自地存储数据库,而无需依赖于可能不具有期望安全级别的公共互联网654来进行存储。
在其他实施例中,包含在控制平面VCN 516中的(一个或多个)LB子网522可以被配置为从服务网关536接收信号。在这个实施例中,控制平面VCN 516和数据平面VCN 518可以被配置为在不调用公共互联网554的情况下由IaaS提供者的客户调用。IaaS提供者的客户可能期望这个实施例,因为客户使用的(一个或多个)数据库可以由IaaS提供者控制并且可以被存储在服务租赁519上,服务租赁519可以与公共互联网554隔离。
图6是图示根据至少一个实施例的IaaS架构的另一种示例模式的框图600。服务运营商602(例如,图5的服务运营商502)可以通信地耦合到安全主机租赁604(例如,图5的安全主机租赁504),安全主机租赁604可以包括虚拟云网络(VCN)606(例如,图5的VCN 506)和安全主机子网608(例如,图5的安全主机子网508)。VCN 606可以包括本地对等网关(LPG)610(例如,图5的LPG 510),其可以经由包含在安全外壳(SSH)VCN 612(例如,图5的SSH VCN512)中的LPG 510通信地耦合到SSH VCN 612。SSH VCN 612可以包括SSH子网614(例如,图5的SSH子网514),并且SSH VCN 612可以经由包含在控制平面VCN 616(例如,图5的控制平面VCN 516)中的LPG 610通信地耦合到控制平面VCN 616。控制平面VCN 616可以被包含在服务租赁619(例如,图5的服务租赁519)中,并且数据平面VCN 618(例如,图5的数据平面VCN518)可以被包含在可以由系统的用户或客户拥有或操作的客户租赁621中。
控制平面VCN 616可以包括可以包括(一个或多个)LB子网622(例如,图5的(一个或多个)LB子网522)的控制平面DMZ层620(例如,图5的控制平面DMZ层520)、可以包括(一个或多个)应用子网626(例如,图5的(一个或多个)应用子网526)的控制平面应用层624(例如,图5的控制平面应用层524)、可以包括(一个或多个)数据库(DB)子网630(例如,类似于图5的(一个或多个)DB子网530)的控制平面数据层628(例如,图5的控制平面数据层528)。包含在控制平面DMZ层620中的(一个或多个)LB子网622可以通信地耦合到包含在控制平面应用层624中的(一个或多个)应用子网626和可以包含在控制平面VCN 616中的互联网网关634(例如,图5的互联网网关534),并且(一个或多个)应用子网626可以通信地耦合到包含在控制平面数据层628中的(一个或多个)DB子网630以及服务网关636(例如,图5的服务网关)和网络地址转换(NAT)网关638(例如,图5的NAT网关538)。控制平面VCN 616可以包括服务网关636和NAT网关638。
控制平面VCN 616可以包括可以包括(一个或多个)应用子网626的数据平面镜像应用层640(例如,图5的数据平面镜像应用层540)。包含在数据平面镜像应用层640中的(一个或多个)应用子网626可以包括可以执行计算实例644(例如,类似于图5的计算实例544)的虚拟网络接口控制器(VNIC)642(例如,542的VNIC)。计算实例644可以促进数据平面镜像应用层640的(一个或多个)应用子网626和可以包含在数据平面应用层646(例如,图5的数据平面应用层546)中的(一个或多个)应用子网626之间经由包含在数据平面镜像应用层640中的VNIC 642和包含在数据平面应用层646中的VNIC 642的通信。
包含在控制平面VCN 616中的互联网网关634可以通信地耦合到元数据管理服务652(例如,图5的元数据管理服务552),元数据管理服务652可以通信地耦合到公共互联网654(例如,图5的公共互联网554)。公共互联网654可以通信地耦合到包含在控制平面VCN616中的NAT网关638。包含在控制平面VCN 616中的服务网关636可以通信地耦合到云服务656(例如,图5的云服务556)。
在一些示例中,数据平面VCN 618可以被包含在客户租赁621中。在这种情况下,IaaS提供者可以为每个客户提供控制平面VCN 616,并且IaaS提供者可以为每个客户设置包含在服务租赁619中的唯一计算实例644。每个计算实例644可以允许包含在服务租赁619中的控制平面VCN 616和包含在客户租赁621中的数据平面VCN 618之间的通信。计算实例644可以允许在包含在客户租赁621中的数据平面VCN 618中部署或以其他方式使用在包含在服务租赁619中的控制平面VCN 616中供给的资源。
在其他示例中,IaaS提供者的客户可以具有存活在客户租赁621中的数据库。在这个示例中,控制平面VCN 616可以包括数据平面镜像应用层640,数据平面镜像应用层640可以包括(一个或多个)应用子网626。数据平面镜像应用层640可以驻留在数据平面VCN 618中,但数据平面镜像应用层640可能不存活在数据平面VCN 618中。即,数据平面镜像应用层640可以有权访问客户租赁621,但是数据平面镜像应用层640可能不存在于数据平面VCN618中或者由IaaS提供者的客户拥有或操作。数据平面镜像应用层640可以被配置为对数据平面VCN 618进行调用,但可以不被配置为对包含在控制平面VCN 616中的任何实体进行调用。客户可能期望在数据平面VCN 618中部署或以其他方式使用在控制平面VCN 616中供给的资源,并且数据平面镜像应用层640可以促进客户的期望的部署或资源的其他使用。
在一些实施例中,IaaS提供者的客户可以将过滤器应用于数据平面VCN 618。在这个实施例中,客户可以确定数据平面VCN 618可以访问什么,并且客户可以限制从数据平面VCN 618对公共互联网654的访问。IaaS提供者可能无法应用过滤器或以其他方式控制数据平面VCN 618对任何外部网络或数据库的访问。客户将过滤器和控制应用到包含在客户租赁621中的数据平面VCN 618上可以有助于将数据平面VCN 618与其他客户和公共互联网654隔离。
在一些实施例中,云服务656可以由服务网关636调用以访问可能不存在于公共互联网654、控制平面VCN 616或数据平面VCN 618上的服务。云服务656与控制平面VCN 616或数据平面VCN 618之间的连接可以不是实时的或连续的。云服务656可以存在于由IaaS提供者拥有或操作的不同网络上。云服务656可以被配置为接收来自服务网关636的调用并且可以被配置为不接收来自公共互联网654的调用。一些云服务656可以与其他云服务656隔离,并且控制平面VCN 616可以与可能与控制平面VCN 616不在同一区域的云服务656隔离。例如,控制平面VCN 616可以位于“区域1”中,并且云服务“部署6”可以位于区域1和“区域2”中。如果包含在位于区域1中的控制平面VCN 616中的服务网关636对部署6进行调用,则该调用可以被传输到区域1中的部署6。在这个示例中,控制平面VCN 616或区域1中的部署6可能不与区域2中的部署6通信地耦合或以其他方式通信。
图7是图示根据至少一个实施例的IaaS架构的另一种示例模式的框图700。服务运营商702(例如,图5的服务运营商502)可以通信地耦合到安全主机租赁704(例如,图5的安全主机租赁504),安全主机租赁704可以包括虚拟云网络(VCN)706(例如,图5的VCN 506)和安全主机子网708(例如,图5的安全主机子网508)。VCN 706可以包括LPG 710(例如,图5的LPG 510),其可以经由包含在SSH VCN 712(例如,图5的SSH VCN 512)中的LPG 710通信地耦合到SSH VCN 712。SSH VCN 712可以包括SSH子网714(例如,图5的SSH子网514),并且SSHVCN 712可以经由包含在控制平面VCN 716(例如,图5的控制平面VCN 516)中的LPG 710通信地耦合到控制平面VCN 716并且经由包含在数据平面VCN 718(例如,图5的数据平面518)中的LPG 710通信地耦合到数据平面VCN 718。控制平面VCN 716和数据平面VCN 718可以被包含在服务租赁719(例如,图5的服务租赁519)中。
控制平面VCN 716可以包括可以包括(一个或多个)负载平衡器(LB)子网722(例如,图5的(一个或多个)LB子网522)的控制平面DMZ层720(例如,图5的控制平面DMZ层520)、可以包括(一个或多个)应用子网726(例如,类似于图5的(一个或多个)应用子网526)的控制平面应用层724(例如,图5的控制平面应用层524)、可以包括(一个或多个)DB子网730的控制平面数据层728(例如,图5的控制平面数据层528)。包含在控制平面DMZ层720中的(一个或多个)LB子网722可以通信地耦合到包含在控制平面应用层724中的(一个或多个)应用子网726和可以包含在控制平面VCN 716中的互联网网关734(例如,图5的互联网网关534),并且(一个或多个)应用子网726可以通信地耦合到包含在控制平面数据层728中的(一个或多个)DB子网730以及服务网关736(例如,图5的服务网关)和网络地址转换(NAT)网关738(例如,图5的NAT网关538)。控制平面VCN 716可以包括服务网关736和NAT网关738。
数据平面VCN 718可以包括数据平面应用层746(例如,图5的数据平面应用层546)、数据平面DMZ层748(例如,图5的数据平面DMZ层548)、以及数据平面数据层750(例如,图5的数据平面数据层550)。数据平面DMZ层748可以包括可以通信地耦合到数据平面应用层746的(一个或多个)可信应用子网760和(一个或多个)不可信应用子网762以及包含在数据平面VCN 718中的互联网网关734的(一个或多个)LB子网722。(一个或多个)可信应用子网760可以通信地耦合到包含在数据平面VCN 718中的服务网关736、包含在数据平面VCN718中的NAT网关738以及包含在数据平面数据层750中的(一个或多个)DB子网730。(一个或多个)不可信应用子网762可以通信地耦合到包含在数据平面VCN 718中的服务网关736和包含在数据平面数据层750中的(一个或多个)DB子网730。数据平面数据层750可以包括可以通信地耦合到包含在数据平面VCN 718中的服务网关736的(一个或多个)DB子网730。
(一个或多个)不可信应用子网762可以包括可以通信地耦合到租户虚拟机(VM)766(1)-(N)的一个或多个主VNIC 764(1)-(N)。每个租户VM 766(1)-(N)可以通信地耦合到可以包含在相应容器出口VCN 768(1)-(N)中的相应应用子网767(1)-(N),相应容器出口VCN 768(1)-(N)可以被包含在相应客户租赁770(1)-(N)中。相应的辅助VNIC 772(1)-(N)可以促进包含在数据平面VCN 718中的(一个或多个)不可信应用子网762与包含在容器出口VCN 768(1)-(N)中的应用子网之间的通信。每个容器出口VCN 768(1)-(N)可以包括NAT网关738,NAT网关738可以通信地耦合到公共互联网754(例如,图5的公共互联网554)。
包含在控制平面VCN 716中和包含在数据平面VCN 718中的互联网网关734可以通信地耦合到元数据管理服务752(例如,图5的元数据管理系统552),元数据管理服务752可以通信地耦合到公共互联网754。公共互联网754可以通信地耦合到包含在控制平面VCN716中和包含在数据平面VCN 718中的NAT网关738。包含在控制平面VCN 716中和包含在数据平面VCN 718中的服务网关736可以通信地耦合到云服务756。
在一些实施例中,数据平面VCN 718可以与客户租赁770集成。在一些情况下,诸如在执行代码时可能期望支持的情况下,这种集成对于IaaS提供者的客户可能是有用的或期望的。客户可能提供可能具有破坏性、可能与其他客户资源通信或可能以其他方式导致非期望效果的代码来运行。作为对此的响应,IaaS提供者可以确定是否运行由客户给予IaaS提供者的代码。
在一些示例中,IaaS提供者的客户可以向IaaS提供者授予临时网络访问,并请求要附加到数据平面层应用746的功能。运行该功能的代码可以在VM 766(1)-(N)中执行,并且该代码可以不被配置为在数据平面VCN 718上的其他任何地方运行。每个VM 766(1)-(N)可以连接到一个客户租赁770。包含在VM 766(1)-(N)中的相应容器771(1)-(N)可以被配置为运行代码。在这种情况下,可以存在双重隔离(例如,容器771(1)-(N)运行代码,其中容器771(1)-(N)可以至少被包含在(一个或多个)不可信应用子网762中包含的VM 766(1)-(N)中),这可以有助于防止不正确的或以其他方式非期望的代码损害IaaS提供者的网络或损害不同客户的网络。容器771(1)-(N)可以通信地耦合到客户租赁770并且可以被配置为传输或接收来自客户租赁770的数据。容器771(1)-(N)可以不被配置为传输或接收来自数据平面VCN 718中的任何其他实体的数据。在运行代码完成后,IaaS提供者可以终止或以其他方式处置容器771(1)-(N)。
在一些实施例中,(一个或多个)可信应用子网760可以运行可以由IaaS提供者拥有或操作的代码。在这个实施例中,(一个或多个)可信应用子网760可以通信地耦合到(一个或多个)DB子网730并且被配置为在(一个或多个)DB子网730中执行CRUD操作。
(一个或多个)不可信应用子网762可以通信地耦合到(一个或多个)DB子网730,但是在这个实施例中,(一个或多个)不可信应用子网可以被配置为在(一个或多个)DB子网730中执行读取操作。可以包含在每个客户的VM 766(1)-(N)中并且可以运行来自客户的代码的容器771(1)-(N)可以不与(一个或多个)DB子网730通信地耦合。
在其他实施例中,控制平面VCN 716和数据平面VCN 718可以不直接通信地耦合。在这个实施例中,控制平面VCN 716和数据平面VCN 718之间可能不存在直接通信。然而,通信可以通过至少一种方法间接发生。LPG 710可以由IaaS提供者建立,其可以促进控制平面VCN 716和数据平面VCN 718之间的通信。在另一个示例中,控制平面VCN 716或数据平面VCN 718可以经由服务网关736对云服务756进行调用。例如,从控制平面VCN 716对云服务756的调用可以包括对可以与数据平面VCN 718通信的服务的请求。
图8是图示根据至少一个实施例的IaaS架构的另一种示例模式的框图800。服务运营商802(例如,图5的服务运营商502)可以通信地耦合到安全主机租赁804(例如,图5的安全主机租赁504),安全主机租赁804可以包括虚拟云网络(VCN)806(例如,图5的VCN 506)和安全主机子网808(例如,图5的安全主机子网508)。VCN 806可以包括LPG 810(例如,图5的LPG 510),其可以经由包含在SSH VCN 812(例如,图5的SSH VCN 512)中的LPG 810通信地耦合到SSH VCN 812。SSH VCN 812可以包括SSH子网814(例如,图5的SSH子网514),并且SSHVCN 812可以经由包含在控制平面VCN 816(例如,图5的控制平面VCN 516)中的LPG 810通信地耦合到控制平面VCN 816并且经由包含在数据平面VCN 818(例如,图5的数据平面518)中的LPG 810通信地耦合到数据平面VCN 818。控制平面VCN 816和数据平面VCN 818可以被包含在服务租赁819(例如,图5的服务租赁519)中。
控制平面VCN 816可以包括可以包括(一个或多个)LB子网822(例如,图5的(一个或多个)LB子网522)的控制平面DMZ层820(例如,图5的控制平面DMZ层520)、可以包括(一个或多个)应用子网826(例如,图5的(一个或多个)应用子网526)的控制平面应用层824(例如,图5的控制平面应用层524)、可以包括(一个或多个)DB子网830(例如,图7的(一个或多个)DB子网730)的控制平面数据层828(例如,图5的控制平面数据层528)。包含在控制平面DMZ层820中的(一个或多个)LB子网822可以通信地耦合到包含在控制平面应用层824中的(一个或多个)应用子网826和可以包含在控制平面VCN 816中的互联网网关834(例如,图5的互联网网关534),并且(一个或多个)应用子网826可以通信地耦合到包含在控制平面数据层828中的(一个或多个)DB子网830以及服务网关836(例如,图5的服务网关)和网络地址转换(NAT)网关838(例如,图5的NAT网关538)。控制平面VCN 816可以包括服务网关836和NAT网关838。
数据平面VCN 818可以包括数据平面应用层846(例如,图5的数据平面应用层546)、数据平面DMZ层848(例如,图5的数据平面DMZ层548)、以及数据平面数据层850(例如,图5的数据平面数据层550)。数据平面DMZ层848可以包括可以通信地耦合到数据平面应用层846的(一个或多个)可信应用子网860(例如,图7的(一个或多个)可信应用子网760)和(一个或多个)不可信应用子网862(例如,图7的(一个或多个)不可信应用子网762)以及包含在数据平面VCN 818中的互联网网关834的(一个或多个)LB子网822。(一个或多个)可信应用子网860可以通信地耦合到包含在数据平面VCN 818中的服务网关836、包含在数据平面VCN 818中的NAT网关838以及包含在数据平面数据层850中的(一个或多个)DB子网830。(一个或多个)不可信应用子网862可以通信地耦合到包含在数据平面VCN 818中的服务网关836和包含在数据平面数据层850中的(一个或多个)DB子网830。数据平面数据层850可以包括可以通信地耦合到包含在数据平面VCN 818中的服务网关836的(一个或多个)DB子网830。
(一个或多个)不可信应用子网862可以包括可以通信地耦合到驻留在(一个或多个)不可信应用子网862内的租户虚拟机(VM)866(1)-(N)的主VNIC 864(1)-(N)。每个租户VM 866(1)-(N)可以在相应的容器867(1)-(N)中运行代码,并且可通信地耦合到可以包含在容器出口VCN 868中可以包含的数据平面应用层846中的应用子网826。相应的辅助VNIC872(1)-(N)可以促进包含在数据平面VCN 818中的(一个或多个)不可信应用子网862和包含在容器出口VCN 868中的应用子网之间的通信。容器出口VCN可以包括可以通信地耦合到公共互联网854(例如,图5的公共互联网554)的NAT网关838。
包含在控制平面VCN 816中和包含在数据平面VCN 818中的互联网网关834可以通信地耦合到元数据管理服务852(例如,图5的元数据管理系统552),元数据管理服务852可以通信地耦合到公共互联网854。公共互联网854可以通信地耦合到包含在控制平面VCN816中和包含在数据平面VCN 818中的NAT网关838。包含在控制平面VCN 816中和包含在数据平面VCN 818中的服务网关836可以通信地耦合到云服务856。
在一些示例中,图8的框图800的架构所示的模式可以被认为是图6的框图600的架构所示的模式的例外,并且如果IaaS提供者不能直接与客户通信(例如,断开连接的区域),则这种模式可能是IaaS提供者的客户所期望的。客户可以实时访问每个客户的VM 866(1)-(N)中包含的相应容器867(1)-(N)。容器867(1)-(N)可以被配置为对包含在容器出口VCN868中可以包含的数据平面应用层846的(一个或多个)应用子网826中的相应辅助VNIC 872(1)-(N)进行调用。辅助VNIC 872(1)-(N)可以将调用传输到NAT网关838,NAT网关838可以将调用传输到公共互联网854。在这个示例中,可以由客户实时访问的容器867(1)-(N)可以与控制平面VCN 816隔离,并且可以与包含在数据平面VCN 818中的其他实体隔离。容器867(1)-(N)也可以与来自其他客户的资源隔离。
在其他示例中,客户可以使用容器867(1)-(N)来调用云服务856。在这个示例中,客户可以运行容器867(1)-(N)中从云服务856请求服务的代码。容器867(1)-(N)可以将该请求传输到辅助VNIC 872(1)-(N),辅助VNIC 872(1)-(N)可以将请求传输到NAT网关,该NAT网关可以将请求传输到公共互联网854。公共互联网854可以经由互联网网关834将请求传输到包含在控制平面VCN 816中的(一个或多个)LB子网822。响应于确定请求有效,(一个或多个)LB子网可以将请求传输到(一个或多个)应用子网826,该(一个或多个)应用子网826可以经由服务网关836将请求传输到云服务856。
应当认识到的是,各图中描绘的IaaS架构500、600、700、800可以具有除所描绘的那些组件之外的其他组件。另外,各图中所示的实施例仅仅是可以结合本公开的实施例的云基础设施系统的一些示例。在一些其他实施例中,IaaS系统可以具有比各图中所示更多或更少的组件,可以组合两个或更多个组件,或者可以具有不同的组件配置或布置。
在某些实施例中,本文中描述的IaaS系统可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式交付给客户的应用套件、中间件和数据库服务供应。此类IaaS系统的示例是本受让人提供的Oracle云基础设施(OCI)。
图9图示了其中可以实现各种实施例的示例计算机系统900。系统900可以被用于实现上述任何计算机系统。如图中所示,计算机系统900包括经由总线子系统902与多个外围子系统通信的处理单元904。这些外围子系统可以包括处理加速单元906、I/O子系统908、存储子系统918和通信子系统924。存储子系统918包括有形计算机可读存储介质922和系统存储器910。
总线子系统902提供用于让计算机系统900的各种组件和子系统按意图彼此通信的机制。虽然总线子系统902被示意性地示出为单个总线,但是总线子系统的替代实施例可以利用多个总线。总线子系统902可以是使用任何各种总线架构的若干种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、以及局部总线。例如,此类架构可以包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)总线,其可以被实现为按IEEE P1386.1标准制造的Mezzanine总线。
可以被实现为一个或多个集成电路(例如,常规微处理器或微控制器)的处理单元904控制计算机系统900的操作。一个或多个处理器可以被包括在处理单元904中。这些处理器可以包括单核或多核处理器。在某些实施例中,处理单元904可以被实现为一个或多个独立的处理单元932和/或934,其中在每个处理单元中包括单核或多核处理器。在其他实施例中,处理单元904也可以被实现为通过将两个双核处理器集成到单个芯片中形成的四核处理单元。
在各种实施例中,处理单元904可以响应于程序代码执行各种程序并且可以维护多个并发执行的程序或进程。在任何给定的时间,要执行的程序代码中的一些或全部程序代码可以驻留在(一个或多个)处理器904中和/或存储子系统918中。通过合适的编程,(一个或多个)处理器904可以提供上述各种功能。计算机系统900可以附加地包括处理加速单元906,其可以包括数字信号处理器(DSP)、专用处理器等。
I/O子系统908可以包括用户接口输入设备和用户接口输出设备。用户接口输入设备可以包括键盘、诸如鼠标或轨迹球之类的定点设备、结合到显示器中的触摸板或触摸屏、滚轮、点击轮、拨盘、按钮、开关、小键盘、具有语音命令识别系统的音频输入设备、麦克风以及其他类型的输入设备。用户接口输入设备可以包括,例如,运动感测和/或姿势识别设备,诸如Microsoft运动传感器,其使得用户能够使用姿势和口头命令通过自然用户接口来控制诸如Microsoft/>360游戏控制器之类的输入设备并与之交互。用户接口输入设备还可以包括眼姿势识别设备,诸如检测来自用户的眼活动(例如,在拍摄照片和/或做出菜单选择时的“眨眼”)并且将眼姿势转换为到输入设备(例如,Google/>)中的输入的Google/>眨眼检测器。此外,用户接口输入设备可以包括使用户能够通过语音命令与语音识别系统(例如,/>导航器)交互的语音识别感测设备。
用户接口输入设备也可以包括但不限于三维(3D)鼠标、操纵杆或指点杆、游戏手柄和图形板、以及音频/视觉设备,诸如扬声器、数码相机、数码摄像机、便携式媒体播放器、网络摄像头、图像扫描仪、指纹扫描仪、条形码阅读器3D扫描仪、3D打印机、激光测距仪和视线跟踪设备。此外,用户接口输入设备可以包括,例如,医学成像输入设备,诸如计算机断层扫描、磁共振成像、正电子发射断层摄影术、医学超声成像设备。用户接口输入设备也可以包括,例如,诸如MIDI键盘、数字乐器等的音频输入设备。
用户接口输出设备可以包括显示子系统、指示灯、或者诸如音频输出设备之类的非视觉显示器。显示子系统可以是阴极射线管(CRT)、诸如使用液晶显示器(LCD)或等离子显示器的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用意在包括用于从计算机系统900向用户或其他计算机输出信息的所有可能类型的设备和机制。例如,用户接口输出设备可以包括,但不限于,在视觉上传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备、以及调制解调器。
计算机系统900可以包括存储子系统918,存储子系统918包括软件元件,被示为当前位于系统存储器910内。系统存储器910可以存储可在处理单元904上加载和执行的程序指令,以及在这些程序的执行期间所产生的数据。
取决于计算机系统900的配置和类型,系统存储器910可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存)。RAM通常包含可被处理单元904立即访问和/或目前正被处理单元904操作和执行的数据和/或程序模块。在一些实现方案中,系统存储器910可以包括多种不同类型的存储器,例如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。在一些实现方案中,包含有助于诸如在启动期间在计算机系统900内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以被存储在ROM中。通过举例而非限制的方式,系统存储器910也示出了可以包括客户端应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等的应用程序912,程序数据914,以及操作系统916。通过举例的方式,操作系统916可以包括各种版本的MicrosoftApple/>和/或Linux操作系统、各种可商业获得的/>或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、Google/>OS等)和/或诸如iOS、Phone、/>OS、/>10OS和/>OS操作系统之类的移动操作系统。
存储子系统918还可以提供用于存储提供一些实施例的功能的基本编程和数据结构的有形计算机可读存储介质。当由处理器执行时提供上述功能的软件(程序、代码模块、指令)可以被存储在存储子系统918中。这些软件模块或指令可以由处理单元904执行。存储子系统918也可以提供用于存储根据本公开所使用的数据的储存库。
存储子系统900还可以包括可以进一步连接到计算机可读存储介质922的计算机可读存储介质读取器920。与系统存储器910一起并且可选地与系统存储器910相结合,计算机可读存储介质922可以全面地表示用于临时和/或更永久地包含、存储、传输和检索计算机可读信息的远程、本地、固定和/或可移除存储设备加存储介质。
包含代码或代码的一部分的计算机可读存储介质922还可以包括本领域已知或使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于,以用于信息的存储和/或传输的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。这可以包括有形的计算机可读存储介质,诸如RAM、ROM、电可擦除可编程ROM(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者其他有形的计算机可读介质。这也可以包括非有形的计算机可读介质,诸如数据信号、数据传输、或者可以用于传输期望信息并且可以由计算系统900访问的任何其他介质。
通过举例的方式,计算机可读存储介质922可以包括从不可移除的非易失性磁介质读取或向不可移除的非易失性磁介质写入的硬盘驱动器、从可移除的非易失性磁盘读取或向可移除的非易失性磁盘写入的磁盘驱动器、以及从可移除的非易失性光盘(诸如CDROM、DVD和盘或其他光学介质)读取或向可移除的非易失性光盘写入的光盘驱动器。计算机可读存储介质922可以包括,但不限于,/>驱动器、闪存卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字音频带等。计算机可读存储介质922还可以包括基于非易失性存储器的固态驱动器(SSD)(诸如基于闪存的SSD、企业闪存驱动器、固态ROM等)、基于易失性存储器的SSD(诸如固态RAM、动态RAM、静态RAM、基于DRAM的SSD、磁阻RAM(MRAM)SSD)、以及使用基于DRAM和闪存的SSD的组合的混合SSD。盘驱动器及其关联的计算机可读介质可以为计算机系统900提供计算机可读指令、数据结构、程序模块及其他数据的非易失性存储。
通信子系统924提供到其他计算机系统和网络的接口。通信子系统924充当用于从其他系统接收数据和从计算机系统900向其他系统发送数据的接口。例如,通信子系统924可以使计算机系统1000能够经由互联网连接到一个或多个设备。在一些实施例中,通信子系统924可以包括用于访问无线语音和/或数据网络的射频(RF)收发器组件(例如,使用蜂窝电话技术、诸如3G、4G或EDGE(增强型数据速率全球演进)之类的先进数据网络技术、WiFi(IEEE 802.11族标准)、或其他移动通信技术或者其任何组合)、全球定位系统(GPS)接收器组件和/或其他组件。在一些实施例中,除了无线接口之外或者替代无线接口,通信子系统924可以提供有线网络连接(例如,以太网)。
在一些实施例中,通信子系统924还可以代表可以使用计算机系统900的一个或多个用户接收结构化和/或非结构化数据馈送926、事件流928、事件更新930等形式的输入通信。
通过举例的方式,通信子系统924可以被配置为实时地从社交网络和/或其他通信服务的用户接收数据馈送926,诸如馈送、/>更新、诸如丰富站点摘要(RSS)馈送之类的web馈送和/或来自一个或多个第三方信息源的实时更新。
此外,通信子系统924还可以被配置为接收连续数据流形式的数据,这可以包括本质上可以是连续的或无界的没有明确结束的实时事件的事件流928和/或事件更新930。产生连续数据的应用的示例可以包括,例如,传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。
通信子系统924还可以被配置为向一个或多个数据库输出结构化和/或非结构化数据馈送926、事件流928、事件更新930等,该一个或多个数据库可以与耦合到计算机系统900的一个或多个流式数据源计算机进行通信。
计算机系统900可以是各种类型之一,包括手持便携式设备(例如,蜂窝电话、/>计算平板计算机、PDA)、可穿戴设备(例如,/>Glass头戴式显示器)、PC、工作站、大型主机、信息亭、服务器机架、或任何其他数据处理系统。
由于计算机和网络的不断变化的本质,因此在图中描绘的计算机系统900的描述仅旨在作为特定的示例。具有比图中描绘的系统更多或更少组件的许多其他配置是可能的。例如,也可以使用定制的硬件和/或可以用硬件、固件、软件(包括小应用程序)或组合来实现特定的元素。另外,可以采用到诸如网络输入/输出设备之类的其他计算设备的连接。基于本文中提供的公开内容和教导,本领域普通技术人员将认识到实现各种实施例的其他方式和/或方法。
虽然已经描述了特定实施例,但是各种修改、变更、替代构造和等同物也被涵盖在本公开的范围内。实施例不限于在某些特定数据处理环境内操作,而是可以自由地在多个数据处理环境内操作。此外,虽然已经使用特定系列的事务和步骤描述了实施例,但是本领域技术人员应该清楚本公开的范围不限于所描述的系列的事务和步骤。上述实施例的各种特征和方面可以单独或联合使用。
另外,虽然已经使用硬件和软件的特定组合描述了实施例,但是应当认识到的是,硬件和软件的其他组合也在本公开的范围内。实施例可以仅用硬件、或仅用软件、或使用其组合来实现。本文中描述的各种过程可以以任何组合在相同的处理器或不同的处理器上实现。因此,在组件或模块被描述为被配置为执行某些操作的情况下,可以例如通过设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)进行编程来执行操作、或其任何组合来实现此类配置。过程可以使用各种技术进行通信,包括但不限于用于过程间通信的常规技术,并且不同的过程对可以使用不同的技术,或者同一过程对可以在不同时间使用不同的技术。
因此,说明书和附图应被认为是说明性的而不是限制性的。然而,将很明显的是,可以对其进行添加、减少、删除和其他修改和改变而不脱离如权利要求中阐述的更广泛的精神和范围。因此,虽然已经描述了特定的公开实施例,但这些并不旨在进行限制。各种修改和等同物在以下权利要求的范围内。
在描述所公开的实施例的上下文中(尤其在以下权利要求的上下文中)术语“一”和“一个”和“该”以及类似的指称的使用应被解释为涵盖单数和复数两者,除非本文中另有指示或与上下文明显矛盾。除非另有说明,否则术语“包括”、“具有”、“包含”和“含有”应被解释为开放式术语(即,意味着“包括但不限于”)。术语“连接”应被解释为部分或全部包含在内、附接到或连接在一起,即使中间存在一些事物。除非本文中另有指示,否则本文中值的范围的列举仅旨在用作个别引用落入该范围内的每个单独值的速记方法,并且每个单独值被并入说明书中,就好像它在本文中被个别列举那样。除非本文中另有指示或以其他方式与上下文明显矛盾,否则本文中描述的所有方法可以以任何合适的次序执行。本文中提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅旨在更好地阐明实施例并且不对本公开的范围构成限制,除非另有声明。说明书中的任何语言都不应被解释为将任何未要求保护的元素指示为对于本公开的实践是必不可少的。
析取语言,诸如短语“X、Y或Z中的至少一个”,除非另有明确说明,否则旨在在如一般用于表示项目、术语等可以是X、Y或Z或其任何组合(例如,X、Y和/或Z)的上下文内理解。因此,此类析取语言通常不旨在并且不应暗示某些实施例需要X中的至少一个、Y中的至少一个、或Z中的至少一个各自存在。
本文中描述了本公开的优选实施例,包括已知用于实施本公开的最佳模式。这些优选实施例的变型对于本领域普通技术人员来说在阅读前述描述后可能变得明显。普通技术人员应该能够适当地采用此类变型并且可以以不同于本文中具体描述的其他方式来实践本公开。因此,本公开包括如适用法律所允许的对所附权利要求中记载的主题的所有修改和等同物。此外,除非在本文中另有指示,否则本公开涵盖在其所有可能的变化中的上述元素的任何组合。
本文中引用的所有参考文献,包括出版物、专利申请和专利,在此在相同的程度上通过引用并入本文中,就好像每个参考文献被个别且具体地指示为通过引用并入并在本文中整体阐述那样。
在前述的说明书中,参考本公开的特定实施例描述了本公开的方面,但本领域技术人员将认识到本公开不限于此。上述公开的各种特征和方面可以被单独或联合使用。此外,在不脱离本说明书的更广泛的精神和范围的情况下,实施例可以在除本文中描述的那些之外的任何数量的环境和应用中被利用。因此,本说明书和附图应当被认为是说明性而不是限制性的。
Claims (20)
1.一种方法,包括:
通过以下操作从第一身份和访问管理(IAM)系统和与第一IAM系统不同的第二IAM系统生成集成的IAM系统:(i)在与第一IAM系统相关联的客户租赁中创建域,以及(ii)在该域内嵌入第二IAM系统的身份提供者;
由集成的IAM系统接收来自用户的对与第二IAM系统相关联的资源执行操作的请求;以及
响应于用户被集成的IAM系统成功认证而执行所述请求。
2.根据权利要求1所述的方法,其中域是在客户租赁的隔间中创建的。
3.根据权利要求2所述的方法,其中隔间与和管控用户对资源的访问的一个或多个规则对应的策略相关联。
4.根据权利要求1所述的方法,还包括:
在客户租赁中创建多个域,所述多个域中的每个域对应于第二IAM系统的条带,其中条带对应于包括一个或多个用户的容器。
5.根据权利要求4所述的方法,其中所述多个域中的每个域与对应的策略相关联。
6.根据权利要求1所述的方法,其中集成的IAM系统的控制平面包括:(i)被配置为接收与新域的创建有关的请求的第一端点,以及(ii)多个第二端点,所述多个第二端点中的每个第二端点对应于先前创建的域并且被配置为接收与要在该域中执行的操作有关的。
7.根据权利要求1所述的方法,还包括:
将应用注册到域;
创建一个或多个资源主体的动态组;以及
将所述一个或多个资源主体的动态组分配给应用。
8.根据权利要求1所述的方法,还包括:
在客户租赁中供给默认域,默认域包括创建了客户租赁的第一用户,默认域与向第一用户提供客户租赁内的访问的默认策略相关联。
9.根据权利要求1所述的方法,其中所述请求由布置在客户租赁中的网络源确定器(NSD)处理,NSD被配置为确定所述请求的源,并且其中所述方法还包括响应于所述请求的源的成功识别而执行所述请求。
10.根据权利要求1所述的方法,其中在不将第一IAM系统与第二IAM系统联合的情况下执行所述请求。
11.一种存储特定计算机可执行指令的非暂态计算机可读介质,所述特定计算机可执行指令在由处理器执行时使计算机系统执行方法,所述方法包括:
通过以下操作从第一身份和访问管理(IAM)系统和与第一IAM系统不同的第二IAM系统生成集成的IAM系统:(i)在与第一IAM系统相关联的客户租赁中创建域,以及(ii)在该域内嵌入第二IAM系统的身份提供者;
由集成的IAM系统接收来自用户的对与第二IAM系统相关联的资源执行操作的请求;以及
响应于用户被集成的IAM系统成功认证而执行所述请求。
12.根据权利要求11所述的非暂态计算机可读介质,其中域是在客户租赁的隔间中创建的。
13.根据权利要求12所述的非暂态计算机可读介质,其中隔间与和管控用户对资源的访问的一个或多个规则对应的策略相关联。
14.根据权利要求11所述的非暂态计算机可读介质,其中所述方法还包括:
在客户租赁中创建多个域,所述多个域中的每个域对应于第二IAM系统的条带,其中条带对应于包括一个或多个用户的容器。
15.根据权利要求11所述的非暂态计算机可读介质,其中集成的IAM系统的控制平面包括:(i)被配置为接收与新域的创建有关的请求的第一端点,以及(ii)多个第二端点,所述多个第二端点中的每个第二端点对应于先前创建的域并且被配置为接收与要在该域中执行的操作有关的。
16.根据权利要求11所述的非暂态计算机可读介质,其中所述方法还包括:
将应用注册到域;
创建一个或多个资源主体的动态组;以及
将所述一个或多个资源主体的动态组分配给应用。
17.根据权利要求11所述的非暂态计算机可读介质,其中所述请求由布置在客户租赁中的网络源确定器(NSD)处理,NSD被配置为确定所述请求的源,并且其中所述方法还包括响应于所述请求的源的成功识别而执行所述请求。
18.根据权利要求11所述的非暂态计算机可读介质,其中在不将第一IAM系统与第二IAM系统联合的情况下执行所述请求。
19.一种计算设备,包括:
处理器;以及
包括指令的存储器,所述指令在用所述处理器执行时使所述计算设备至少:
通过以下操作从第一身份和访问管理(IAM)系统和与第一IAM系统不同的第二IAM系统生成集成的IAM系统:(i)在与第一IAM系统相关联的客户租赁中创建域,以及(ii)在该域内嵌入第二IAM系统的身份提供者;
由集成的IAM系统接收来自用户的对与第二IAM系统相关联的资源执行操作的请求;以及
响应于用户被集成的IAM系统成功认证而执行所述请求。
20.根据权利要求19所述的计算设备,其中在不将第一IAM系统与第二IAM系统联合的情况下执行所述请求。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/250,598 | 2021-09-30 | ||
US17/934,846 | 2022-09-23 | ||
US17/934,846 US20230113325A1 (en) | 2021-09-30 | 2022-09-23 | External identity provider as a domain resource |
PCT/US2022/077161 WO2023056285A1 (en) | 2021-09-30 | 2022-09-28 | External identity provider as a domain resource |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117751554A true CN117751554A (zh) | 2024-03-22 |
Family
ID=90251301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280053327.8A Pending CN117751554A (zh) | 2021-09-30 | 2022-09-28 | 作为域资源的外部身份提供者 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117751554A (zh) |
-
2022
- 2022-09-28 CN CN202280053327.8A patent/CN117751554A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11757636B2 (en) | Access control for short-lived resource principals | |
US11418343B2 (en) | Access control for long-lived resource principals | |
US11811679B2 (en) | Stacked identities for resource principals | |
CN115989660B (zh) | 云基础设施系统中的安全区策略强制执行 | |
US12069166B2 (en) | Quorum-based authorization | |
US20230098484A1 (en) | Techniques for backwards compatibility in an identity management cloud service | |
US20230113325A1 (en) | External identity provider as a domain resource | |
CN117751554A (zh) | 作为域资源的外部身份提供者 | |
US20230097515A1 (en) | Combined authorization for entities within a domain | |
US20230097521A1 (en) | Reverse lookup of a user id to a domain id across shards | |
US20230132934A1 (en) | Techniques for dynamically assigning client credentials to an application | |
US12050678B2 (en) | Authorization brokering | |
US20230101303A1 (en) | Identity sharded cache for the data plane data | |
US20230137359A1 (en) | Multi-region login | |
US11876613B2 (en) | Home region switch | |
US20230109109A1 (en) | Applications as resource principals or service principals | |
US20230140149A1 (en) | Failover of domains | |
JP2024538487A (ja) | ドメインリソースとしての外部idプロバイダ | |
CN118120181A (zh) | 单点注销 | |
CN118077173A (zh) | 应用作为资源主体或服务主体 | |
EP4409841A1 (en) | Applications as resource principals or service principals | |
JP2024538626A (ja) | リソースプリンシパルまたはサービスプリンシパルとしてのアプリケーション |
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 |