云本地软件定义网络架构中基于角色的访问控制自动生成制造技术

技术编号:37172964 阅读:15 留言:0更新日期:2023-04-20 22:43
本公开涉及云本地软件定义网络架构中基于角色的访问控制自动生成。一种用于软件定义网络(SDN)架构系统的网络控制器,可以接收请求,以生成关于容器编排系统中的角色的访问控制策略,其中,请求指定多个功能。网络控制器可以执行该多个功能并且可以将该多个功能的执行记录在审计日志中。网络控制器可以对审计日志进行解析,以确定由于执行该多个功能而访问的容器编排系统的多种资源并且针对该多种资源中的每种资源确定对相应资源执行的相应的一种或多种类型的操作。网络控制器可以至少部分基于已解析的审计日志而创建角色的访问控制策略,以许可角色对该多种资源中的每种资源执行相应的一种或多种类型的操作。执行相应的一种或多种类型的操作。执行相应的一种或多种类型的操作。

【技术实现步骤摘要】
云本地软件定义网络架构中基于角色的访问控制自动生成
[0001]相关申请
[0002]本申请要求保护于2022年6月24日提交的美国非临时申请号17/808,970、于2022年5月31日提交的美国临时申请号63/362,319的权益、并且要求保护于2021年10月4日提交的印度临时申请202141044924的权益,通过引用将各个申请的全部内容结合在此。


[0003]本公开涉及一种虚拟计算基础设施,并且更具体地,涉及云本地网络的访问控制策略。

技术介绍

[0004]在典型的云数据中心环境中,存在提供运行各种应用的计算和/或存储能力的互连服务器的大型集合。例如,数据中心可以包括托管用户(即,数据中心的客户)的应用和服务的设施。例如,数据中心可以托管全部的基础设施设备,诸如联网与存储系统、冗余电源、以及环境控制。在典型的数据中心中,存储系统与应用服务器的集群经由由一层或多层物理网络交换机和路由器提供的高速交换结构而互连。更精密的数据中心为遍布世界各地的基础设施提供位于各种物理托管设施中的用户支持设备。
[0005]虚拟化数据中心正变成现代信息技术(IT)基础设施的核心基础。具体地,现代数据中心具有广泛应用的虚拟化环境,在该环境中,诸如虚拟机或容器的虚拟主机,此处,也被称为虚拟运行元件,被部署在物理计算设备的底层计算平台上并且在物理计算设备的底层计算平台上运行。
[0006]数据中心或包括一个或多个服务器的任意环境内的虚拟化能够提供若干优点。一个优点在于,虚拟化能够提供显著提高的效率。由于底层物理计算设备(即,服务器)随着每个物理CPU具有大量内核的多核微处理器架构的出现而变得日益强大,虚拟化变得更容易并且更高效。第二个优点在于,虚拟化提供对计算基础设施的有效控制。由于诸如基于云的计算环境中的物理计算资源变成可替代的资源,计算基础设施的提供与管理变得更容易。由此,企业IT员工通常除虚拟化所提供的效率和增加投资回报率(ROI)之外,由于其管理优势而喜欢数据中心的虚拟化计算集群。
[0007]容器化是基于操作系统级虚拟化的虚拟化方案。容器是用于彼此隔离并且与主机隔离的应用的轻量级与便携式运行元件。因为容器并不紧密地耦接至主机硬件计算环境,所以应用能够被绑定至容器图像并且作为单个轻量级包在支持底层容器架构的任意主机或虚拟主机上运行。因此,容器解决了如何使软件在不同的计算环境中工作的问题。容器提供从一个计算环境到另一虚拟或物理环境的持续运行的保证。
[0008]由于容器的固有轻量级性质,单个主机通常能够支持比传统虚拟机(VM)更多的容器实例。通常,能够比VM更高效地创建并且移动短寿命的容器,并且还能够将容器作为逻辑相关元件的组进行管理(对于一些编排平台,例如,Kubernetes,有时称为“容器池(pod)”)。这些容器特征影响对容器网络方案的需求:网络应该是敏捷并且可扩展的。在相同的计算
环境中,VM、容器、以及裸金属服务器可能需要共存,且能够实现多种部署的应用之间的通信。容器网络应该还不知道与用于部署容器化应用的多种类型的编排平台一起工作。
[0009]管理用于应用运行的部署与基础设施的计算基础设施可能涉及两个主要角色:(1)编排

用于使跨主机集群的应用的部署、扩展、以及操作自动化并且提供计算基础设施,计算基础设施可以包括以容器为中心的计算基础设施;和(2)网络管理

用于在网络基础设施中创建虚拟网络,以实现在诸如容器或VM的虚拟运行环境中运行的应用之间以及在遗留(例如,物理)环境中运行的应用之间的包化通信。软件定义网络有助于网络管理。

技术实现思路

[0010]总之,描述了关于生成使用云本地SDN架构所实现的计算机网络的基于角色的访问控制(RBAC)策略的技术。用户,诸如计算机网络的管理员,可以请求网络控制器通过指定由网络控制器所提供的API的功能而生成角色的访问控制策略。网络控制器可以执行所指定的功能并且可以将功能的执行记录在审计日志中。网络控制器可以对审计日志进行解析和/或过滤,以提取通过执行功能而访问的资源以及通过执行功能而对每种资源所执行的相应的一种或多种操作。因此,网络控制器可以基于已解析和/或已过滤的审计日志而生成角色的访问控制策略,以许可角色执行对每种资源所执行的相应的一种或多种操作。
[0011]在一些示例中,计算机网络的SDN架构可以包括在计算节点中所实现的数据平面元件、以及诸如路由器或交换机的网络设备,并且SDN架构还可以包括用于创建和管理虚拟网络的网络控制器。SDN架构配置与控制平面被设计成具有支持服务中升级的基于容器微服务架构的扩容云本地软件。可以实现配置平面的配置节点,以使用自定义资源而暴露。SDN架构配置的这些自定义资源可以包括通常由网络控制器暴露的配置元件,但是,配置元件可以与Kubernetes本地/内置资源进行合并,以支持由Kubernetes控制器并且由自定义资源控制器实现的聚合API层所暴露的统一意图模型,自定义资源控制器致力于将SDN架构的实际状态协调成预期状态。
[0012]使用SDN架构实现的计算机网络可以是包括彼此通信以及与外部设备通信的数百或数千的物理和/或虚拟部件的复杂环境,诸如,应用、虚拟机、虚拟路由器、虚拟网络、子网、域、租户、资源等。此外,资源在本质上可以是分层级的,因此,访问资源还可能需要访问依赖资源。因此,用户(例如,管理员)手动确定角色的适当访问控制策略来执行一个或多个工作流可能是不切实际的。
[0013]在一些示例中,如果用户尝试手动设置角色的访问策略,则用户在确定角色能够对资源执行的操作中可能过度包含或包含不足。如果用户在设置角色的访问策略时过度包含,用户则可能授予角色对角色访问角色执行其工作而可能需要的API功能可能不需要的资源执行操作的能力,这可能导致出现安全问题。在其他示例中,用户可能错误地未授予角色执行需要的一种或多种操作、以使角色访问角色可能需要访问的API功能的能力,由此,潜在地防止用户使角色不能成功地执行其职责。
[0014]因此,此处所描述的技术可以提供产生至少一个实际应用的一个或多个技术优点。例如,通过基于API功能创建访问策略,计算机网络的网络控制器能够创建角色的访问策略,以防止角色对计算机网络中不需要执行指定功能的资源执行操作。由于此处所描述的该技术当授予角色对资源执行操作的许可、以执行API的一个或多个功能时,可以提高计
算机网络的安全性,防止了错误或意外地授予角色对执行指定功能可能不需要的资源执行操作的许可。
[0015]在一些方面,此处所描述的技术涉及一种用于软件定义网络(SDN)架构系统的网络控制器,网络控制器包括:处理电路;以及一个或多个配置节点,被配置为由处理电路执行,其中,一个或多个配置节点包括应用编程接口(API)服务器,以处理对关于容器编排系统的本地资源的操作的请求,并且一个或多个配置节点包括自定义API服务器,以处理对关于SDN架构配置的自定义资源的操作的请求;以:接收请求,以生成关于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于软件定义网络SDN架构系统的网络控制器,所述网络控制器包括:处理电路;以及一个或多个配置节点,被配置为由所述处理电路执行,其中,所述一个或多个配置节点包括应用编程接口API服务器,以对关于容器编排系统的本地资源的操作的请求进行处理,并且所述一个或多个配置节点包括自定义API服务器,以对关于SDN架构配置的自定义资源的操作的请求进行处理,以:接收请求,生成关于所述容器编排系统中的角色的访问控制策略,其中,所述请求指定由所述自定义API服务器和所述API服务器所提供的聚合API的多个功能;执行所述多个功能;将所述多个功能的执行记录在审计日志中;对所述审计日志进行解析,以确定由于执行所述多个功能而访问的所述容器编排系统的多种资源,并且针对所述多种资源中的每种资源确定由于执行所述多个功能而对相应资源执行的多个动作的相应的一种或多种类型的操作;并且至少部分基于已解析的审计日志创建所述角色的所述访问控制策略,以许可角色对所述多种资源中的每种资源执行所述相应的一种或多种类型的操作。2.根据权利要求1所述的网络控制器,其中,为了执行所述多个功能,所述一个或多个配置节点被进一步配置为由所述处理电路执行,以:对由所述多个功能指示的第一一种或多种资源中的每种资源,执行由所述多个功能指示的第一相应的一种或多种操作;至少部分基于对所述第一一种或多种资源中的每种资源执行的所述第一相应的一种或多种操作,确定对不由所述多个功能指示的第二一种或多种资源中的每种资源执行的第二相应的一种或多种操作;并且对所述第二一种或多种资源中的每种资源,执行所述第二相应的一种或多种操作。3.根据权利要求1所述的网络控制器,其中,为了记录所述多个功能的执行,所述一个或多个配置节点被进一步配置为由所述处理电路执行,以:针对所述多个功能中的每个功能,记录指示通过执行所述功能而访问的一种或多种资源并且指示通过执行所述功能而对所述一种或多种资源中的每种资源执行的所述相应的一种或多种类型的操作的事件。4.根据权利要求1所述的网络控制器,其中,为了对所述审计日志进行解析,所述一个或多个配置节点被进一步配置为由所述处理电路执行,以:至少部分基于所述审计日志中所记录的事件的时间戳,对所述审计日志进行过滤。5.根据权利要求1所述的网络控制器,其中,为了对所述审计日志进行解析,所述一个或多个配置节点被进一步配置为由所述处理电路执行,以:至少部分基于所述审计日志中记录的事件的命名空间,对所述审计日志进行过滤。6.根据权利要求1所述的网络控制器,其中,为了对所述审计日志进行解析,所述一个或多个配置节点被进一步配置为由所述处理电路执行,以:基于所述审计日志,确定所述多种资源中的每种资源与所述相应的一种或多种类型的操作之间的关联性。7.根据权利要求1至6中任一项所述的网络控制器,其中,所述一个或多个配置节点被
进一步配置为由所述处理电路执行,以:至少部分基于所述角色的所述访问控制策略与所述角色的已配置访问控制策略的比较,对所述角色的所述访问控制策略进行验证。8.根据权利要求1至6中任一项所述的网络控制器,其中,所述聚合API的所述功能包括对关于SDN架构配置的自定义资源的一个或多个实例的操作的请求,其中,关于所述SDN架构配置的所述自定义资源中的每种自定义资源与所述SDN架构系统中的配置对象的类型对应。9.根据权利要求1至6中任一项所述的网络控制器,其中,所述聚合API的所述功能包括对关于所述容器编排系统的一种或多种本地资源的实例的操作的请求。10.根据权利要求1至6中任一项所述的网络控制器,其中,所述容器编排系统包括Kubernetes。11.根据权利要求1至6中任一项所述的网络控制器,其中,所述相应的一种或多种类型的操作中的每种操作包括创建、读取、更新、以及删除CRUD操作中的一种或多种。12.一种用于基于角色的访问控制的方法,所述方法包括:由用于软件定义网络SDN架构系统的网络控制器的处理电路接收请求,以生成关于容器...

【专利技术属性】
技术研发人员:普拉萨德
申请(专利权)人:瞻博网络公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1