CN107079003A - 在多租户环境中提供用于安全网络通信的集成防火墙的系统和方法 - Google Patents

在多租户环境中提供用于安全网络通信的集成防火墙的系统和方法 Download PDF

Info

Publication number
CN107079003A
CN107079003A CN201580047319.2A CN201580047319A CN107079003A CN 107079003 A CN107079003 A CN 107079003A CN 201580047319 A CN201580047319 A CN 201580047319A CN 107079003 A CN107079003 A CN 107079003A
Authority
CN
China
Prior art keywords
database
database service
service
consumer
connection
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.)
Granted
Application number
CN201580047319.2A
Other languages
English (en)
Other versions
CN107079003B (zh
Inventor
V·玛赫瓦克斯
R·P·莫梭
B·D·约翰森
S·查特吉
A·判特
J·德拉瓦瑞恩
K·C·帕特尔
B·马瑟尔
F·A·汗
S·V·瑞古纳
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of CN107079003A publication Critical patent/CN107079003A/zh
Application granted granted Critical
Publication of CN107079003B publication Critical patent/CN107079003B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0254Stateful filtering
    • 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
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

集成防火墙在多租户环境中提供安全性,多租户环境具有基于连接的交换结构,其将提供多个数据库服务的数据库服务器与托管数据库服务消费者的多个数据库服务直接连接,每个数据库服务消费者具有不同的数据库服务消费者身份。集成到每个数据库服务器中的防火墙功能通过丢弃不包括数据库服务消费者身份的通信分组并结合访问控制列表使用数据库服务消费者身份来控制从数据库服务消费者到数据库服务的访问来提供访问控制。访问控制包括基于所述访问控制列表的地址解析访问控制、连接建立访问控制和数据交换访问控制。集成防火墙经由InfiniBand网络使得数据库服务器和应用服务器能够直接连接,从而提供防火墙功能而无需单独的中间防火墙设备或安全性节点。

Description

在多租户环境中提供用于安全网络通信的集成防火墙的系统 和方法
版权声明:
本专利文档的公开内容的一部分包含受版权保护的素材。版权拥有者不反对任何人对专利文档或专利公开内容按照在专利商标局的专利文件或记录中出现的那样进行传真复制,但是除此之外在任何情况下都保留所有版权。
技术领域
本发明一般而言涉及计算机系统,并且具体而言涉及在网络环境中提供安全通信。
背景技术
互连网络在下一代超级计算机、集群和数据中心中发挥有益的作用。随着更大云计算体系架构的引入,与传统网络和存储相关联的性能和管理瓶颈已成为重要的问题。下一代数据中心可以包括具有用于托管应用的多个计算节点的中间件机器系统。这种中间件机器系统的一个例子是 Exalogic计算机设备。下一代数据中心还可以包括数据库服务器系统。数据库服务器系统的一个例子是 Exadata数据库云服务器。中间件机器系统与数据库服务器系统协作工作。存储在数据库服务器系统中的数据被使用和检索,用于中间件机器系统中的计算机操作,在中间件机器系统中生成或修改的数据被存储在数据库服务器系统中。因此,中间件机器系统和数据库服务器系统之间的连接可靠、高速、低延迟和具有低协议开销的高带宽是重要的。例如,已经见到InfiniBand(IB)技术日益增长地部署为云计算结构的基础。InfiniBand是基于连接的通信协议,其使用可以支持中间件机器系统和数据库服务器系统之间的远程直接存储器访问(RDMA)操作等的交换结构拓扑。
但是,数据中心通常由多个租户共享。多个租户可以是例如云计算环境中的不同公司实体。即使在数据中心专用于单个公司实体的情况下,也可能存在不同部门形式的多个租户(诸如财务、人力资源、工程等),其拥有必须对其它部门保持私密的数据。在多租户环境中,数据被保护以及可以被授权的租户和相关联的用户访问并且不能被未授权的租户和相关联的用户访问是重要的或必要的。同样,中间件机器系统中的应用与特定租户相关联,并且因此数据库服务器系统中的数据对某些应用应当是可访问的,而对其它应用应当是不可访问。
保护数据免于未授权访问的常规方式是使用防火墙设备。防火墙设备(诸如以太网防火墙设备)可以放置在位于共享以太网介质中的中间件机器系统和数据库服务器系统之间。防火墙设备控制对数据库服务的访问,使得用于这种服务的端口对授权租户及其相关联的应用可用,而对未授权的租户及其相关联的应用不可用。但是,使用这种防火墙设备必然防止中间件机器系统和数据库服务器系统之间的直接连接,并且充当了间接连接的瓶颈。没有InfiniBand防火墙设备当前可用。因此,如果需要/指定防火墙,则应当使用常规的以太网防火墙设备(等等)。但是,使用常规的以太网防火墙设备引入了额外的联网开销,并且产生限制系统可扩展性的瓶颈。使用常规的以太网防火墙设备排除了使用基于高速连接的交换结构(诸如,InfiniBand)以及这种基于连接的交换结构提供给在中间件机器系统和数据库服务器系统之间执行的操作的优化。
在用于中间件和应用执行系统的工程化系统中使用中间节点提供安全性来提供和控制数据流的现有系统和方法在于2014年8月25日提交的、申请号为14/467859、标题为“SYSTEM AND METHOD FOR PROVIDING A DATA SERVICE IN AN ENGINEERED SYSTEM FORMIDDLEWARE AND APPLICATION EXECUTION”的美国专利申请;于2014年8月25日提交的、申请号为14/467860、标题为“SYSTEM AND METHOD FOR CONTROLLING A DATA FLOW IN ANENGINEERED SYSTEM FOR MIDDLEWARE AND APPLICATION EXECUTION”的美国专利申请;于2014年8月25日提交的、申请号为14/467868、标题为“SYSTEM AND METHOD FOR SUPPORTINGDATA SERVICE ADDRESSING IN AN ENGINEERED SYSTEM FOR MIDDLEWARE ANDAPPLICATION EXECUTION”的美国专利申请;以及于2014年8月25日提交的、申请号为14/467896、标题为“SYSTEM AND METHOD FOR SUPPORTING HOST CHANNEL ADAPTER(HCA)FILTERING IN AN ENGINEERED SYSTEM FOR MIDDLEWARE AND APPLICATION EXECUTION”的美国专利申请中描述,这些申请通过引用被结合于此。但是,中间节点的使用必然增加通信通道的延迟和开销。这些应用描述了具有一般适用性的防火墙设备。但是,该解决方案需要额外的联网开销,从而影响延迟和可扩展性问题,因为中间节点接收和处理在两个端点之间传播的每个分组。此外,根据每个分组所需的处理,系统在针对开销、延迟和可扩展性影响与执行多少深度分组处理之间做出折衷。
为了提供类似于在本发明公开内容中所描述的使用标准防火墙设备的解决方案的解决方案,将需要跟踪每个连接的状态以及该连接与特定应用层构造(例如像数据库服务)的关联,如我们在本发明公开内容中所描述的那样。
因此,克服由常规使用中间防火墙设备和/或中间节点所出现的缺点,同时在多租户环境中提供确保数据的安全性的安全性解决方案将是所期望的。
发明内容
本文描述的是克服由常规使用中间防火墙设备所出现的缺点,同时在多租户环境中提供确保数据的安全性的安全性解决方案的系统和方法。本文描述的安全性解决方案避免了必须使用中间防火墙设备并且允许中间件机器系统和数据库服务器系统之间的无瓶颈直接连接。安全性解决方案使得能够使用基于高速连接的交换结构(诸如,链接中间件机器系统和数据库服务器系统的InfiniBand)以及这种基于连接的结构可以提供给在中间件机器系统和数据库服务器系统之间执行的操作的优化。中间件机器系统中的节点和数据库服务器系统中的节点可以通过交换结构中的一个或多个交换机直接连接,而不用通过任何中间防火墙设备或计算节点。该安全性解决方案以允许系统使用由这种直接连接(包括SR-IOV技术所提供的那些)所能够实现的全范围优化的方式操作。
在一些实施例中,本公开内容描述了一种在多租户环境中提供安全性的集成防火墙,多租户环境具有基于连接的交换结构,其将提供多个数据库服务的数据库服务器与托管数据库服务消费者的应用服务器直接连接,每个服务器服务消费者具有不同的数据库服务消费者身份。集成到每个数据库服务器中的防火墙功能通过丢弃不包括数据库服务消费者身份的通信分组并且通过结合访问控制列表使用数据库服务消费者身份来控制从数据库服务消费者到数据库服务的访问来提供访问控制。访问控制包括基于所述访问控制列表的地址解析访问控制、连接建立访问控制以及数据交换访问控制。该集成防火墙经由InfiniBand网络使得数据库服务器和应用服务器能够直接连接,从而提供防火墙功能而无需单独的中间防火墙设备或安全性节点。集成防火墙使得系统能够使用SR-IOV技术,该技术(在授权时)提供从消费者到数据库服务的直接联网硬件访问。
在一些实施例中,本公开内容描述了一种在多租户环境中提供安全通信的完整的安全性解决方案,多租户环境包括基于连接的结构、保持与不同租户相关联的数据的存储单元、使用所述数据提供多个数据库服务的数据库服务器、托管数据库服务消费者的应用服务器。该结构被配置为将存储单元与数据库服务消费者隔离的多个分区。唯一数据库服务消费者身份与每个数据库服务消费者安全地相关联。该安全性解决方案被配置为使得消费者标识符被包括在数据库服务消费者和数据库服务器之间的所有通信中。数据库服务器拒绝来自不包括身份的数据库服务消费者的所有通信。数据库服务器使用访问控制列表结合在通信分组中提供的身份以使用地址解析访问控制、连接建立访问控制和数据交换访问控制中的一个或多个来控制从数据库服务消费者到数据库服务的访问。基于分组中包括的消费者身份,还可以执行拒绝服务(Denial of service,DoS)攻击预防。该安全性解决方案经由InfiniBand网络使得数据库服务器和应用服务器能够直接连接,从而提供防火墙功能而无需单独的中间防火墙设备或安全性节点。
在一些实施例中,本公开内容描述了一种可以在网络环境中提供安全通信的系统和方法。网络环境(诸如,网络上的多租户环境)可以包括一个或多个服务提供商节点、一个或多个服务消费者节点和一个或多个存储单元。所述一个或多个服务提供商节点可以确保所述一个或多个服务提供商节点与所述一个或多个服务消费者节点之间的安全通信。此外,网络环境可以将与所述一个或多个服务提供商节点相关联的一个或多个存储单元与所述一个或多个服务消费者节点隔离。此外,网络环境可以为在所述一个或多个服务消费者节点上的一个或多个虚拟机(VM)提供对在所述一个或多个服务提供商节点上运行的一个或多个服务提供商实例的安全访问。
在一些实施例中,本公开内容描述了一种用于在网络环境中提供安全通信的方法,包括:经由网络环境中的一个或多个服务提供商节点确保所述一个或多个服务提供商节点和一个或多个服务消费者节点之间的安全通信;将与所述一个或多个服务提供商节点相关联的一个或多个存储单元与所述一个或多个服务消费者节点隔离;以及为在所述一个或多个服务消费者节点上的一个或多个虚拟机(VM)提供对在所述一个或多个服务提供商节点上运行的一个或多个服务提供商实例的安全访问。
当按照附图阅读时,根据对各种实施例的以下描述,本发明的这些和其它目的和优点对本领域技术人员将变得显而易见。
附图说明
下面基于以下各图详细描述本发明的各种实施例。
图1示出根据本发明实施例的、在网络环境中提供安全通信的图示。
图2图示根据本发明实施例的、在具有由交换联网结构连接到中间件机器系统的数据库服务器系统的集成系统中的访问控制。
图3图示根据本发明实施例的、在由交换联网结构连接到中间件机器系统的计算节点的数据库服务器系统的数据库节点中的访问控制。
图4A-4C图示根据本发明实施例的、用于在来自中间件机器系统的计算节点上的虚拟机的通信分组中安全地嵌入源标识符的系统和方法的各方面。
图5A图示根据本发明实施例的访问控制列表。
图5B和5C图示根据本发明实施例的用于创建、更新和分发图5A的访问控制列表的系统和方法。
图6图示根据本发明实施例的、基于图5A的访问控制列表在数据库节点处执行的连接建立访问控制和数据交换控制的各方面。
具体实施方式
本文描述的是可以在网络环境中提供安全通信的系统和方法。网络环境(诸如,网络上的多租户环境)可以包括一个或多个服务提供商节点、一个或多个服务消费者节点和一个或多个存储单元。所述一个或多个服务提供商节点可以确保所述一个或多个服务提供商节点与所述一个或多个服务消费者节点之间的安全通信。此外,网络环境可以将与所述一个或多个服务提供商节点相关联的一个或多个存储单元与所述一个或多个服务消费者节点隔离。此外,网络环境可以为在所述一个或多个服务消费者节点上的一个或多个虚拟机(VM)提供对在所述一个或多个服务提供商节点上运行的一个或多个服务提供商实例的安全访问。
在以下描述中,本发明将在附图的各图中通过示例而非限制的方式示出。对本公开内容中的各种实施例的引用不必是相同的实施例,并且这样的引用意味着至少一个。虽然讨论了具体实现,但是应当理解的是,这只是为了说明性的目的提供。相关领域的技术人员将认识到,在不脱离本发明的范围和精神的情况下,可以使用其它组件和配置。
此外,在某些情况下,将阐述许多具体细节以提供对本发明的详尽描述。但是,对于本领域技术人员将显而易见的是,本发明可以在没有这些具体细节的情况下实践。在其它情况下,众所周知的特征没有被详细描述,以免模糊本发明。
本发明借助于示出特定功能的性能及其关系的功能构建块进行描述。为了方便描述,这些功能构建块的边界在本文往往被任意地定义。因此,示出为由相同元件执行的功能在替代实施例中可由不同元件执行。并且示出为在单独元件中执行的功能可以替代地合并到一个元件中。只要适当地执行指定的功能及其关系,就可以定义替代边界。任何这样的替代边界因此也在本发明的范围和精神之内。
贯穿附图和详细描述,使用了共同的标号来指示相同的元件;因此,如果元件在其它地方被描述,则在图中使用的标号可以或可以不在特定于该图的详细描述中被引用。三位数字标号中的第一个数字指示该元件首次出现的一系列图。
在以下描述中,一些实施例描述了具有通过InfiniBand结构连接到Exadata数据库服务器系统的 Exalogic中间件机器的系统。但是,本领域普通技术人员将理解的是,在不脱离本发明的范围的情况下,本发明可以应用到许多高性能计算环境。此外,虽然描述了通过InfiniBand结构连接到 Exadata数据库服务器系统的 Exalogic中间件机器的许多具体细节以提供本发明的详尽描述,但是对本领域技术人员将显而易见的是,本发明可以在没有这些具体细节的情况下实践。因此,在不脱离本发明的范围的情况下,体现本发明的多租户计算环境的特定实现可以在一些实施例中排除某些特征和/或包括与下面描述的中间件机器、数据库服务器系统和InfiniBand结构不同或修改的特征。
图1示出了根据本发明实施例的、用于在网络环境中提供安全通信的系统和方法的概述。如图1所示,多租户环境100可以基于InfiniBand(IB)子网110。IB子网110包括一个或多个服务提供商(例如数据库节点102)、一个或多个服务消费者(例如计算节点101上的虚拟机)以及一个或多个存储单元103。典型的系统将包括通过InfiniBand子网101连接的大量类似的数据库节点102、计算节点101和存储单元103。
如图1所示,多租户环境100可以依赖于数据库节点102来执行防火墙功能和提供计算节点101上的虚拟机111和112与数据库节点102上的数据库实例113之间的安全通信。被认为是可信安全性域的数据库节点102趋向于比计算节点101上的虚拟机更安全。此外,多租户环境100可以将存储单元103与计算节点101上的虚拟机隔离,即存储单元103可以仅由数据库节点102访问,并且不能由计算节点101上的虚拟机访问。
根据本发明的实施例,支持多租户环境100的IB子网110可以使用不同的分区来配置。例如,存储单元103对于计算节点101上的虚拟机可以是不可见的,因为对存储单元103的访问可以通过使用专用IB分区来隔离。此外,对数据库节点102的访问可以通过另一专用分区来隔离,而数据库节点102可以由计算节点101上运行的所有租户共享。另一方面,数据库节点102可以使用不同的联网接口对两个分区访问。
如图1所示,计算节点101可以支持一个或多个虚拟机(VM),例如VM 111-112,其中每个VM可以被指派有VM标识符。在VM部署时指派的VM标识符可以使用硬件来实行。VM标识符可以出现在由VM 111-112传输的每个分组中。另外,可以用来控制VM对数据库的访问的VM标识符可以不由VM本身操纵。此外,VM标识符可以在整个VM生命周期中改变(即,VM标识符不是永久的)。
如图1所示,多租户环境100可以确保VM 111-112对数据库实例113的安全访问。例如,使用由VM 111-112传输到数据库节点112的每个分组中出现的VM标识符,系统可以在联网层基于访问控制机制和在数据库节点101的应用层基于工作负荷检查机制。如图1所示,访问控制114对计算节点101上的VM 111-112是透明的,并且可以在数据库节点102上实行。系统可以限制VM 111-112对特定数据库服务的访问,例如对由数据库实例113提供的特定数据库服务的访问。例如,VM 111被允许访问由数据库实例113提供的数据库服务,而VM112被防止访问由数据库实例113提供的数据库服务。
如图1所示,系统可以配置用于传输数据分组的控制路径,以限制到特定数据库节点102的地址和路由解析。此外,控制路径可以被配置为将连接建立限制到特定数据库服务。此外,系统可以配置用于传输数据分组的数据路径,以在硬件(例如,数据库节点102的主机通道适配器(HCA))中实行数据交换访问控制,并且避免显著的性能影响。
如图1所示,系统可以限制计算节点101和数据库节点102之间的通信经过安全通信通道120。注意,如同这里,每当本详细描述引用数据库节点和计算节点之间的通信时,它是指数据库节点和在计算节点上运行的VM而不是计算节点本身之间的通信。安全通信通道120可以基于具有增强访问控制的IB可靠连接(RC)协议,并且可以禁止通过该联网接口对数据库的TCP/UDP/SDP访问。例如,在实施例中, Exadirect Secure可以提供Exalogic计算节点和Exadata数据库节点之间经IB网络的高速安全通信。Exadirect Secure可以只能由Java数据库连接(Java Database Connectivity,JDBC)和调用接口( Call Interface,OCI)客户端(即实际上限于SQLNET)使用。
如图1所示,系统可以附加地经由位于IB子网110外部的安全性设备104建立VM111和由数据库实例113提供的特定数据库服务之间的安全通信。例如,如果Exalogic计算节点上的应用不使用JDBC或OCI客户端与Exadata数据库接口,则Exalogic计算节点可以替代地经由安全性设备104使用单独的基于以太网的通信。
图2图示了根据本发明实施例的、在具有由交换联网结构206连接到中间件机器系统220的数据库服务器系统240的集成系统中的访问控制。集成系统200提供了访问控制功能,其克服了由常规使用中间防火墙设备所出现的缺点,同时提供在多租户环境中确保数据的安全性的安全性解决方案。该安全性解决方案使得能够使用基于高速连接的网络结构(诸如,InfiniBand结构206)以及使得能够使用这种基于连接的交换结构可以向在中间件机器系统220和数据库服务器系统240之间执行的操作提供的优化。
集成系统200包括由InfiniBand结构206连接到中间件机器系统220的数据库服务器系统240。在实施例中,数据库服务器系统240是 Exadata数据库服务器系统,并且中间件机器系统220是 Exalogic中间件机器系统。数据库服务器系统240可以由数据库管理员(DBA)212管理,并且集成系统200可以由系统管理员211使用管理栈210来管理。中间件机器系统220包括虚拟机(数据库服务消费者)的集合。在部署时,每个虚拟机被指派硬件实行的唯一标识符(VMID)。该标识符由安全地运行在InfiniBand结构206中的交换机216上的子网管理器214分配、并且由中间件机器系统220的每个计算节点上的硬件嵌入到由虚拟机生成的每个分组的报头中作为报头中的源全局标识符(SGID)的部分。系统使用在每个分组标识符的SGID中提供的这个唯一VMID来安全地识别每个VM,并且控制从该VM对特定数据库服务(数据库服务提供商)的访问。在实施例中,如下所述,对数据库服务的访问不仅受数据库前台进程限制,而且受数据库监听器和HCA限制。在替代实施例中,访问控制可以应用到其它数据库基元,诸如可插拔数据库(PDB)或数据库表。
系统包括访问控制措施,其确保在管理栈210的控制下,对由数据库服务器系统240提供的特定数据库服务的访问被限制到在访问控制列表(ACL)中已经被授权访问那个特定数据库服务的中间件机器系统220的虚拟机。可以例如仅向与特定租户相关联的那些虚拟机授权访问。访问控制列表(ACL)将每个命名的数据库服务与对应于被允许访问它的VM的一组VM标识符相关联。访问控制系统确保只有在ACL中针对命名数据库服务被授权权限的VM将被允许访问该命名数据库服务。ACL的内容受到使用管理栈210的集成系统的管理员的安全控制。
如图2所示,数据库服务器系统240包括多个存储单元250。示出了四个存储单元250a、250b、250c和250d。典型的系统可以包括大量类似的存储单元。存储单元存储可以与多租户环境中的特定租户相关联的数据/数据库文件。如图2所示,专用存储访问分区限制对存储单元250的访问。对存储访问分区202的访问仅被授权给存储单元和数据库节点。计算节点220a、220b、220c和220d上的虚拟机不被授权对存储访问分区202的访问,并且因此不能直接访问存储单元250。
数据库服务器系统240还包括多个数据库节点260。示出了两个数据库节点260a、260b。典型的系统将包括大量类似的数据库节点。数据库节点260a、260b可以经由存储访问分区202访问存储单元250a、250b、250c和250d。数据库节点260a、260b中的每一个可以托管多个数据库进程,例如PDB 261a、262a、261b和262b,其中每一个可以提供命名数据库服务,例如DB SVC 263a、264a、263b和264b。每个命名数据库服务可以与一个或多个特定租户相关联。存储单元250a、250b、250c、250d表示共享存储介质。特定存储单元不需要与特定租户相关联或专用于特定租户。在实施例中,存储单元250表示由数据库节点260管理的分布式存储阵列。数据库文件可以跨多个存储单元条带化(striped)。但是,在数据库节点260的控制下,可以利用在存储单元上的许多种布置的数据库文件。由于存储单元使用专用存储访问分区204与计算节点的VM隔离,因此对存储单元250的访问不需要附加的安全性措施。存储访问分区204仅对于数据库节点260a和260b以及存储单元250a、250b、250c和250d可用。因此,该多个存储单元250与中间件机器系统220以及计算节点220a、220b、220c和220d上的虚拟机隔离。
中间件机器系统220访问存储在多个存储单元250上的数据库文件的唯一方式是通过调用多个数据库节点260上特定于租户的命名数据库服务中的一个或多个来间接访问。如下所述,使用访问控制266a和266b来控制和保护对数据库节点260a、260b的访问。从计算节点上的虚拟机对数据库节点的访问也被约束到专用数据库访问分区204。该分区与默认分区不同,并且不用于不同计算节点上的虚拟机本身之间的通信。如果部署多个租户,则它们都共享相同的数据库访问分区204来访问数据库节点。所有VM被配置为数据库访问分区204的受限成员(limited member),以便防止使用数据库访问分区204在VM之间的通信。所有数据库节点被配置为数据库访问分区204的完全成员(full member)。
中间件机器系统220包括多个计算节点,其中四个被示为220a、220b、220c和220d。典型的系统将包括大量类似的计算节点。计算节点托管在虚拟机中运行的应用(未示出)。虚拟机中的每一个可以被指派给多租户环境中的特定租户。可以存在在每个计算节点上运行的多个虚拟机(和应用)。八个虚拟机被示为VM 221a、VM 222a、VM 221b、VM 222b、VM221c、VM 222c、VM 221d和VM 222d。典型的系统将包括在每个计算节点和许多附加计算节点上运行的大量类似的虚拟机。每个虚拟机在子网管理器214的控制下,通过托管虚拟机的计算节点的硬件,将与标识符VMID 223a、VMID 224a、VMID 223b、VMID 224b、VMID 223c、VMID 224c、VMID 223d和VMID 224d相关联。使用基于连接的可靠协议,计算节点220a、220b、220c、220d上的VM可以通过存储访问分区202与多个数据库节点260通信。在优选实施例中,计算节点220a、220b、220c和220d上的VM可以通过InfiniBand结构206与多个数据库节点260通信。
计算节点220a、220b、220c和220d的硬件在虚拟机上的应用和数据库节点之间传输通信分组。计算节点的硬件在每个分组的报头中包括源全局标识符(SGID),其包括与虚拟机通信相关联的VMID。因为VMID与硬件中的虚拟机相关联,因此虚拟机不能伪造其标识符,即,它们不能使用没有由硬件进行关联的标识符。此外,计算节点的硬件确保来自虚拟机的所有通信分组在其报头中包括SGID,其包括在通过数据库访问分区204与数据库节点通信时相关虚拟机的VMID。
如前所述,中间件机器系统220的虚拟机访问多个存储单元250上的数据的唯一方式是通过调用多个数据库节点260上的特定命名数据库服务。虚拟机不被允许通过存储访问分区进行通信,并且因此不能与存储单元直接通信。虚拟机中的每一个可以试图创建与任何命名数据库服务的连接。但是,每个数据库节点包括在数据库节点的硬件(例如HCA)和软件中实现的访问控制功能266a和266b。访问控制功能266a和266b可以从接收到的通信分组中的SGID识别哪个虚拟机正在试图连接到命名服务。访问控制功能266a和266b响应于访问控制列表268a和268b提供访问控制功能,访问控制列表268a和268b识别哪些虚拟机可以访问哪些命名服务。ACL的内容在管理栈210的安全控制之下,并且ACL的副本被分发到每个数据库节点。访问控制功能266a、266b可以包括地址解析访问控制、连接建立访问控制、数据交换访问控制和IPoIB访问控制中的一个或多个。
如果VM未被授权访问由特定数据库节点提供的任何数据库服务,则访问控制功能266a、266b可以防止虚拟机与特定数据库节点建立连接。访问控制功能266a和266b还可以防止虚拟机与特定数据库服务建立连接并与其通信,除非该VM在访问控制列表中被授权访问该特定数据库服务。在多租户环境的实施例中,访问控制列表被配置为使得只有与特定数据库服务相同的租户相关联的虚拟机可以与特定数据库服务建立连接并与其通信。来自未授权虚拟机的所有连接请求都被拒绝。如下所述,可以在连接的生命周期中的各个阶段执行访问控制。
图3图示根据本发明实施例的、在由交换联网结构(诸如,InfiniBand结构206)连接到中间件机器系统220的计算节点的数据库服务器系统240的数据库节点中的访问控制。图3示出了访问控制系统的元件的更详细的视图,该系统克服了由常规使用中间防火墙设备所出现的缺点,同时提供了在多租户环境中确保数据的安全性的安全性解决方案。为了简单起见,图3示出了由InfiniBand结构206连接的一个计算节点320和一个数据库节点360的特征。在计算节点320上示出一个虚拟机331。但是,典型的系统将包括许多类似的计算节点、虚拟机和由InfiniBand结构206连接的数据库节点。
如图3所示,计算节点320包括主机通道适配器(HCA)326;CPU 328,其可以包括一个或多个微处理器,每个微处理器具有一个或多个核;以及存储器RAM 329,其可以包括四个或更多个千兆字节的存储器。计算节点320托管应用层330中的一个或多个应用。这些应用中的一个或多个的实例将在虚拟机中运行,其中每个虚拟机与唯一VMID相关联。示出了单个虚拟机VM 331,但是在单个计算节点320上可以操作多个虚拟机。多个应用可以在相同的虚拟机中运行或者在计算节点上的不同虚拟机中运行。应用可以包括例如使用OCI客户端333使用 Call接口与数据库通信的一个或多个OCI应用332。应用可以包括使用JDBC客户端335使用Java数据库连接与数据库通信的一个或多个JDBC应用334。
在使用附连到托管应用层中的应用实例的每个虚拟机的虚拟功能(VF)时,OCI客户端333和JDBC客户端335可以使用单根I/O虚拟化(Single Root I/O Virtualization,SR-IOV)技术经由直接访问栈340和HCA 326使用远程直接存储器访问(RDMA)来发送和接收数据。如图3所示,HCA 326的虚拟功能(VF)321被附连到VM 331。数据可以直接发送到与应用层的特定虚拟机相关联的存储器以及从该存储器发送。开放式结构企业分布(OpenFabric Enterprise Distribution,OFED)栈342提供用于RDMA交换结构(在这种情况下是InfiniBand结构206)的连接控制。
单根和多根IO虚拟化技术在由PCI-SIG公布的标准规范中定义。附连到虚拟机的虚拟功能、RDMA和单根I/O虚拟化(SR-IOV)技术的某些方面在例如于2013年3月15日提交的、申请号为13/838121、标题为“SYSTEM AND METHOD FOR SUPPORTING LIVE MIGRATIONOF VIRTUAL MACHINES IN A VIRTUALIZATION ENVIRONMENT”的美国专利申请;和于2013年3月15日提交的、申请号为13/838275、标题为“SYSTEM AND METHOD FOR SUPPORTING LIVEMIGRATION OF VIRTUAL MACHINES BASED ON THE EXTENDED HOST CHANNEL ADAPTER(HCA)MODEL”的美国专利申请;以及于2013年3月15日提交的、申请号为13/837922、标题为“SYSTEM AND METHOD FOR SUPPORTING LIVE MIGRATION OF VIRTUAL MACHINES IN ANINFINIBAND NETWORK”的美国专利申请中描述,这些申请通过引用被结合于此。
SR-IOV技术的优点是虚拟机被授权经由PCIE虚拟功能(PCIE VF)的直接硬件访问。这提供了与物理部署相同的性能,并支持提供具有VM数量的线性性能可扩展性的用户级联网和RDMA。因此,需要SR-IOV充分使用高速互连(诸如,InfiniBand结构)。但是,与软件I/O虚拟化技术(诸如,半虚拟化)不同,SR-IOV没有中间软件控制对VM的访问。因此,在VM联网栈是非信任的情况下,没有可信的软件中介来拦截和过滤网络流量。因此,为了在提供访问控制的同时充分使用SR-IOV技术,安全VM标识符(VMID)变得在网络上可见,并且如本文所述由外部实体或服务提供商(数据库)调解(mediate)访问控制。如图3所示,数据库节点360包括主机通道适配器(HCA)366、CPU 368和存储器-RAM 369,CPU 368可以包括一个或多个微处理器,每个微处理器具有一个或多个核,存储器-RAM 369可以包括四个或更多个千兆字节存储器。数据库节点360托管应用层370中的一个或多个数据库进程。数据库进程可以包括例如一个或多个OCI服务器应用372,其使用 Call Interface(调用接口)与计算节点上的虚拟机通信。应用层370还可以托管多个数据库进程实例(示出了三个)PDB 374a、374b、374c。OCI服务器应用可以使用单根I/O虚拟化(SR-IOV)技术经由直接访问栈376和HCA 366使用远程直接存储器访问(RDMA)来发送和接收数据。数据可以直接发送到与应用层的特定虚拟机相关联的存储器以及从存储器发送。开放式结构企业分布(OFED)栈377提供用于RDMA交换结构(在这种情况下是InfiniBand结构206)的连接控制。在本发明的实施例中,可以在数据库节点的各种组件中基于访问控制列表实现访问控制,各种组件包括例如OFED栈377、HCA 366和OS栈378。
InfiniBand结构206包括多个交换机216(示出了一个),计算节点320的HCA 326和数据库节点360的HCA 366(除了未示出的多个其它计算节点和数据库节点之外的多个HCA以外)连接到该多个交换机216。InfiniBand(缩写为IB)是在高性能计算中使用的计算机联网通信标准,具有非常高的吞吐量和非常低的延迟的特征。它用于计算机之间和计算机内的数据互连。InfiniBand用作服务器和存储系统之间以及存储系统之间的直接或交换互连。InfiniBand使用交换结构拓扑,而不是共享介质技术,诸如,以太网。所有传输在HCA处开始或结束。在图3的系统中,HCA 366在没有任何中间防火墙设备或节点的情况下由InfiniBand结构206通过交换机216连接到HCA 326。
InfiniBand结构206实现一个或多个子网管理器214,其负责InfiniBand结构206的配置,以及在IB连接建立的过程中使用的路由解析。子网管理器214还通过安全子网管理分组(SMP)配置附连到子网的HCA 366、326。在本发明的实施例中,子网管理器214可以用来使用与和特定虚拟机相关联的特定虚拟功能相关联的虚拟机标识符(VMID)安全地配置子网中的HCA。如图3所示,例如,VMID 322与附连到虚拟机331的HCA 326的虚拟功能321相关联。
子网管理器214还可以用来安全地配置子网中的HCA,使得在计算节点上的虚拟机和数据库节点之间传输的每个通信分组包括全局路由报头(GRH),其包括源全局标识符(SGID),该源全局标识符包括与和特定虚拟机相关联的特定虚拟功能相关联的虚拟机标识符(VMID)。如图3所示,例如,在计算节点320的虚拟机331和数据库节点之间传输的每个通信分组包括全局路由报头(GRH),其包括源全局标识符(SGID),该源全局标识符包括与附连到虚拟机331的VF 321相关联的VMID 322。因此,VMID与虚拟机的关联以及在通信分组中包括SGID处于子网管理器214和HCA的安全控制之下,并且不能被计算节点320或计算节点上的VM伪造或破坏。因此,即使对计算节点具有根访问权的用户或应用也将不能更改包括在分组报头中的VMID和SGID或者使用未授权的VMID/SGID。
在实施例中,每个数据库节点360的OFED栈377和HCA 366基于一个或多个访问控制列表(ACL)375a、375b来实现访问控制。访问控制使用嵌入在InfiniBand分组中的SGID来识别与分组相关联的虚拟机。OFED栈377和HCA 366基于一个或多个访问控制列表(ACL)375a、375b来实现访问控制,以便除非被适当的ACL授权,否则防止在计算节点中的虚拟机和数据库进程之间建立连接和传输数据。但是,注意的是,如果在授权的虚拟机和数据库进程之间做出连接和允许通信,则该连接在无需中间防火墙设备(诸如例如以太网防火墙390)的情况下允许在计算节点320上的OCI客户端333实例和OCI服务器372以及数据库节点360之间通过InfiniBand的完全直接RDMA。一旦被访问控制逻辑和硬件授权,VM就被授权对数据库服务的直接硬件访问(经由PCIE VF),其具有与物理部署相同的性能,使用支持用户级联网和RDMA的连接无需任何中间软件来控制对VM的访问,从而导致具有VM数量的线性性能可扩展性并充分使用与由数据库节点的HCA硬件实行的数据交换访问的高速InfiniBand互连。
计算节点320上的应用还可以包括不使用JDBC或OCI的一个或多个其它应用336,因此被排除使用用于RDMA的直接访问栈340而是使用套接字337来通过以太网与数据库通信。套接字337经由OS栈344耦合到InfiniBand上以太网(EoIB)适配器346。以太网分组使用EoIB发送到网关306,网关306通过InfiniBand结构206外部的以太网网络重新传输分组。以太网通信在到达数据库节点360之前经过常规的以太网防火墙设备390。在数据库节点360处,使用网络接口卡(NIC)367从以太网防火墙设备390接收以太网通信,并且以太网通信经由OS栈378传输到套接字379。应当注意的是,这个连接路径特征在于在若干方面具有较高的开销,包括在读/写套接字379中的处理器开销、OS栈开销、以及在通信路径中包括网关306和以太网防火墙390。
图4A-4C示出了用于在从中间件机器系统的计算节点上的虚拟机发送到数据库服务器系统的数据库节点的通信分组的报头中安全地嵌入源标识符(SGID)的系统和方法的各方面。图4A示出了在安全子网管理器的控制下使用主机通道适配器硬件在InfiniBand分组的报头的SGID中嵌入虚拟机标识符(VMID)。如图4A所示,交换机216实现子网管理器214,其负责InfiniBand结构206的配置以及在IB连接建立的过程中使用的路由解析。子网管理器214还通过可以在带内发送的安全子网管理分组(SMP)来配置附连到子网的所有HCA。
在本发明的实施例中,使用子网管理器214来使用与和特定虚拟机相关联的特定虚拟功能相关联的虚拟机标识符(VMID)安全地配置子网中的所有HCA。每个子网管理器214使用子网管理分组来配置存储在HCA 326的安全存储器中的端口全局唯一标识符(GUID)表400。在连接到子网的每个HCA中配置不同的端口GUID表。端口GUID表400在HCA 326中使用,以将每个虚拟功能(VF)并因此每个虚拟机与由子网管理器214建立的GUID相关联用于用作VMID。因此,VMID与虚拟机的关联在子网管理器的安全控制之下,并且不能被虚拟机伪造或破坏。
子网管理器214还配置数据库访问分区,使得HCA 326在由HCA 326向数据库节点传输的每个InfiniBand分组402a、402b、402c中的全局路由报头(Global Routingheading,GRH)中包括GUID。在实施例中,子网管理器214指导软件栈在计算节点上的虚拟机和数据库节点之间的连接上使用GRH。当为连接指定GRH时,硬件(例如HCA 326)将在通过连接发送的所有分组中包括GRH。VMID被包括在全局路由报头中作为GRH.SGID,其是附连的VF的GUID(VMID)和子网前缀的级联。当InfiniBand分组在单个子网内的端点之间传输时,GRH通常不在InfiniBand分组中传输。子网管理器214确保由HCA 326向数据库节点传输的每个InfiniBand分组包括GRH的一种方式是将所有数据库节点识别为与计算节点分离的子网的一部分,然后HCA将通过InfiniBand根据用于在不同子网之间通信的标准协议在所有InfiniBand分组中包括GRH。可替代地,子网管理器214可以指定策略的改变,其要求即使在相同子网内也要在所有InfiniBand分组中传输GRH。
在实施例中,子网管理分区命令被扩展为包括GRH标志。GRH标志由子网管理器214在分区创建时配置。当用于连接的路径解析指定数据库访问分区204(参见图2)时,GRH标志要求在每个InfiniBand分组中包含GRH。注意的是,访问控制功能可以应用到某些网络接口,例如数据库访问分区204,并且不应用到其它网络接口,例如存储访问分区202。因此,由于不需要包含GRH,因此不需要在存储访问分区202中设置GRH标志。在实施例中,子网管理器214将用于数据库访问分区204的路径解析管理数据报的HopLimit属性设置为大于1的值,以便激发包含GRH。通过将HopLimit属性设置为大于1,子网管理器214创建数据库节点和计算节点属于不同子网的错觉,从而触发在通过数据库访问分区从计算节点的虚拟机发送到数据库节点的每个InfiniBand分组中包含GRH。
图4B示出了使用InfiniBand(IB)寻址来访问网络环境中的数据服务的InfiniBand分组402。如图4B所示,IB分组402包括有效载荷406和根据IB协议的各种报头,包括本地路由报头(LRH)408和其它报头410、412。交换机使用本地路由报头(LRH)将分组跨子网移动到其目的地端节点网络端口。它包含源和目的地本地标识符(LID)、链路协议版本ID、服务级别、虚拟通道(lane)、分组长度、以及用来指示存在哪些可选字段的“下一报头”字段。此外,IB分组402可以包括用来确保IB分组的完整性的不变体ICRC 14、变体VCRC416。如上所述,子网管理器214配置子网和/或HCA,使得在数据库访问分区204中传输的每个IB分组402的报头还包括全局路由报头(GRH)404。GRH 404由HCA 326的硬件嵌入到每个IB分组中。VMID被包括在GRH报头中作为GRH.SGID,它是附连的VF的GUID(VMID)和子网前缀的级联。
图4C示出了全局路由报头(GRH)404的元素。GRH通常被路由器使用来在不同子网之间移动分组。在本发明的实施例中,它用来确保IB分组的源的GUID被嵌入在每个分组中,使得虚拟机可以被识别。如图4C所示,GRH 404包括源GUID 440和目的地GUID 442。GRH 404还包括路由版本ID、有效载荷长度、IP版本、流量类别和跳跃限制。如图4C所示,源GUID 440由HCA 326的硬件基于存储在HCA 326中的端口GUID表400嵌入在IB分组402的GRH 404中。如前所述,端口GUID表400由子网管理器214安全地配置。因此,每个InfiniBand分组包括唯一识别与分组相关联的虚拟机的源GUID 440。源GUID 440由HCA 326的硬件在子网管理器214的控制下实现,并且不能被它托管的虚拟机的计算节点修改。VMID被包括在SGID中,因为GRH.SGID是附连的VF的GUID(VMID)和子网前缀的级联。计算节点上的虚拟机因此不能使用未被子网管理器214指派给它的任何源GUID。
管理栈
管理栈210(参见图2)编排虚拟机的部署,并且使用访问控制列表(ACL)来管理从那些VM到数据库服务器系统240的特定数据库服务的访问。ACL表包含控制任何中间件机器系统VM对每个特定数据库服务的访问所需的所有信息。虚拟机不知道与数据库节点的通信是被访问控制的,因为所有访问控制由在数据库节点上运行的软件和硬件执行,并且因此对中间件机器系统220的计算节点上的虚拟机是透明的。
图5A示出了访问控制列表(ACL)524。如图5A所示,ACL 524具有用于每个命名数据库服务的行—Svcname 1-N。对于每个命名服务,ACL 524指示哪些虚拟机(由VMID识别)被允许访问命名服务。ACL 524允许命名服务到VMID权限的完整粒度,并且如图5B所示被填充。在实施例中,ACL被配置为使得与特定租户相关联的VM只能在多租户环境中访问与相同租户相关联的命名数据库服务。但是,ACL 524允许命名服务到VMID权限的完全粒度,因此ACL可以被配置为使得一些数据库服务可以被共享并且因此由与两个或更多个租户相关联的VM访问。逻辑上,数据库ACL表可以被布置为如下:行表示具有其当前指派的VMID的各个VM;并且列表示允许由特定VM访问的数据库服务的名称。
数据库ACL表是专门为本文所述的访问控制系统创建的数据库表。PL/SQL包向管理栈210提供在不暴露实际表实现的内部细节的情况下允许管理该表的API。只有管理栈210将更新数据库ACL表。可以创建专用数据库服务来访问数据库ACL表。用来访问数据库ACL表的数据库服务的名称应该对管理栈210是已知的,并且取决于使用的管理栈部署选项经由API或配置文件来提供。管理栈210可以使用专用管理数据库访问分区来访问数据库ACL表,优选地使用TCP上的SQL。对管理数据库访问分区的访问仅限于管理栈210。
数据库监听器546(参见图5B)用来为管理栈提供对部署在数据库服务器系统上的所有数据库上的数据库ACL表的访问。数据库监听器的数量及其坐标作为配置属性提供给管理栈210。管理栈与在其中一个数据库节点上运行的PL/SQL过程进行通信。数据库服务器系统负责将数据库ACL表更新传播到所有数据库节点、所有DB监听器546以及在那些节点上运行的IPoIB驱动器526(参见图5B)。
系统管理员可以配置部署在中间件机器系统计算节点上的VM具有对一个或多个数据库服务的访问。数据库服务应当与VM部署在其中的相同租户相关联,并且管理栈210实行该限制。管理栈210将VMID到(一个或多个)数据库服务的关联保持在本地数据库或配置中。此外,管理栈210能够使用该信息来构建/重建数据库ACL表。
在ACL中,基于VM的唯一VMID和给定的数据库服务名称,每个VM与该VM被授权访问的数据库服务相关联。管理栈负责跟踪VM和VMID的关联,并贯穿VM生命周期适当地更新数据库ACL表。在VM部署时,携带VM UUID的新条目由管理栈添加到数据库ACL表中。该条目最终将使用VMID和一个或多个数据库服务名称进行更新。在随后的VM生命周期操作期间,可以用指派给该VM的新VMID或用被授权或撤消访问的(一个或多个)新数据库服务来更新条目。VF被热插拔式附连到引导VM,并且每次给定VM被启动时,不同的VF可以被附连,并且因此导致不同VMID用于给定VM。VMID中的这个变化要求管理栈将VMID更新到ACL中的数据库服务关联。该VM条目将保留在数据库ACL表中,直到VM被销毁。如果VM试图在管理栈完成数据库ACL表的更新并且更新被传播到所有数据库节点、以及监听器和IPoIB驱动器之前访问数据库,则VM可能被拒绝访问直到更新完成之后。
图5B示出了与图5A的ACL 524交互的数据库服务。如图5B所示,在步骤530,数据库管理员(DBA)212访问数据库管理系统服务(DBMS)512来配置命名数据库服务。在步骤531,DBMS服务将命名数据库服务添加到数据库服务表(DBST)522。在步骤532,管理栈210使用ACL服务514从DBST 522检索名称服务的列表。在步骤534,管理栈210将新命名数据库服务添加到ACL 524。在步骤535,管理栈210为ACL 524中的新命名数据库服务设置VMID权限。在步骤537,管理栈210提交事务,从而将新命名数据库服务添加到ACL 524。在提交对ACL 524的修改之后,在步骤538,修改的ACL 524经由监听器注册(LREG)进程515被推出(push out)到所有数据库实例。因此,所有数据库实例具有ACL 524的最新版本。LREG 515更新每个数据库实例506中的ACL表。每个数据库实例接收列出为特定服务授权的所有VMID的服务VMID列表516。LREG 515还将ACL 524推送到数据库监听器546。提供给数据库监听器546的ACL525识别节点上的数据库服务和为那些服务授权的VMID。LREG 515还使用sysfs/ioctl接口用节点ACL 536来更新IPoIB驱动器526,该节点ACL 536包括(通过VMID)被授权访问特定节点的所有VM的列表。
图5C示出了访问控制系统的管理。集成系统200涉及多个组件,这些组件被配置、协调和管理,以便实现在本文所公开的用于在多租户环境中提供用于安全网络通信的集成防火墙的系统和方法。存在可替代的部署模型,每个模型提供特定于那个部署的管理解决方案。图5C示出了访问控制解决方案的高层管理模型和在配置集成系统200以实现访问控制解决方案中涉及的高层管理步骤。
如图5C所示,在步骤561和562,使用在子网管理器分区表555中设置的GRH标志创建数据库访问分区204(参见图2)。该GRH标志由子网管理器214使用,以指示计算节点上的虚拟机和数据库节点之间的所有路径必须配置有全局路由报头(GRH)。该操作作为将部署在计算节点上的虚拟机连接到数据库节点的InfiniBand结构206的设置的一部分来执行。在步骤563、564和565,管理栈210检索当前数据库配置(为数据库配置的服务名称列表),并且创建服务名称和授权的VM/租户之间的关联,并且将该关联保持在管理栈数据库内的安全性关联映射555中。数据库服务名称跨所有部署的数据库应该是唯一的,并且在配置系统的这一步骤管理栈210负责识别任何数据库错误配置或重复服务名称。
在步骤566、567、568,当VM实例化时,管理栈210将每个VM与其VMID相关联并将VMID与和在步骤565中建立的特定授权租户相关联的一个或多个服务名称相关联、选择计算节点(例如320)用于VM部署、并且在所选择的计算节点上部署VM(例如VM221a)。虚拟功能VF在实例化时被指派并附连到VM,并且从VM 221a部署到其的计算节点320的HCA 326的端口GUID表400获得那个VM的标识符(VF GUID)。在步骤569、570,管理栈210使用从步骤569建立的服务名称和VMID的关联来更新数据库ACL 524。在更新数据库ACL表时,信息被传播到数据库节点(例如数据库节点360),并且在每个节点内传播到每个节点上的数据库监听器和IPoIB驱动器,如图5B所示。数据库管理员212可以以正常的方式配置数据库节点上的数据库服务。
注意的是,多个VM可以被授权访问每个特定数据库服务,并且单个VM可以被授权访问多个数据库服务。授权的访问是按照ACL表的完全粒度,并且如果需要访问可以被配置为将与特定租户相关联的VM与和其他租户相关联的数据库服务隔离,或者如果对于特定服务是必要的或所期望的访问可以被配置为在不同租户的VM之间共享特定数据库服务。系统管理员211将数据库服务名称映射到多租户环境中的不同租户。
负责安全性系统的配置的管理栈210可以在中间件机器系统220的计算节点上运行,并且使用InfiniBand结构206用于与数据库节点的通信,以便检索数据库服务配置信息和编程所需的数据库ACL表。管理栈可以使用专用数据库管理访问分区用于这一目的。对该分区的访问将仅被授权给管理栈,因此数据库节点上的这个联网接口不必由本文所述的安全性措施保护。管理栈210使用由在数据库节点上运行并可通过TCP访问的PL/SQL过程提供的API。这些过程被增强以允许对数据库ACL表的访问和控制仅通过与数据库管理访问分区相关联的联网接口来执行。在替代实施例中,管理栈可以部署在数据库服务器系统260上或使用以太网与数据库节点通信,标准以太网安全性机制将被用来确保管理栈210和数据库节点之间的安全通信。
访问控制
如上所述,VMID作为GRH.SGID的一部分被嵌入在数据库访问分区中传输的每个分组中,并且识别发起分组的VM。访问控制列表指定哪些VM可以访问哪些服务。然后在数据库节点中使用在每个分组的GRH.SGID中提供的VMID和ACL实现访问控制。可以利用ACL 524和子表(诸如服务VMID列表516和节点ACL 536)在计算节点虚拟机和数据库服务之间的连接的生命周期中的几个不同阶段(包括地址解析、路径解析、连接建立和数据交换)提供访问控制。应当注意的是,对于上述系统,下面描述的访问控制措施仅需要在用于数据库节点和计算节点上的VM之间的通信的联网接口(即用于数据库访问分区的网络接口)上执行。这些访问控制措施不需要被应用到用于数据库节点和存储单元之间的通信的网络接口(即用于存储访问分区的网络接口)。这些访问控制措施也不需要应用到用于计算节点上的VM和其它计算节点上的VM之间的通信的网络接口。
访问控制的粒度取决于连接生命周期阶段而变化。在地址解析和路径解析阶段期间,系统可以基于节点ACL 536控制对特定数据库节点的访问。即,虚拟机可以被提供仅用于提供该虚拟机被授权访问的一个或多个数据库服务的数据库节点的地址和路径信息。在连接建立和数据交换阶段期间,系统基于ACL 524和/或服务VMID列表516控制VM和特定命名数据库服务之间的访问和数据传送。
地址解析访问控制
在数据库节点中实现的用于在虚拟机和数据库服务之间的连接的生命周期的阶段提供访问控制的一种机制是地址解析访问控制。地址解析协议(ARP)通信由VM使用,作为用于连接到提供特定命名数据库服务的数据库节点的进程的初始部分。ARP用来将IP地址解析为硬件地址(以太网情况下的MAC地址,或由IPoIB标准定义的20字节的IPoIB硬件地址)。使用IPoIB通信在数据库节点和计算节点上部署的VM之间交换ARP通信。VM从计算节点发出组播ARP请求,并且数据库节点发回单播ARP响应(如果允许)。在数据库节点和VM之间交换的组播请求和单播响应两者需要携带全局路由报头(GRH),并且因此通过在GRH.SGID中提供VMID来识别VM。
通过将来自传入地址解析协议(ARP)请求的GRH.SGID的VMID与识别被授权访问数据库节点的VM的为特定数据库节点编程的节点ACL 536进行匹配来执行地址解析访问控制。如上所述,使用用于特定IPoIB联网接口的sysfs/ioctl接口,节点ACL 536被提供给每个数据库节点上的IPoIB驱动器526。VMID可以被添加到节点ACL或从其删除。因此,每个数据库节点的IPoIB驱动器被配置有允许通过特定联网接口对数据库节点访问的VM的VMID列表。IPoIB驱动器526可以使用节点ACL通过拒绝向未被授权访问数据库节点的VM提供ARP响应来执行访问控制。换句话说,除非GRH.SGID包括节点ACL中的VMID,否则IPoIB驱动器526不响应ARP请求。
在从VM接收到ARP请求时,数据库节点的IPoIB驱动器526检查请求以验证GRH在分组中存在-如果没有GRH,则丢弃该请求并且不作出响应。接下来,数据库节点的IPoIB驱动器526将每个入站(inbound)ARP请求/响应的GRH中的SGID与节点ACL进行匹配-如果没有匹配,则丢弃该请求并且不作出响应。接下来,数据库节点的IPoIB驱动器526将每个入站ARP请求/响应的GRH中的SGID与来自ARP请求/响应主体的源硬件地址的低128位匹配,如果没有匹配,则丢弃该请求并且不作出响应。最后的检查旨在确保编程到ARP高速缓存中的硬件地址携带对应VM的有效SGID,并且可以用于识别由VM创建的套接字。只有当GRH存在、并且SGID与节点ACL 536和来自ARP请求/响应主体的源硬件地址的低128位匹配时,ARP响应才被发送回到计算节点上的虚拟机。
因此,ACL将对地址解析信息的访问控制到仅由节点ACL 536中的SGID所识别的那些VM。因此,VM不能从它们未被授权访问的数据库节点接收地址解析信息。因此,数据库节点(以及它们提供的数据库服务)对于根据节点ACL 536未被授权访问它们的VM是有效地“不可见的”。
连接建立访问控制
在数据库节点中实现的用于在虚拟机和数据库服务之间的连接的生命周期的阶段提供访问控制的另一种机制是连接建立访问控制。当VM已经定位它希望连接到的数据库服务时,它将试图建立与该数据库服务的连接。数据库节点使用由为RDMA和内核旁路应用提供开源软件栈的开放式结构企业分布(OFED)提供的信息来执行连接建立访问控制。在实施例中,系统被配置为使得计算节点上的虚拟机和数据库节点之间的所有通信(除了用于控制操作的TCP套接字和ARP流量之外)被限制到通过InfiniBand可靠连接传输的通信,其中分组包含GRH报头。通过确认连接请求确实携带GRH报头并且GRH.SGID识别与如由访问控制列表所指示的被授权访问特定命名数据库进程的VM对应的VMID来执行连接建立访问控制。
图6示出了连接建立访问控制的各方面。连接管理器(连接管理器代理)实现如由InfiniBand规范定义的InfiniBand连接建立协议。使用携带连接建立所需的信息的连接管理数据报(MAD)来执行连接建立。如上所述,在本发明的实施例中,数据库服务器系统和中间件机器系统之间的路径上的连接管理数据报(MAD)需要携带GRH报头。在数据库节点360上运行的连接管理代理(CMA)622在连接建立期间执行以下过滤操作。当CMA 622接收到CMAMAD 626时,它验证在MAD中存在GRH,并且如果不存在,则丢弃该CMA MAD而不响应。可选地,CMA 622可以验证替代路径在CMA MAD 626中无效–替代路径管理(APM)优选地被禁止-如果APM被指定,则该CMA MAD可以可选地被丢弃而不响应。接下来CMA 622将来自CMA MAD的GRH的SGID与来自CMA MAD 626的主体的主路径SGID进行匹配-如果存在不匹配,则丢弃连接管理MAD而不响应。CMA的这些步骤验证在连接建立事件中提供给上层(应用或IPoIB)的远程地址包含与远程VM对应的有效SGID,使得该SGID可以被上层使用,用于访问控制验证。
连接管理代理(CMA)可以被增强,以执行类似于用于ARP的IPoIB驱动器的附加的节点级访问控制。例如,CMA可以被增强,使得它不将事件向上推送到数据库节点中的应用级,除非与MAD相关联的GRH.SGID与被授权访问数据库节点的VM匹配。向CMA添加节点有界的ACL能力对于通过将攻击预防推到尽可能靠近节点边界来处理DoS攻击以及避免向应用级提供拒绝的MAD的开销尤其有用。
但是,在一些实施例中,连接管理代理(CMA)622不验证特定VM对特定数据库服务的访问控制,依赖于应用层610中的数据库进程来执行该检查(例如,图5B的DB实例506和/或DB监听器546)。CMA使用事件通知机制来向应用层指示连接建立状态机中的应用转换。应用层610中的数据库进程可以经由分配给该连接的cma_id(包括请求连接的VM的SGID/VMID)获得(通过订阅相关事件)关于远程对等体的信息。例如,上层协议(DB实例506、DB监听器546、IPoIB或其它应用)可以基于细粒度应用层ACL 524使用在连接建立事件的远程地址结构中提供的SGID/VMID来验证访问控制,从而基于ACL 524接受或拒绝连接。
应用层消费来自OFED栈的事件。应用层使用OFED事件通知机制来建立IB连接。应用层如上所述在连接建立流程期间获得用于特定连接的VM的VMID。然后,应用层中的数据库进程610使用获得的VMID来实行对个体连接的访问控制。应用层确定何时以及如何使用由CMA层在cma-id中提供的VM身份(从GRH.SGID获得的VMID)来控制对特定数据库服务的访问。
除了VMID之外,应用层还需要数据库服务名称,以便识别特定计算节点VM正在试图获得对哪个数据库服务的访问。如果该信息在连接建立时不可用,则应用可以存储VM身份(从GRH.SGID获得的VMID)、进行初始连接、并且然后一旦数据库服务名称变得可用,则使用VM身份来验证访问权限(如果权限被拒绝,则丢弃连接)。OFED栈和应用层之间的接口允许应用层识别连接的特定端点,并且在接收到数据库服务名称之后基于访问控制确定来终止与特定端点的连接性。因此,应用可以决定初始地接受连接,并在以后的阶段终止它。这允许应用层不依赖于数据库服务名称在连接建立之前可用,并且将其作为初始数据交换的一部分获得。
如图6所示,如果应用层中的数据库进程610接受连接,则该接受被传递到InfiniBand连接管理/连接管理代理(IBCM/CMA)驱动器622。IBCM/CMA驱动器622负责创建与连接相关联的硬件队列对(QP)上下文624。硬件QP上下文被保存在系统存储器中,其中相对较少数量的硬件QP上下文高速缓存在HCA存储器的HW QP上下文高速缓存634中。对于到计算节点VM的连接,硬件QP上下文624包括属性,其包含指示必须在特定连接上使用GRH的标志,以及与该连接相关联的特定VM的VMID/SGID值。
在VM未被授权连接到在CAM MAD中所请求的数据库服务的情况下,应用防止连接上下文的创建和/或破坏临时连接上下文。因此,使用ACL,在数据库节点中实现的连接建立访问控制可以拒绝到未授权的VM的连接,从而防止连接并且因此防止VM与按照ACL其未被授权访问的数据库服务之间的通信。
数据交换访问控制
在数据库节点中实现的用于在虚拟机和数据库服务之间的连接的生命周期的阶段提供访问控制的其他机制是数据交换访问控制。数据交换访问控制基于在连接建立阶段期间编程的硬件队列对(QP)上下文624。如上所述,如图6所示,硬件QP上下文被保存在系统存储器中,其中相对较少数量的硬件QP上下文高速缓存在HCA存储器的HW QP上下文高速缓存634中。对于到计算节点VM的连接,硬件QP上下文624包括属性,其包含指示必须在特定连接上使用GRH的标志,以及与该连接相关联的特定VM的SGID值。数据交换访问控制验证通过连接接收到的每个分组都包含指定的GRH.SGID,并且因此来自被授权使用连接的VM。不符合的分组被丢弃。这允许HCA硬件对通过连接传输的所有数据分组执行数据交换访问控制。
符合InfiniBand规范的HCA必须验证在那个连接上交换的每个单个分组都携带GRH报头,并且进入分组的GRH.SGID与在硬件QP上下文中指定的远程对等体GID匹配。此外,所有序列号检查和协议检查也将由硬件执行(类似于用于TCP套接字的TCP标志和序列号验证)。这些要求的实行确保HCA硬件对特定连接上的VM和数据库服务之间的数据传输的即时访问控制验证,而对所执行的InfiniBand操作(包括RDMA操作)没有任何约束,并且没有任何性能影响。
如图6所示,HCA 366检查每个InfiniBand分组402,并且除其它之外确保GRH 404中的SGID匹配与和连接相关联的硬件QP上下文相关联的SGID。所有不符合的分组被丢弃。但是,一旦被验证,符合的分组就被剥去报头,并且数据/有效载荷406被直接放置在与连接相关联的应用缓冲区中。因此,即使在建立连接之后,数据库节点上的HCA的硬件也对每个分组执行数据交换访问控制,以确保它来自被授权经由特定连接访问特定数据库服务的VM。
IPoIB访问控制
在数据库节点中实现的用于在虚拟机和数据库服务之间的连接的生命周期的阶段提供访问控制的另一种机制是IPoIB访问控制。对于由数据库监听器546使用的特定TCP端口的TCP套接字流量启动受限访问。但是,数据库节点中的OS栈IP过滤器被配置为排除未授权的流量。IPoIB可以被配置为用于连接模式或数据报模式。IPoIB通信通道的每一侧被独立配置(即,一侧可以被配置为连接模式,并且另一侧被配置为数据报模式)。在本发明的实施例中,通过IPoIB的所有通信仅限于连接模式。这通过配置数据库节点的IPoIB驱动器实行由远程对等体(诸如计算节点上的VM)使用连接模式来实现。
IPoIB在接收到分组时执行以下检查来保证通信仅使用连接模式。通过数据报QP的通信应该仅限于ARP分组-所有其它分组被丢弃。IPoIB仅与数据库节点ACL表中列出的VM建立连接。连接管理代理(CMA)向IPoIB提供关于建立这个连接的远程对等体的地址信息。在其它地址属性中,CMA将提供如连接建立访问控制部分中所述的对等体(VM)的SGID。当处理连接建立事件时,IPoIB驱动器应当执行以下检查。从CMA事件获得远程端点地址信息。从CMA事件中提供的地址信息中检索VM的SGID。将VM的SGID与ACL列表条目匹配,并且如果VM的SGID与ACL列表条目不匹配,则丢弃连接建立事件。结合数据库监听器546验证试图创建数据库进程连接的VM被允许访问特定数据库服务,这提供了增强的安全性,从而允许与数据库监听器546通信的VM的肯定识别。
拒绝服务(DoS)攻击预防
针对DoS攻击的保护是由常规以太网防火墙设备提供的标准特征之一。在DoS攻击中,多个消息被发送到接口。即使消息被拒绝,与拒绝消息相关联的消息和开销的绝对数量也淹没接口的资源,使得它不能用于合法流量。DoS攻击不一定代表恶意行为人,并且可能由例如错误配置的软件或导致重复消息的软件或硬件中的错误引起。本发明的系统和方法提供如上所述的多租户感知、细粒度数据库感知访问控制。但是,由于访问控制由数据库节点的软件和硬件执行,因此系统不能使用标准过滤技术来解决DoS问题。在数据库节点可以检测到攻击时,它已经受到攻击,并且必须花费至少一些资源来拒绝消息。如上所述,通过将消息控制/拒绝推到靠近节点的边缘可以减少所消耗的量或资源。但是,还将期望提供其它DoS攻击预防功能。
不是试图遵循传统的基于防火墙的过滤方法,本发明的实施例可以充分使用为解决DoS问题而完全工程化和高度集成的解决方案。当负责访问控制的组件检测到VM重复试图连接到其未被授权访问的数据库服务时,集成系统的组件可以采取行动来修复和记录非法访问(access violation)。例如,当数据库监听器546检测到重复的非法访问时,它执行以下动作。数据库监听器546记录非法访问。数据库监听器546更新处理栈中位于较低的其它组件(例如IB连接管理栈或IPoIB驱动器)的访问控制过滤器,因此可以在更靠近数据库节点边界的较低级别上停止连续攻击,并且因此导致对数据库节点操作更少的干扰。数据库监听器546还通知管理栈210并提供关于攻击的信息,包括GRH.SGID,其包括识别是攻击的源的VM的VMID。
系统使用由计算节点的HCA嵌入到每个分组的GRH.SDID中的VMID来提供虚拟机的可靠识别。因此,根据与攻击分组相关联的GRH-SGID,攻击者VM的身份对于管理栈210是已知的。管理栈可以采取一个或多个动作来停止攻击。例如,管理栈可以撤销侵犯VM对数据库访问分区204的访问,从而防止该VM向数据库节点发送任何其它分组。此外,例如,取决于管理栈的配置或系统管理员所采取的动作,管理栈可以来采取动作终止VM的操作。以这种方式,可以防止DoS分组到达数据库节点,或者可以停用DoS分组的源,从而在没有标准分组过滤防火墙设备的情况下实现DoS保护功能。
根据本发明的实施例,提供了一种用于在多租户环境中提供网络安全性的服务器。这种实施例的服务器可以是先前实施例中描述的任何服务器,例如,数据库服务器系统240。此外,服务器及其组件可以基于如先前实施例中描述的本发明的原理执行任何适当的操作。
在本实施例的例子中,服务器可以包括用于接收访问控制列表的第一接收单元,其中访问控制列表可以识别多个数据库服务,并且为多个数据库服务中的每一个识别与被允许访问多个数据库服务中的每一个的一个或多个数据库服务消费者相关联的一个或多个数据库服务消费者身份。同时,服务器可以包括第二接收单元,用于接收通过将多个服务器与多个应用服务器直接连接的基于连接的交换结构传输的多个通信分组。此外,服务器可以包括第一执行单元,用于对多个通信分组中的每个特定通信分组执行以下步骤:如果特定通信分组不包括任何数据库服务消费者身份,则丢弃该特定通信分组;如果特定通信分组确实包括数据库服务消费者身份,则使用包括在特定通信分组中的特定数据库消费者身份来识别发送特定通信分组的特定服务消费者,以及结合包括在特定通信分组中的特定数据库消费者身份使用访问控制列表来防止特定数据库消费者对多个数据库服务中的特定数据库服务的访问,除非访问控制列表将特定数据库服务消费者识别为被允许访问特定数据库服务。
在本实施例的例子中,特定通信分组可以是地址解析协议(ARP)请求。第一执行单元可以包括第一确定单元,用于确定访问控制列表是否将特定数据库服务消费者识别为被授权访问由服务器提供的多个数据库服务中的任何一个。此外,第一执行单元可以包括第一丢弃单元,用于如果访问控制列表没有将特定数据库服务消费者识别为被授权访问由服务器提供的多个数据库服务中的任何一个,则丢弃ARP请求而不传输ARP响应。
在本实施例的例子中,特定通信分组是连接建立请求。第一执行单元可以包括第二确定单元,用于确定访问控制列表是否将特定数据库服务消费者识别为被授权访问由服务器提供的多个数据库服务中的任何一个。此外,第一执行单元可以包括第二丢弃单元,用于如果访问控制列表没有将特定数据库服务消费者识别为被授权访问由服务器提供的多个数据库服务中的任何一个,则丢弃连接建立请求而不建立连接。
在本实施例的例子中,特定通信分组是连接建立请求。第一执行单元可以包括第三确定单元,用于确定连接建立请求正在请求对哪个特定数据库服务进行连接。此外,第一执行单元可以包括防止单元,用于如果访问控制列表没有将特定数据库服务消费者识别为被授权访问特定数据库服务,则防止响应于连接建立请求而建立到特定数据库服务的连接。
在本实施例的例子中,特定通信分组是连接建立请求。第一执行单元可以包括创建单元,用于响应于连接建立请求而创建连接。此外,第一执行单元可以包括第三接收单元,用于通过连接接收旨在由特定数据库服务消费者通过连接访问的特定数据库服务的标识。此外,如果访问控制列表没有将特定数据库服务消费者识别为被授权访问特定数据库服务,则第一执行单元还可以包括用于终止连接的终止单元。
在本实施例的例子中,特定通信分组是通过在特定数据库服务消费者和特定数据库服务之间建立的连接接收到的数据分组。第一执行单元可以包括关联单元,用于将硬件上下文与在特定数据库服务消费者和特定数据库服务之间建立的连接相关联,其中硬件上下文包括特定数据库服务消费者的特定数据库服务消费者标识符。此外,第一执行单元可以包括第三丢弃单元,用于丢弃数据分组,除非它包括在与连接相关联的硬件上下文中包括的特定数据库服务消费者身份。
在本实施例的例子中,在服务器的主机通道适配器处接收数据分组,并且硬件上下文存储在主机通道适配器的存储器中。第三丢弃单元可以包括第四丢弃单元,用于使用主机通道适配器丢弃数据分组,除非它包括在与连接相关联并且存储在主机通道适配器的存储器中的硬件上下文中包括的特定数据库服务消费者身份。
在本实施例的例子中,第一执行单元可以包括第二执行单元,用于基于访问控制列表执行地址解析访问控制、连接建立访问控制和数据交换访问控制之一。
在本实施例的例子中,基于连接的交换结构是InfiniBand结构,并且特定通信分组是通过将多个服务器与多个应用服务器直接连接的InfiniBand结构在服务器处接收到的InfiniBand协议通信分组。第一执行单元可以包括丢弃单元,用于如果InfiniBand协议通信分组不包括全局路由报头,则丢弃InfiniBand协议通信分组,如果InfiniBand协议通信分组确实包括全局路由报头,则使用包括在InfiniBand协议通信分组的全局路由报头中的源全局标识符来识别发送特定InfiniBand协议通信分组的特定服务消费者。此外,第一执行单元可以包括使用单元,用于结合包括在InfiniBand协议通信分组的全局路由报头中的源全局标识符使用访问控制列表来防止特定数据库消费者对多个数据库服务中的特定数据库服务的访问,除非访问控制列表将特定数据库服务消费者识别为被允许访问特定数据库服务。
在本实施例的例子中,基于连接的交换结构是InfiniBand结构。服务器还可以包括配置单元,用于将多个服务器配置为禁止多个数据库服务消费者和多个服务之间的不是通过使用每个都包括全局路由报头和源全局标识符的InfiniBand协议分组的数据交换,使得从多个数据库服务消费者传输的每个InfiniBand分组必须包括识别与每个分组相关联的数据库服务消费者的源全局标识符。
根据本发明的另一种实施例,提供了一种用于在多租户环境中提供网络安全性的服务器。这种实施例的服务器也可以是先前实施例中描述的任何服务器,例如,数据库服务器系统240。此外,服务器及其组件可以基于如先前实施例中描述的本发明的原理执行任何适当的操作。
在本实施例的例子中,服务器可以包括第一配置单元,用于将基于连接的交换结构配置为具有可由多个数据库服务消费者和多个数据库服务器访问的数据库访问分区。服务器还可以包括第二配置单元,用于将基于连接的交换结构配置为具有可由多个服务器和多个存储单元访问但不能被多个数据库服务消费者访问的存储访问分区。服务器还可以包括第三配置单元,用于将多个应用服务器中的每一个的网络接口配置为将在应用服务器上托管的多个数据库服务消费者中的每一个与唯一数据库服务消费者身份相关联。服务器还可以包括第四配置单元,用于将多个应用服务器中的每一个的网络接口配置为在从数据库服务消费者向多个数据库服务传输的每个通信分组中包括与在应用服务器上托管的多个数据库服务消费者中的每一个相关联的数据库服务消费者身份。服务器还可以包括提供单元,用于向多个服务器中的每一个提供访问控制列表,访问控制列表识别多个数据库服务并且为多个数据库服务中的每一个识别与被允许访问多个数据库服务中的每一个的一个或多个数据库服务消费者相关联的一个或多个数据库服务消费者身份。服务器还可以包括丢弃单元,用于使用多个数据库服务器中的每一个的网络接口丢弃从多个应用服务器接收到的不包括数据库服务消费者身份的所有通信分组。服务器还可以包括使用单元,用于结合包括在多个数据库服务器中的特定数据库服务器的特定网络接口处接收到的特定通信分组中的特定数据库服务消费者身份使用访问控制列表来防止与特定数据库消费者身份相关联的特定数据库消费者对多个数据库服务中的特定数据库服务的访问,除非访问控制列表将特定数据库服务消费者识别为被允许访问特定数据库服务。
在本实施例的例子中,特定通信分组是地址解析协议(ARP)请求。使用单元可以包括第一确定单元,用于确定访问控制列表是否将特定数据库服务消费者识别为被授权访问由服务器提供的多个数据库服务中的任何一个。使用单元还可以包括丢弃单元,用于如果访问控制列表没有将特定数据库服务消费者识别为被授权访问由服务器提供的多个数据库服务中的任何一个,则丢弃ARP请求而不传输ARP响应。
在本实施例的例子中,特定通信分组是连接建立请求。使用单元可以包括第二确定单元,用于在服务器中确定访问控制列表是否将特定数据库服务消费者识别为被授权访问由服务器提供的多个数据库服务中的任何一个。使用单元还可以包括第二丢弃单元,用于如果访问控制列表没有将特定数据库服务消费者识别为被授权访问由服务器提供的多个数据库服务中的任何一个,则丢弃连接建立请求而不建立连接。
在本实施例的例子中,特定通信分组是连接建立请求。使用单元可以包括第三确定单元,用于确定连接建立请求正在请求对哪个特定数据库服务进行连接。使用单元还可以包括防止单元,用于如果访问控制列表没有将特定数据库服务消费者识别为被授权访问特定数据库服务,则防止响应于连接建立请求而建立到特定数据库服务的连接。
在本实施例的例子中,特定通信分组是连接建立请求。使用单元可以包括用于响应于连接建立请求而创建连接的创建单元、用于通过连接接收旨在由特定数据库服务消费者通过连接访问的特定数据库服务的标识的接收单元、以及终止单元,用于如果访问控制列表没有将特定数据库服务消费者识别为被授权访问特定数据库服务,则终止连接。
在本实施例的例子中,特定通信分组是通过在特定数据库服务消费者和特定数据库服务之间建立的连接接收到的数据分组。使用单元可以包括关联单元,用于将硬件上下文与在特定数据库服务消费者和特定数据库服务之间建立的连接相关联,其中硬件上下文包括特定数据库服务消费者的特定数据库服务消费者标识符,以及第三丢弃单元,用于丢弃数据分组,除非它包括在与连接相关联的硬件上下文中包括的特定数据库服务消费者身份。
在本实施例的例子中,特定网络接口是主机通道适配器,并且其中在服务器的主机通道适配器处接收数据分组,并且硬件上下文存储在主机通道适配器的存储器中。第三丢弃单元可以包括第四丢弃单元,用于使用主机通道适配器丢弃数据分组,除非它包括在与连接相关联并且存储在主机通道适配器的存储器中的硬件上下文中包括的特定数据库服务消费者身份。
在本实施例的例子中,使用单元可以包括执行单元,用于基于访问控制列表执行地址解析访问控制、连接建立访问控制和数据交换访问控制之一。
在本实施例的例子中,基于连接的交换结构是InfiniBand结构。服务器还可以包括第五配置单元,用于将多个数据库服务器配置为禁止多个数据库服务消费者和多个数据库服务之间的不是通过使用每个都包括全局路由报头和源全局标识符的InfiniBand协议分组的数据交换,使得从多个数据库服务消费者传输的每个InfiniBand分组必须包括识别与每个分组相关联的数据库服务消费者的源全局标识符。
在本实施例的例子中,服务器还可以包括第二使用单元,用于使用多个数据库服务器中的每一个的网络接口来记录对多个数据库服务的未授权访问企图和包括在与未授权访问企图相关联的通信分组中的数据库服务消费者身份;第二提供单元,用于将未授权访问企图的记录提供给多个数据库服务并且将包括在与未授权访问企图相关联的通信分组中的数据库服务消费者身份提供给管理栈;以及第三使用单元,用于使用管理栈来阻止由包括在与未授权访问企图相关联的通信分组中的数据库服务消费者身份所识别的数据库消费者对数据库访问分区的访问,从而防止与多个数据库服务器的通信并阻止未授权的访问企图。
实施例的方法在多租户环境中提供网络安全性,多租户环境包括基于连接的交换结构、保持与多个不同租户相关联的数据的多个存储单元、提供多个数据库服务的多个数据库服务器,其中多个数据库服务中的每一个使用与保持在所述多个存储单元中的所述多个不同租户相关联的所述数据、以及托管与所述多个不同租户相关联的多个数据库服务消费者的多个应用服务器,所述方法包括:将基于连接的交换结构配置为具有可由所述多个数据库服务消费者和所述多个数据库服务器访问的数据库访问分区;将基于连接的交换结构配置为具有可由所述多个数据库服务器和所述多个存储单元访问但不能由所述多个数据库服务消费者访问的存储访问分区;将所述多个应用服务器中的每一个的网络接口控制器安全地配置为将在所述应用服务器上托管的所述多个数据库服务消费者中的每一个与唯一数据库服务消费者身份相关联,使得所述多个数据库服务消费者中的每一个不能修改或伪造与所述多个数据库服务消费者中的所述每一个相关联的唯一数据库服务身份;将所述多个应用服务器中的每一个的网络接口控制器配置为在从所述数据库服务消费者向所述多个数据库服务传输的通信分组中的每一个中包括与在所述应用服务器上托管的所述多个数据库服务消费者中的每一个相关联的数据库服务消费者身份;向所述多个数据库服务器中的每一个提供访问控制列表,其中访问控制列表识别所述多个数据库服务,并且为所述多个数据库服务中的每一个识别与被允许访问所述多个数据库服务中的所述每一个的一个或多个数据库服务消费者相关联的一个或多个数据库服务消费者身份;使用所述多个数据库服务器中的每一个的网络接口丢弃从所述多个应用服务器接收到的不包括数据库服务消费者身份的所有通信分组;以及结合在所述多个数据库服务器中的数据库服务器的网络接口处接收到的通信分组中包括的数据库服务消费者身份使用所述访问控制列表来防止由与数据库消费者身份相关联的数据库服务消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务。
实施例的方法提供所述通信分组是地址解析协议(ARP)请求,并且其中结合在所述多个数据库服务器中的数据库服务器的网络接口处接收到的通信分组中包括的数据库消费者身份使用所述访问控制列表来防止由与数据库消费者身份相关联的数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务包括:确定访问控制列表是否将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个;以及如果访问控制列表没有将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个,则丢弃ARP请求而不传输ARP响应。
实施例的方法提供所述通信分组是连接建立请求,并且其中结合在所述多个数据库服务器中的数据库服务器的网络接口处接收到的通信分组中包括的数据库消费者身份使用所述访问控制列表来防止由与数据库消费者身份相关联的数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务包括:在数据库服务器中确定访问控制列表是否将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个;以及如果访问控制列表没有将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个,则丢弃连接建立请求而不建立连接。
实施例的方法提供所述通信分组是连接建立请求,并且其中结合在所述多个数据库服务器中的数据库服务器的网络接口处接收到的通信分组中包括的数据库消费者身份使用所述访问控制列表来防止由与数据库消费者身份相关联的数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务包括:在数据库服务器中确定连接建立请求正在请求对哪个数据库服务进行连接;以及如果访问控制列表没有将所述数据库服务消费者识别为被授权访问所述数据库服务,则响应于所述连接建立请求而防止建立到数据库服务的连接。
实施例的方法提供所述通信分组是连接建立请求,并且其中结合在所述多个数据库服务器中的数据库服务器的网络接口处接收到的通信分组中包括的数据库消费者身份使用所述访问控制列表来防止由与数据库消费者身份相关联的数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务包括:响应于所述连接建立请求而创建连接;通过所述连接接收旨在由数据库服务消费者通过所述连接访问的数据库服务的标识;以及如果访问控制列表未将所述数据库服务消费者识别为被授权访问所述数据库服务,则终止所述连接。
实施例的方法提供所述通信分组是通过在数据库服务消费者和数据库服务之间建立的连接接收到的数据分组,并且其中结合在所述多个数据库服务器中的数据库服务器的网络接口处接收到的通信分组中包括的数据库消费者身份使用所述访问控制列表来防止由与数据库消费者身份相关联的数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务包括:将硬件上下文与在数据库服务消费者和数据库服务之间建立的所述连接相关联,其中硬件上下文包括数据库服务消费者的数据库服务消费者标识符;以及丢弃所述数据分组,除非它包括在与连接相关联的硬件上下文中包括的数据库服务消费者身份。
实施例的方法提供所述网络接口是主机通道适配器,并且其中所述数据分组在数据库服务器的主机通道适配器处被接收并且硬件上下文存储在所述主机通道适配器的存储器中,并且其中丢弃所述数据分组,除非它包括在与连接相关联的硬件上下文中包括的数据库服务消费者身份包括:使用主机通道适配器丢弃所述数据分组,除非它包括在与连接相关联并且存储在所述主机通道适配器的存储器中的硬件上下文中包括的数据库服务消费者身份。
实施例的方法提供结合在所述多个数据库服务器中的数据库服务器的网络接口处接收到的通信分组中包括的数据库消费者身份使用所述访问控制列表来防止由与数据库消费者身份相关联的数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务包括:基于所述访问控制列表执行地址解析访问控制、连接建立访问控制和数据交换访问控制中的至少一个。
实施例的方法向所述多个数据库服务器中的每一个提供用于使用存储访问分区与所述多个存储单元通信的另一网络接口,其中另一网络接口被配置为使得它不基于所述访问控制列表执行地址解析访问控制、连接建立访问控制和数据交换访问控制。
实施例的方法提供使用所述多个数据库服务器中的每一个的网络接口来记录对所述多个数据库服务的未授权访问企图和在与所述未授权访问相关联的通信分组中包括的数据库服务消费者身份;将未授权访问企图的所述记录提供给所述多个数据库服务并且将在与所述未授权访问企图相关联的通信分组中包括的数据库服务消费者身份提供给管理栈;使用管理栈来阻止由包括在与所述未授权访问企图相关联的通信分组中的所述数据库服务消费者身份所识别的数据库消费者对所述数据库访问分区的访问,从而防止与所述多个数据库服务器的通信并阻止所述未授权的访问企图。
实施例的方法在多租户环境中提供网络安全性,多租户环境包括:多个存储单元,保持与多个不同租户相关联的数据;多个数据库服务器,提供使用与所述多个不同租户相关联的所述数据的多个数据库服务;多个应用服务器,托管与所述多个不同租户相关联的多个数据库服务消费者;基于连接的交换结构,被配置为具有可由所述多个数据库服务消费者和所述多个数据库服务访问的数据库访问分区;以及可由所述多个数据库服务和所述多个存储单元访问但不能由所述多个数据库服务消费者访问的存储访问分区;在所述多个应用服务器中的每一个中的应用服务器网络接口控制器,其中应用服务器网络接口控制器被安全地配置为将在所述应用服务器上托管的所述多个数据库服务消费者中的每一个与唯一数据库服务消费者身份相关联,使得所述多个数据库服务消费者中的每一个不能修改或伪造与所述多个数据库服务消费者中的所述每一个相关联的唯一数据库服务身份,并且其中应用服务器网络接口控制器还被配置为在从所述每个数据库服务消费者向所述多个数据库服务传输的每个通信分组中包括数据库服务消费者身份;存储在所述多个数据库服务器中的每一个上的访问控制列表,其中访问控制列表识别所述多个数据库服务,并且为所述多个数据库服务中的每一个识别与被允许访问所述多个数据库服务中的每一个的一个或多个数据库服务消费者相关联的一个或多个数据库服务消费者身份;在所述多个数据库服务器中的每一个中的数据库服务器网络接口,其中每个数据库服务器网络接口被安全地配置为丢弃从所述多个数据库服务消费者接收到的不包括数据库服务消费者身份的所有通信分组;并且其中接收通信分组的每个数据库服务器网络接口被配置为结合包括在通信分组中的数据库服务消费者身份使用所述访问控制列表来防止与数据库消费者身份相关联的数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务。
实施例的方法提供所述通信分组是地址解析协议(ARP)请求,并且其中接收ARP请求的数据库服务器网络接口被配置为:确定访问控制列表是否将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个;以及如果访问控制列表没有将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个,则丢弃ARP请求而不传输ARP响应。
实施例的方法提供所述通信分组是连接建立请求,并且其中接收连接建立请求的数据库服务器网络接口被配置为:确定访问控制列表是否将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个;以及如果访问控制列表没有将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个,则丢弃连接建立请求而不建立连接。
实施例的方法提供所述通信分组是连接建立请求,并且其中接收连接建立请求的数据库服务器网络接口被配置为:确定连接建立请求正在请求对哪个数据库服务进行连接;以及如果访问控制列表没有将所述数据库服务消费者识别为被授权访问所述数据库服务,则防止响应于所述连接建立请求而建立到数据库服务的连接。
实施例的方法提供所述通信分组是连接建立请求,并且其中接收连接建立请求的数据库服务器网络接口被配置为:响应于所述连接建立请求而创建连接;通过所述连接接收旨在由数据库服务消费者通过所述连接访问的数据库服务的标识;以及如果访问控制列表没有将所述数据库服务消费者识别为被授权访问所述数据库服务,则终止所述连接。
实施例的方法提供所述通信分组是通过在数据库服务消费者和数据库服务之间建立的连接接收到的数据分组,并且其中通过连接接收数据分组的数据库服务器网络接口是主机通道适配器,被配置为:将硬件上下文与在数据库服务消费者和数据库服务之间建立的所述连接相关联,其中硬件上下文存储在所述主机通道适配器的存储器中,并且包括数据库服务消费者的数据库服务消费者身份;以及丢弃所述数据分组,除非它包括在与连接相关联并且存储在所述主机通道适配器的存储器中的硬件上下文中包括的数据库服务消费者身份。
实施例的方法提供在所述多个数据库服务器中的每一个中的数据库服务器网络接口被配置为使用存储在所述多个数据库服务器中的每一个上的访问控制列表基于所述访问控制列表来执行地址解析访问控制、连接建立访问控制和数据交换访问控制中的至少一个。
实施例的方法提供所述多个数据库服务器中的每一个包括用于使用存储访问分区与所述多个存储单元通信的另一网络接口,其中另一网络接口被配置为使得它不基于所述访问控制列表执行地址解析访问控制、连接建立访问控制和数据交换访问控制。
实施例的方法提供与所述多个数据库服务器通信的管理栈;其中在所述多个数据库服务器中的每一个中的数据库服务器网络接口被配置为记录对所述多个数据库服务的未授权访问企图和在与所述未授权访问企图相关联的通信分组中包括的数据库服务消费者身份,并且将所述记录提供给管理栈;其中管理栈被配置为阻止由包括在与所述未授权访问企图相关联的通信分组中的所述数据库服务消费者身份所识别的数据库消费者对所述数据库访问分区的访问,从而防止与所述多个数据库服务器的通信并阻止所述未授权的访问企图。
实施例的方法提供一种包括存储在其上的指令的非临时性计算机可读介质,用于在多租户环境中提供网络安全性,多租户环境包括基于连接的交换结构、保持与多个不同租户相关联的数据的多个存储单元、提供多个数据库服务的多个数据库服务器,其中所述多个数据库服务中的每一个使用与保持在所述多个存储单元中的所述多个不同租户相关联的所述数据、以及托管与所述多个不同租户相关联的多个数据库服务消费者的多个应用服务器,当所述指令被执行时,使得所述多租户环境的组件执行以下步骤,包括:将基于连接的交换结构配置为具有可由所述多个数据库服务消费者和所述多个数据库服务器访问的数据库访问分区;将基于连接的交换结构配置为具有可由所述多个数据库服务器和所述多个存储单元访问但不能由所述多个数据库服务消费者访问的存储访问分区;将所述多个应用服务器中的每一个的网络接口控制器安全地配置为将在所述应用服务器上托管的所述多个数据库服务消费者中的每一个与唯一数据库服务消费者身份相关联,使得所述多个数据库服务消费者中的每一个不能修改或伪造与所述多个数据库服务消费者中的所述每一个相关联的唯一数据库服务身份;将所述多个应用服务器中的每一个的网络接口控制器配置为在从所述数据库服务消费者向所述多个数据库服务传输的通信分组中的每一个中包括与在所述应用服务器节点上托管的所述多个数据库服务消费者中的每一个相关联的数据库服务消费者身份;向所述多个数据库服务器中的每一个提供访问控制列表,其中访问控制列表识别所述多个数据库服务并且为所述多个数据库服务中的每一个识别与被允许访问所述多个数据库服务中的所述每一个的一个或多个数据库服务消费者相关联的一个或多个数据库服务消费者身份;使用所述多个数据库服务器中的每一个的网络接口丢弃从所述多个应用服务器接收到的不包括数据库服务消费者身份的所有通信分组;以及结合在所述多个数据库服务器的数据库服务器节点的网络接口处接收到的通信分组中包括的数据库服务消费者身份使用所述访问控制列表来防止与数据库消费者身份相关联的数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务。
实施例的方法提供所述基于连接的交换结构是InfiniBand结构,并且其中所述方法还包括将所述多个数据库服务器配置为禁止所述多个数据库服务消费者和所述多个数据库服务之间的不是通过使用每个都包括全局路由报头和源全局标识符的InfiniBand协议分组的数据交换,使得从所述多个数据库服务消费者传输的每个InfiniBand分组必须包括识别与所述每个分组相关联的数据库服务消费者的源全局标识符。
实施例的系统提供所述基于连接的交换结构是InfiniBand结构,并且其中所述多个数据库服务器中的每一个中的数据库服务器网络接口被配置为禁止所述多个数据库服务消费者和所述多个数据库服务之间的不是通过使用每个都包括全局路由报头和源全局标识符的InfiniBand协议分组的数据交换,使得从所述多个数据库服务消费者传输的每个InfiniBand分组必须包括识别与所述每个分组相关联的数据库服务消费者的源全局标识符。
虽然以上已经描述了本发明的各种实施例,但是应当理解,它们是作为例子而不是限制给出。对于相关领域的技术人员将显而易见,在不脱离本发明的精神和范围的情况下,可以在其中进行各种形式和细节上的改变。
本发明的许多特征可以在硬件、软件、固件或其组合中、使用其或在其的帮助下执行。本发明可以使用一个或多个常规通用或专用数字计算机、计算装置、机器或微处理器(包括一个或多个处理器、存储器和/或根据本公开内容的教导编程的计算机可读存储介质)来方便地实现。本发明的特征还可以使用硬件组件(例如诸如,专用集成电路(ASIC)和可编程逻辑器件)在硬件中实现。实现硬件状态机以便执行本文所描述的功能对于相关领域的技术人员将显而易见。
本发明的特征可以在用于控制处理系统的硬件和用于使处理系统能够使用本发明的结果与其它机制交互的软件和/或固件中结合。这种软件或固件可以包括但不限于应用代码、装置驱动器、操作系统和执行环境/容器。如对软件领域的技术人员将显而易见的是,基于本公开内容的教导,熟练的程序员可以容易地准备适当的软件编码。
在一些实施例中,本发明包括计算机程序产品,其是具有存储在其上/其中的指令的存储介质或计算机可读介质,其中指令可以用来对计算机进行编程以执行本发明的任何过程。存储介质或计算机可读介质可以包括但不限于,任何类型的盘(包括软盘、光盘、DVD、CD-ROM、微驱动器和磁光盘)、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存装置、磁卡或光卡、纳米系统(包括分子存储器IC)、或适于存储指令和/或数据的任何类型的介质或装置。在实施例中,存储介质或计算机可读介质可以是非临时性的。
为了说明和描述的目的,提供了本发明的前述描述。它并不旨在穷举或将本发明限制为所公开的精确形式。许多修改和变化对于本领域技术人员将是显而易见的。修改和变化包括所公开特征的任何相关组合。选择和描述实施例是为了最好地解释本发明的原理及其实际应用,从而使得本领域的其他技术人员能够理解本发明的各种实施例和具有适于特定使用预期的各种修改。旨在由以下权利要求及其等效物限定本发明的范围。

Claims (21)

1.一种用于在多租户环境中的数据库服务器中提供网络安全性的方法,所述多租户环境具有基于连接的交换结构,将提供多个数据库服务的多个数据库服务器与托管多个数据库服务消费者的多个应用服务器直接连接,所述多个数据库服务消费者中的每一个与不同数据库服务消费者身份相关联,所述方法包括:
在多个数据库服务器中的数据库服务器处接收访问控制列表,其中访问控制列表识别所述多个数据库服务,并且为所述多个数据库服务中的每一个识别与被允许访问所述多个数据库服务中的所述每一个的一个或多个数据库服务消费者相关联的一个或多个数据库服务消费者身份;
在数据库服务器处接收通过将多个数据库服务器与多个应用服务器直接连接的基于连接的交换结构传输的多个通信分组;以及
在数据库服务器中对所述多个通信分组中的每个通信分组执行以下步骤:
如果通信分组不包括任何数据库服务消费者身份,则丢弃该通信分组,
如果通信分组确实包括数据库服务消费者身份,则使用包括在通信分组中的数据库消费者身份来识别发送通信分组的服务消费者,以及
结合包括在通信分组中的所述数据库消费者身份使用所述访问控制列表来防止由数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务。
2.如权利要求1所述的方法,其中所述通信分组是地址解析协议(ARP)请求,并且其中结合包括在通信分组中的所述数据库消费者身份使用所述访问控制列表来防止数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库消费者识别为被允许访问所述数据库服务包括:
在数据库服务器中确定访问控制列表是否将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个;以及
如果访问控制列表没有将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个,则丢弃ARP请求而不传输ARP响应。
3.如权利要求1或2所述的方法,其中所述通信分组是连接建立请求,并且其中结合包括在通信分组中的所述数据库消费者身份使用所述访问控制列表来防止数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库消费者识别为被允许访问所述数据库服务包括:
在数据库服务器中确定访问控制列表是否将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个;以及
如果访问控制列表没有将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个,则丢弃连接建立请求而不建立连接。
4.如任何前述权利要求所述的方法,其中所述通信分组是连接建立请求,并且其中结合包括在通信分组中的所述数据库消费者身份使用所述访问控制列表来防止由数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库消费者识别为被允许访问所述数据库服务包括:
在数据库服务器中确定连接建立请求正在请求对哪个数据库服务进行连接;以及
如果访问控制列表没有将所述数据库服务消费者识别为被授权访问所述数据库服务,则防止响应于所述连接建立请求而建立到数据库服务的连接。
5.如权利要求1所述的方法,其中所述通信分组是连接建立请求,并且其中结合包括在通信分组中的所述数据库消费者身份使用所述访问控制列表来防止由数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库消费者识别为被允许访问所述数据库服务包括:
响应于所述连接建立请求创建连接;
通过所述连接接收旨在由数据库服务消费者通过所述连接访问的数据库服务的标识;以及
如果访问控制列表没有将所述数据库服务消费者识别为被授权访问所述数据库服务,则终止所述连接。
6.如任何前述权利要求所述的方法,其中所述通信分组是通过在数据库服务消费者和数据库服务之间建立的连接接收到的数据分组,并且其中结合包括在通信分组中的所述数据库消费者身份使用所述访问控制列表来防止由数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库消费者识别为被允许访问所述数据库服务包括:
将硬件上下文与在数据库服务消费者和数据库服务之间建立的所述连接相关联,其中硬件上下文包括数据库服务消费者的数据库服务消费者标识符;以及
丢弃所述数据分组,除非它包括在与连接相关联的硬件上下文中包括的数据库服务消费者身份。
7.如权利要求6所述的方法,其中所述数据分组在数据库服务器的主机通道适配器处被接收,并且硬件上下文存储在所述主机通道适配器的存储器中,并且其中丢弃所述数据分组,除非它包括在与连接相关联的硬件上下文中包括的数据库服务消费者身份包括:
使用主机通道适配器丢弃所述分组,除非它包括在与连接相关联并且存储在所述主机通道适配器的存储器中的硬件上下文中包括的数据库服务消费者身份。
8.如任何前述权利要求所述的方法,其中结合包括在通信分组中的所述数据库消费者身份使用所述访问控制列表来防止数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库消费者识别为被允许访问所述数据库服务包括:
基于所述访问控制列表执行地址解析访问控制、连接建立访问控制、和数据交换访问控制中的至少一个。
9.如任何前述权利要求所述的方法,其中所述基于连接的交换结构是InfiniBand结构,并且其中所述通信分组是通过将多个数据库服务器与多个应用服务器直接连接的InfiniBand结构在数据库服务器处接收到的InfiniBand协议通信分组,并且其中由数据库服务器为所述多个通信分组中的通信分组执行的步骤包括:
如果InfiniBand协议通信分组不包括全局路由报头,则丢弃该InfiniBand协议通信分组,
如果InfiniBand协议通信分组确实包括全局路由报头,则使用包括在InfiniBand协议通信分组的全局路由报头中的源全局标识符来识别发送InfiniBand协议通信分组的服务消费者;以及
结合包括在InfiniBand协议通信分组的全局路由报头中的所述源全局标识符使用所述访问控制列表来防止由数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务。
10.如任何前述权利要求所述的方法,其中所述基于连接的交换结构是InfiniBand结构,并且其中所述方法还包括:
将所述多个数据库服务器配置为禁止所述多个数据库服务消费者和所述多个数据库服务之间的不是通过使用每个都包括全局路由报头和源全局标识符的InfiniBand协议分组的数据交换,使得从所述多个数据库服务消费者传输的每个InfiniBand分组必须包括识别与所述每个分组相关联的数据库服务消费者的源全局标识符。
11.一种用于在多租户环境中提供网络安全性的系统,所述多租户环境具有基于连接的交换结构,其直接连接到托管多个数据库服务消费者的多个应用服务器,所述多个数据库服务消费者中的每一个与不同数据库服务消费者身份相关联,所述系统包括:
提供多个数据库服务的多个数据库服务器,其中所述多个数据库服务器中的每个数据库服务器包括微处理器、存储器和网络接口;
存储在所述多个数据库服务器中的每一个上的访问控制列表,其中访问控制列表识别所述多个数据库服务,并且为所述多个数据库服务中的每一个识别与被允许访问所述多个数据库服务中的所述每一个的一个或多个数据库服务消费者相关联的一个或多个数据库服务消费者身份;
其中所述多个数据库服务器中的每个数据库服务器的网络接口被配置为接收通过将多个数据库服务器与多个应用服务器直接连接的基于连接的交换结构传输的多个通信分组;以及
其中网络接口被配置为对在网络接口处接收到的所述多个通信分组中的每个通信分组执行以下步骤:
如果通信分组不包括任何数据库服务消费者身份,则丢弃该通信分组,
如果通信分组确实包括数据库服务消费者身份,则使用包括在通信分组中的数据库消费者身份来识别发送通信分组的服务消费者,以及
结合包括在通信分组中的所述数据库消费者身份使用存储在数据库服务器上的访问控制列表来防止由数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务。
12.如权利要求11所述的系统,其中所述通信分组是地址解析协议(ARP)请求,并且其中所述网络接口被配置为:
确定访问控制列表是否将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个;以及
如果访问控制列表没有将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个,则丢弃ARP请求而不传输ARP响应。
13.如权利要求11或12所述的系统,其中所述通信分组是连接建立请求,并且其中所述网络接口被配置为:
确定访问控制列表是否将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个;以及
如果访问控制列表没有将所述数据库服务消费者识别为被授权访问由所述数据库服务器提供的所述多个数据库服务中的任何一个,则丢弃连接建立请求而不建立连接。
14.如权利要求11至13中任何一项所述的系统,其中所述通信分组是连接建立请求,并且其中所述网络接口被配置为:
确定连接建立请求正在请求对哪个数据库服务进行连接;以及
如果访问控制列表没有将所述数据库服务消费者识别为被授权访问所述数据库服务,则防止响应于所述连接建立请求而建立到数据库服务的连接。
15.如权利要求11所述的系统,其中所述通信分组是连接建立请求,并且其中所述网络接口被配置为:
响应于所述连接建立请求创建连接;
通过所述连接接收旨在由数据库服务消费者通过所述连接访问的数据库服务的标识;以及
如果访问控制列表没有将所述数据库服务消费者识别为被授权访问所述数据库服务,则终止所述连接。
16.如任何前述权利要求所述的系统,其中所述通信分组是通过在数据库服务消费者和数据库服务之间建立的连接接收到的数据分组,并且其中所述网络接口被配置为:
将硬件上下文与在数据库服务消费者和数据库服务之间建立的所述连接相关联,其中硬件上下文包括数据库服务消费者的数据库服务消费者身份;
丢弃所述数据分组,除非它包括在与连接相关联的硬件上下文中包括的数据库服务消费者身份。
17.如权利要求16所述的系统,其中:
所述网络接口是主机通道适配器并且硬件上下文存储在所述主机通道适配器的存储器中;以及
其中所述主机通道适配器被配置为丢弃所述数据分组,除非它包括在与连接相关联并且存储在所述主机通道适配器的存储器中的硬件上下文中包括的数据库服务消费者身份。
18.如权利要求11至17中任何一项所述的系统,其中网络接口被配置为结合包括在通信分组中的所述数据库消费者身份基于所述访问控制列表执行地址解析访问控制、连接建立访问控制和数据交换访问控制中的至少一个来防止由数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库消费者识别为被允许访问所述数据库服务。
19.如权利要求11至18中任何一项所述的系统,其中所述基于连接的交换结构是InfiniBand结构,并且其中所述通信分组是通过将多个数据库服务器与多个应用服务器直接连接的InfiniBand结构在网络接口处接收到的InfiniBand协议通信分组,并且其中网络接口被配置为:
如果InfiniBand协议通信分组不包括全局路由报头,则丢弃该InfiniBand协议分组;
如果InfiniBand协议通信分组确实包括全局路由报头,则使用包括在InfiniBand协议通信分组的全局路由报头中的源全局标识符来识别发送InfiniBand协议通信分组的服务消费者;以及
结合包括在InfiniBand协议通信分组的全局路由报头中的所述源全局标识符使用所述访问控制列表来防止由数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务。
20.一种包括存储在其上的指令的非临时性计算机可读介质,用于在多租户环境中的数据库服务器中提供网络安全性,所述多租户环境具有基于连接的交换结构,其直接连接提供多个数据库服务的多个数据库服务器,其中多个应用服务器托管多个数据库服务消费者,所述多个数据库服务消费者中的每一个与不同数据库服务消费者身份相关联,当指令被执行时,使得所述多个数据库服务器中的数据库服务器执行步骤,包括:
在多个数据库服务器中的数据库服务器处接收访问控制列表,其中访问控制列表识别所述多个数据库服务,并且为所述多个数据库服务中的每一个识别与被允许访问所述多个数据库服务中的所述每一个的一个或多个数据库服务消费者相关联的一个或多个数据库服务消费者身份;
在数据库服务器处接收通过将多个数据库服务器与多个应用服务器直接连接的基于连接的交换结构传输的多个通信分组;以及
在数据库服务器中对所述多个通信分组中的每个通信分组执行以下步骤,
如果通信分组不包括任何数据库服务消费者身份,则丢弃该通信分组,
如果通信分组确实包括数据库服务消费者身份,则使用包括在通信分组中的数据库消费者身份来识别发送通信分组的服务消费者,以及
结合包括在通信分组中的所述数据库消费者身份使用所述访问控制列表来防止数据库消费者对所述多个数据库服务中的数据库服务的访问,除非所述访问控制列表将所述数据库服务消费者识别为被允许访问所述数据库服务。
21.如权利要求1至10中任何一项所述的用于提供网络安全性的方法,其中多租户环境还具有保持与多个不同租户相关联的数据的多个存储单元,其中所述多个数据库服务中的每一个利用与保持在所述多个存储单元中的所述多个不同租户相关联的所述数据,并且其中数据库服务消费者与所述多个不同租户相关联,所述方法包括:
将基于连接的交换结构配置为具有可由所述多个数据库服务消费者和所述多个数据库服务器访问的数据库访问分区;
将基于连接的交换结构配置为具有可由所述多个数据库服务器和所述多个存储单元访问但不能由所述多个数据库服务消费者访问的存储访问分区;
将所述多个应用服务器中的每一个的网络接口配置为将在所述应用服务器上托管的所述多个数据库服务消费者中的每一个与唯一数据库服务消费者身份相关联;
将所述多个应用服务器中的每一个的网络接口配置为在从所述数据库服务消费者向所述多个数据库服务传输的通信分组中的每一个中包括与所述应用服务器上托管的多个数据库服务消费者中的每一个相关联的数据库服务消费者身份;
向所述多个数据库服务器中的每一个提供访问控制列表,其中访问控制列表识别所述多个数据库服务,并且为所述多个数据库服务中的每一个识别与被允许访问所述多个数据库服务中的所述每一个的一个或多个数据库服务消费者相关联的一个或多个数据库服务消费者身份;
使用所述多个数据库服务器中的每一个的网络接口丢弃从所述多个应用服务器接收到的不包括数据库服务消费者身份的所有通信分组;以及
结合包括在所述多个数据库服务器中的特定数据库服务器的特定网络接口处接收到的特定通信分组中的特定数据库服务消费者身份使用所述访问控制列表来防止由与特定数据库消费者身份相关联的特定数据库服务消费者对所述多个数据库服务中的特定数据库服务的访问,除非所述访问控制列表将所述特定数据库服务消费者识别为被允许访问所述特定数据库服务。
CN201580047319.2A 2014-09-09 2015-09-09 在多租户环境中提供用于安全网络通信的集成防火墙的系统和方法 Active CN107079003B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201462048096P 2014-09-09 2014-09-09
US62/048,096 2014-09-09
US14/848,109 US9723008B2 (en) 2014-09-09 2015-09-08 System and method for providing an integrated firewall for secure network communication in a multi-tenant environment
US14/848,111 US9723009B2 (en) 2014-09-09 2015-09-08 System and method for providing for secure network communication in a multi-tenant environment
US14/848,109 2015-09-08
US14/848,111 2015-09-08
PCT/US2015/049193 WO2016040485A1 (en) 2014-09-09 2015-09-09 System and method for providing an integrated firewall for secure network communication in a multi-tenant environment

Publications (2)

Publication Number Publication Date
CN107079003A true CN107079003A (zh) 2017-08-18
CN107079003B CN107079003B (zh) 2020-07-28

Family

ID=55438608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580047319.2A Active CN107079003B (zh) 2014-09-09 2015-09-09 在多租户环境中提供用于安全网络通信的集成防火墙的系统和方法

Country Status (6)

Country Link
US (3) US9723009B2 (zh)
EP (1) EP3192230B1 (zh)
JP (1) JP6581651B2 (zh)
KR (1) KR102318338B1 (zh)
CN (1) CN107079003B (zh)
WO (1) WO2016040485A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542590A (zh) * 2018-11-28 2019-03-29 上海酷栈科技有限公司 Docker集群多租户下虚拟Socket通信的方法
CN111163130A (zh) * 2019-12-06 2020-05-15 深圳智链物联科技有限公司 一种网络服务系统及其数据传输方法
CN112565158A (zh) * 2019-09-25 2021-03-26 阿里巴巴集团控股有限公司 数据访问方法、装置、系统、电子设备及计算机可读介质
CN113377784A (zh) * 2021-08-13 2021-09-10 成都市维思凡科技有限公司 一种基于中间件的数据处理方法、系统和存储介质

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10503442B2 (en) * 2015-01-28 2019-12-10 Avago Technologies International Sales Pte. Limited Method and apparatus for registering and storing virtual machine unique information capabilities
US10437770B2 (en) 2015-01-28 2019-10-08 Avago Technologies International Sales Pte. Limited Method and apparatus for providing virtual machine information to a network interface
US20160267187A1 (en) * 2015-03-10 2016-09-15 Thaddeus John Gabara Method and Apparatus for Coupling the Internet, Environment and Intrinsic Memory to Users
US9558029B2 (en) 2015-05-17 2017-01-31 Nicira, Inc. Logical processing for containers
US10701104B2 (en) * 2015-08-18 2020-06-30 Acronis International Gmbh Agentless security of virtual machines using a network interface controller
US20170054686A1 (en) * 2015-08-18 2017-02-23 Konstantin Malkov Agentless Security of Virtual Machines using a Filtering Platform
US10078526B2 (en) * 2015-11-01 2018-09-18 Nicira, Inc. Securing a managed forwarding element that operates within a data compute node
US10063469B2 (en) 2015-12-16 2018-08-28 Nicira, Inc. Forwarding element implementation for containers
US10594627B2 (en) 2016-01-27 2020-03-17 Oracle International Corporation System and method for supporting scalable representation of switch port status in a high performance computing environment
US10178027B2 (en) 2016-01-27 2019-01-08 Oracle International Corporation System and method for supporting inter subnet partitions in a high performance computing environment
US11018947B2 (en) 2016-01-27 2021-05-25 Oracle International Corporation System and method for supporting on-demand setup of local host channel adapter port partition membership in a high-performance computing environment
US10972375B2 (en) 2016-01-27 2021-04-06 Oracle International Corporation System and method of reserving a specific queue pair number for proprietary management traffic in a high-performance computing environment
US10594547B2 (en) * 2016-01-27 2020-03-17 Oracle International Corporation System and method for application of virtual host channel adapter configuration policies in a high-performance computing environment
US10333894B2 (en) 2016-01-28 2019-06-25 Oracle International Corporation System and method for supporting flexible forwarding domain boundaries in a high performance computing environment
US10659340B2 (en) 2016-01-28 2020-05-19 Oracle International Corporation System and method for supporting VM migration between subnets in a high performance computing environment
US10355972B2 (en) 2016-01-28 2019-07-16 Oracle International Corporation System and method for supporting flexible P_Key mapping in a high performance computing environment
US10581711B2 (en) 2016-01-28 2020-03-03 Oracle International Corporation System and method for policing network traffic flows using a ternary content addressable memory in a high performance computing environment
US10348649B2 (en) 2016-01-28 2019-07-09 Oracle International Corporation System and method for supporting partitioned switch forwarding tables in a high performance computing environment
US10666611B2 (en) 2016-01-28 2020-05-26 Oracle International Corporation System and method for supporting multiple concurrent SL to VL mappings in a high performance computing environment
US10536334B2 (en) 2016-01-28 2020-01-14 Oracle International Corporation System and method for supporting subnet number aliasing in a high performance computing environment
US10348847B2 (en) 2016-01-28 2019-07-09 Oracle International Corporation System and method for supporting proxy based multicast forwarding in a high performance computing environment
US10616118B2 (en) 2016-01-28 2020-04-07 Oracle International Corporation System and method for supporting aggressive credit waiting in a high performance computing environment
US10630816B2 (en) 2016-01-28 2020-04-21 Oracle International Corporation System and method for supporting shared multicast local identifiers (MILD) ranges in a high performance computing environment
US10171353B2 (en) 2016-03-04 2019-01-01 Oracle International Corporation System and method for supporting dual-port virtual router in a high performance computing environment
US10178119B1 (en) 2016-03-30 2019-01-08 Amazon Technologies, Inc. Correlating threat information across multiple levels of distributed computing systems
US10333962B1 (en) 2016-03-30 2019-06-25 Amazon Technologies, Inc. Correlating threat information across sources of distributed computing systems
US10148675B1 (en) 2016-03-30 2018-12-04 Amazon Technologies, Inc. Block-level forensics for distributed computing systems
US10142290B1 (en) * 2016-03-30 2018-11-27 Amazon Technologies, Inc. Host-based firewall for distributed computer systems
US10805436B2 (en) * 2016-07-29 2020-10-13 Hewlett Packard Enterprise Development Lp Deliver an ingress packet to a queue at a gateway device
US10423437B2 (en) 2016-08-17 2019-09-24 Red Hat Israel, Ltd. Hot-plugging of virtual functions in a virtualized environment
WO2018039061A1 (en) 2016-08-23 2018-03-01 Oracle International Corporation System and method for supporting fast hybrid reconfiguration in a high performance computing environment
CN108111461B (zh) * 2016-11-24 2020-11-20 中移(苏州)软件技术有限公司 实现虚拟机访问管理网络的方法、装置、网关及系统
US10261821B2 (en) * 2016-12-02 2019-04-16 Dell Products L.P. System and method to expose remote virtual media partitions to virtual machines
US10432414B2 (en) 2017-03-24 2019-10-01 Oracle International Corporation System and method to provide multicast group membership defined relative to partition membership in a high performance computing environment
US10841199B2 (en) 2017-03-24 2020-11-17 Oracle International Corporation System and method for optimized path record handling in homogenous fabrics without host stack cooperation in a high performance computing environment
US10868685B2 (en) 2017-03-24 2020-12-15 Oracle International Corporation System and method to provide explicit multicast local identifier assignment for per-partition default multicast local identifiers defined as subnet manager policy input in a high performance computing environment
US10693815B2 (en) * 2017-03-24 2020-06-23 Oracle International Corporation System and method to use all incoming multicast packets as a basis for GUID to LID cache contents in a high performance computing environment
US10635561B2 (en) 2017-05-11 2020-04-28 Salesforce.Com, Inc. Techniques and architectures for managing database failure in a single-node database architecture
US10425274B2 (en) 2017-05-11 2019-09-24 Salesforce.Com, Inc. Techniques and architectures for recovering from a service disruption in a multi-server environment
CN107241313B (zh) * 2017-05-18 2020-07-07 杭州迪普科技股份有限公司 一种防mac泛洪攻击的方法及装置
US10757105B2 (en) * 2017-06-12 2020-08-25 At&T Intellectual Property I, L.P. On-demand network security system
US11093443B2 (en) 2017-06-29 2021-08-17 Sap Se Database-level container group management
US10674438B2 (en) 2017-06-29 2020-06-02 Sap Se Restricting access to external schemas from within a database level container by whitelisting allowed schemas
US10984021B2 (en) 2017-06-29 2021-04-20 Sap Se Deployment of independent database artifact groups
US10776330B2 (en) 2017-06-29 2020-09-15 Sap Se Optimized re-deployment of database artifacts
US10116671B1 (en) * 2017-09-28 2018-10-30 International Business Machines Corporation Distributed denial-of-service attack detection based on shared network flow information
US10657114B2 (en) 2017-11-28 2020-05-19 Sap Se Reserving key specifications
US10812463B2 (en) * 2017-12-08 2020-10-20 International Business Machines Corporation Secure access to an enterprise computing environment
US11044229B2 (en) * 2017-12-22 2021-06-22 International Business Machines Corporation Dynamically opening ports for trusted application processes hosted in containers
CN110071900B (zh) * 2018-01-23 2020-11-17 华为技术有限公司 数据发送的方法及设备
CN109067744B (zh) * 2018-08-08 2021-11-09 新华三技术有限公司合肥分公司 Acl规则处理方法、装置及通信设备
US10833949B2 (en) 2018-11-20 2020-11-10 Amazon Technologies, Inc Extension resource groups of provider network services
CN109491249B (zh) * 2018-11-30 2022-01-18 沈阳航空航天大学 一种存在DoS攻击时确定一致性事件触发控制器的方法
US11520530B2 (en) * 2019-09-24 2022-12-06 Amazon Technologies, Inc. Peripheral device for configuring compute instances at client-selected servers
US11064017B2 (en) 2019-09-24 2021-07-13 Amazon Technologies, Inc. Peripheral device enabling virtualized computing service extensions
US11444881B2 (en) 2019-11-19 2022-09-13 Oracle International Corporation System and method for supporting use of forward and backward congestion notifications in a private fabric in a high performance computing environment
US11569997B1 (en) 2020-03-09 2023-01-31 Amazon Technologies, Inc. Security mechanisms for data plane extensions of provider network services
US20230297685A1 (en) * 2022-03-15 2023-09-21 Vmware, Inc. Remediation method to trace and clean up malicious files in a distributed malware detection system
KR102491184B1 (ko) 2022-03-31 2023-01-26 주식회사 오픈텔 전용 브라우저를 통한 네트워크 보안시스템
US11929986B1 (en) * 2022-10-31 2024-03-12 Snowflake Inc. Two-way data sharing between private and public clouds

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281277A (ja) * 2002-03-19 2003-10-03 Kazuteru Ono 医療データベースプロバイド方法、およびシステム
CN1553380A (zh) * 2003-05-27 2004-12-08 鸿富锦精密工业(深圳)有限公司 数据库使用权限控制系统及方法
CN101499061A (zh) * 2008-01-30 2009-08-05 国际商业机器公司 面向多租户的数据库引擎及其数据访问方法
US20100037309A1 (en) * 2008-08-07 2010-02-11 Anthony Dargis Method and apparatus for providing security in an intranet network
US20120284786A1 (en) * 2011-05-05 2012-11-08 Visto Corporation System and method for providing access credentials
JP5395833B2 (ja) * 2011-03-14 2014-01-22 株式会社東芝 仮想ネットワークシステム及び仮想通信制御方法
CN103761299A (zh) * 2014-01-16 2014-04-30 西北工业大学 一种跨智能空间的情境查询方法

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4304001A (en) 1980-01-24 1981-12-01 Forney Engineering Company Industrial control system with interconnected remotely located computer control units
US6914905B1 (en) 2000-06-16 2005-07-05 Extreme Networks, Inc. Method and system for VLAN aggregation
US7447778B2 (en) 2002-05-06 2008-11-04 Qlogic, Corporation System and method for a shared I/O subsystem
US7493409B2 (en) 2003-04-10 2009-02-17 International Business Machines Corporation Apparatus, system and method for implementing a generalized queue pair in a system area network
US7516487B1 (en) * 2003-05-21 2009-04-07 Foundry Networks, Inc. System and method for source IP anti-spoofing security
US8776050B2 (en) 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US7934020B1 (en) 2003-09-19 2011-04-26 Vmware, Inc. Managing network data transfers in a virtual computer system
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US7398394B1 (en) * 2004-06-02 2008-07-08 Bjorn Dag Johnsen Method and apparatus for authenticating nodes in a communications network
US7443860B2 (en) * 2004-06-08 2008-10-28 Sun Microsystems, Inc. Method and apparatus for source authentication in a communications network
US7437447B2 (en) 2004-11-12 2008-10-14 International Business Machines Corporation Method and system for authenticating a requestor without providing a key
US7509419B2 (en) 2005-01-13 2009-03-24 International Business Machines Corporation Method for providing remote access redirect capability in a channel adapter of a system area network
US8520512B2 (en) * 2005-01-26 2013-08-27 Mcafee, Inc. Network appliance for customizable quarantining of a node on a network
US8422678B2 (en) 2005-11-16 2013-04-16 Intel Corporation Method, apparatus and system for protecting security keys on a wireless platform
US7940757B2 (en) 2006-02-23 2011-05-10 Cisco Technology, Inc. Systems and methods for access port ICMP analysis
US7996583B2 (en) 2006-08-31 2011-08-09 Cisco Technology, Inc. Multiple context single logic virtual host channel adapter supporting multiple transport protocols
US20080189432A1 (en) 2007-02-02 2008-08-07 International Business Machines Corporation Method and system for vm migration in an infiniband network
US7913077B2 (en) 2007-02-13 2011-03-22 International Business Machines Corporation Preventing IP spoofing and facilitating parsing of private data areas in system area network connection requests
JP4747118B2 (ja) 2007-03-05 2011-08-17 富士通株式会社 ルータ、通信保証方法および通信保証プログラム
US8392981B2 (en) 2007-05-09 2013-03-05 Microsoft Corporation Software firewall control
US9660829B2 (en) 2007-06-04 2017-05-23 Avaya Inc. Secure VLANs
US7836332B2 (en) 2007-07-18 2010-11-16 Hitachi, Ltd. Method and apparatus for managing virtual ports on storage systems
US8295306B2 (en) * 2007-08-28 2012-10-23 Cisco Technologies, Inc. Layer-4 transparent secure transport protocol for end-to-end application protection
US20090077268A1 (en) * 2007-09-14 2009-03-19 International Business Machines Corporation Low Latency Multicast for Infiniband Host Channel Adapters
US8798056B2 (en) 2007-09-24 2014-08-05 Intel Corporation Method and system for virtual port communications
US7975033B2 (en) * 2007-10-23 2011-07-05 Virtudatacenter Holdings, L.L.C. System and method for initializing and maintaining a series of virtual local area networks contained in a clustered computer system
US8331381B2 (en) * 2007-12-04 2012-12-11 International Business Machines Corporation Providing visibility of Ethernet components to a subnet manager in a converged InfiniBand over Ethernet network
US7983265B1 (en) * 2008-01-17 2011-07-19 Qlogic, Corporation Method and system for processing a network packet
US7962564B2 (en) 2008-02-25 2011-06-14 International Business Machines Corporation Discovery of a virtual topology in a multi-tasking multi-processor environment
US20090222640A1 (en) 2008-02-28 2009-09-03 Bauman Ellen M Memory Migration in a Logically Partitioned Computer System
JP5272265B2 (ja) 2008-09-29 2013-08-28 株式会社日立製作所 Pciデバイス共有方法
US8429650B2 (en) * 2008-11-14 2013-04-23 Oracle International Corporation System and method of security management for a virtual environment
US7970913B2 (en) 2008-12-31 2011-06-28 International Business Machines Corporation Virtualizing sockets to enable the migration of a system environment
WO2010099407A1 (en) 2009-02-27 2010-09-02 Broadcom Corporation Method and system for virtual machine networking
US8429647B2 (en) 2009-05-06 2013-04-23 Vmware, Inc. Virtual machine migration across network by publishing routes to the associated virtual networks via virtual router after the start of migration of the virtual machine
US8064443B2 (en) 2009-05-11 2011-11-22 Juniper Networks, Inc. Scalable routing policy construction using dynamic redefinition of routing preference value
US8150971B2 (en) 2009-05-31 2012-04-03 Red Hat Israel, Ltd. Mechanism for migration of client-side virtual machine system resources
US8370560B2 (en) 2009-11-16 2013-02-05 International Business Machines Corporation Symmetric live migration of virtual machines
US8589921B2 (en) 2009-11-30 2013-11-19 Red Hat Israel, Ltd. Method and system for target host optimization based on resource sharing in a load balancing host and virtual machine adjustable selection algorithm
US8327060B2 (en) 2009-11-30 2012-12-04 Red Hat Israel, Ltd. Mechanism for live migration of virtual machines with memory optimizations
JP5190084B2 (ja) 2010-03-30 2013-04-24 株式会社日立製作所 仮想マシンのマイグレーション方法およびシステム
US9244700B2 (en) 2010-05-09 2016-01-26 Citrix Systems, Inc. Methods and systems for delivering applications from a desktop operating system
US8407366B2 (en) 2010-05-14 2013-03-26 Microsoft Corporation Interconnecting members of a virtual network
US8989187B2 (en) 2010-06-04 2015-03-24 Coraid, Inc. Method and system of scaling a cloud computing network
US9148373B2 (en) 2010-07-30 2015-09-29 Intellectual Discovery Co., Ltd. Network system
US8489699B2 (en) 2010-08-13 2013-07-16 Vmware, Inc. Live migration of virtual machine during direct access to storage over SR IOV adapter
US20120173757A1 (en) 2011-01-05 2012-07-05 International Business Machines Corporation Routing optimization for virtual machine migration between geographically remote data centers
US9225639B2 (en) 2011-01-31 2015-12-29 Intellectual Discovery Co., Ltd. Network system
US9552215B2 (en) 2011-03-08 2017-01-24 Rackspace Us, Inc. Method and system for transferring a virtual machine
WO2012143965A1 (en) 2011-04-18 2012-10-26 Hitachi, Ltd. Plurality of coupled storage subsystems and method for setting port access limitation in a storage subsystem when migrating a logical volume
US9218195B2 (en) 2011-05-17 2015-12-22 International Business Machines Corporation Vendor-independent resource configuration interface for self-virtualizing input/output device
US8713649B2 (en) * 2011-06-03 2014-04-29 Oracle International Corporation System and method for providing restrictions on the location of peer subnet manager (SM) instances in an infiniband (IB) network
WO2012167268A1 (en) * 2011-06-03 2012-12-06 Oracle International Corporation System and method for authenticating components in a network
US9304798B2 (en) * 2011-06-07 2016-04-05 Hewlett Packard Enterprise Development Lp Scalable multi-tenant network architecture for virtualized datacenters
US9332005B2 (en) * 2011-07-11 2016-05-03 Oracle International Corporation System and method for providing switch based subnet management packet (SMP) traffic protection in a middleware machine environment
US8516241B2 (en) * 2011-07-12 2013-08-20 Cisco Technology, Inc. Zone-based firewall policy model for a virtualized data center
JP5643990B2 (ja) 2011-07-29 2014-12-24 株式会社日立製作所 ネットワーク装置及びネットワークシステム
US8656389B2 (en) 2011-08-22 2014-02-18 Vmware, Inc. Virtual port command processing during migration of virtual machine
US9288160B2 (en) * 2011-08-23 2016-03-15 Intel Corporation GID capable switching in an infiniband fabric
US8584215B2 (en) * 2012-02-07 2013-11-12 Cisco Technology, Inc. System and method for securing distributed exporting models in a network environment
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
US9047107B2 (en) * 2012-02-29 2015-06-02 Red Hat, Inc. Applying a custom security type label to multi-tenant applications of a node in a platform-as-a-service environment
US8850514B2 (en) * 2012-05-01 2014-09-30 Red Hat, Inc. Cartridges in a multi-tenant platforms-as-a-service (PaaS) system implemented in a cloud computing environment
US9871734B2 (en) 2012-05-28 2018-01-16 Mellanox Technologies, Ltd. Prioritized handling of incoming packets by a network interface controller
US9584605B2 (en) * 2012-06-04 2017-02-28 Oracle International Corporation System and method for preventing denial of service (DOS) attack on subnet administrator (SA) access in an engineered system for middleware and application execution
US8893258B2 (en) * 2012-06-11 2014-11-18 Cisco Technology, Inc. System and method for identity based authentication in a distributed virtual switch network environment
EP2811412A4 (en) 2012-06-25 2016-03-09 Hitachi Ltd COMPUTER SYSTEM AND METHOD FOR MIGRATION OF APPLICATION PROGRAM EXECUTION ENVIRONMENT
US8832820B2 (en) * 2012-06-25 2014-09-09 International Business Machines Corporation Isolation and security hardening among workloads in a multi-tenant networked environment
US9063928B2 (en) 2012-07-12 2015-06-23 International Business Machines Corporation Processing data packets from a receive queue in a remote direct memory access device
US9104645B2 (en) 2012-07-27 2015-08-11 Dell Products, Lp System and method of replicating virtual machines for live migration between data centers
US9602430B2 (en) 2012-08-21 2017-03-21 Brocade Communications Systems, Inc. Global VLANs for fabric switches
US8769274B2 (en) * 2012-09-05 2014-07-01 International Business Machines Corporation Backup and restore in a secure appliance with integrity and confidentiality
US9385949B2 (en) 2012-12-20 2016-07-05 Mellanox Technologies Tlv Ltd. Routing controlled by subnet managers
US20140188996A1 (en) 2012-12-31 2014-07-03 Advanced Micro Devices, Inc. Raw fabric interface for server system with virtualized interfaces
US9306906B2 (en) * 2013-03-25 2016-04-05 Salesforce.Com, Inc. Systems and methods for utilizing uni-directional inter-host communication in an air gap environment
US9660905B2 (en) 2013-04-12 2017-05-23 Futurewei Technologies, Inc. Service chain policy for distributed gateways in virtual overlay networks
US9426155B2 (en) * 2013-04-18 2016-08-23 International Business Machines Corporation Extending infrastructure security to services in a cloud computing environment
US20140351423A1 (en) * 2013-05-24 2014-11-27 Connectloud, Inc. Method and Apparatus for Dynamic Correlation of Large Cloud Firewall Fault Event Stream
US20140344436A1 (en) * 2013-05-08 2014-11-20 Connectloud, Inc. Method and Apparatus to Securely Process Streams of Data of Storage Devices of Private Enterprise Clouds in Batch from the Public Cloud
US20140351920A1 (en) * 2013-05-24 2014-11-27 Connectloud, Inc. Method and Apparatus for Dynamic Tunneling
US20150026332A1 (en) * 2013-05-26 2015-01-22 Connectloud, Inc. Method and Apparatus to Securely Process Streams of Data of Network / Storage / Compute Devices of Private Enterprise Clouds in Real-time from the Public Cloud
US20140351922A1 (en) * 2013-05-26 2014-11-27 Connectloud, Inc. Method and Apparatus for Remotely Manageable, Declaratively Configurable Data Stream Aggregator with Guaranteed Delivery for Private Cloud Compute Infrastructure
US20140351923A1 (en) * 2013-05-26 2014-11-27 Connectloud, Inc. Method and Apparatus for Remotely Manageable, Declaratively Configurable Data Stream Aggregator with Guaranteed Delivery for Private Cloud Compute Infrastructure
US20140351921A1 (en) * 2013-05-26 2014-11-27 Connectloud, Inc. Method and Apparatus for Remotely Manageable, Declaratively Configurable Data Stream Aggregator with Guaranteed Delivery for Private Cloud Compute Infrastructure
US9300690B2 (en) * 2013-07-03 2016-03-29 Red Hat, Inc. Secure network labeling to control inter-process communications in a multi-tenant platform-as-a-service (PaaS) system
US9843512B2 (en) * 2013-08-27 2017-12-12 Oracle International Corporation System and method for controlling a data flow in an engineered system for middleware and application execution
US20150067789A1 (en) * 2013-08-27 2015-03-05 Connectloud, Inc. Method and apparatus to provide a network software defined cloud with capacity to prevent tenant access to network control plane through software defined networks
US20150066759A1 (en) * 2013-08-27 2015-03-05 Connectloud, Inc. METHOD AND APPARATUS FOR GAUGING NETWORK TRAFFIC FLOW FOR SOFTWARE DEFINED NETWORKS WITHIN A SOFTWARE DEFINED CLOUDd
US20150067809A1 (en) * 2013-08-27 2015-03-05 Connectloud, Inc. User identity authentication and single sign on for multitenant environment
US9397946B1 (en) * 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
US9942265B2 (en) * 2014-01-06 2018-04-10 International Business Machines Corporation Preventing application-level denial-of-service in a multi-tenant system
US20150363219A1 (en) * 2014-03-14 2015-12-17 Avni Networks Inc. Optimization to create a highly scalable virtual netork service/application using commodity hardware
US9553850B2 (en) * 2014-06-30 2017-01-24 International Business Machines Corporation Multi-tenant secure separation of data in a cloud-based application
US9756135B2 (en) * 2014-07-31 2017-09-05 Ca, Inc. Accessing network services from external networks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281277A (ja) * 2002-03-19 2003-10-03 Kazuteru Ono 医療データベースプロバイド方法、およびシステム
CN1553380A (zh) * 2003-05-27 2004-12-08 鸿富锦精密工业(深圳)有限公司 数据库使用权限控制系统及方法
CN101499061A (zh) * 2008-01-30 2009-08-05 国际商业机器公司 面向多租户的数据库引擎及其数据访问方法
US20100037309A1 (en) * 2008-08-07 2010-02-11 Anthony Dargis Method and apparatus for providing security in an intranet network
JP5395833B2 (ja) * 2011-03-14 2014-01-22 株式会社東芝 仮想ネットワークシステム及び仮想通信制御方法
US20120284786A1 (en) * 2011-05-05 2012-11-08 Visto Corporation System and method for providing access credentials
CN103761299A (zh) * 2014-01-16 2014-04-30 西北工业大学 一种跨智能空间的情境查询方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542590A (zh) * 2018-11-28 2019-03-29 上海酷栈科技有限公司 Docker集群多租户下虚拟Socket通信的方法
CN109542590B (zh) * 2018-11-28 2022-12-20 上海酷栈科技有限公司 Docker集群多租户下虚拟Socket通信的方法
CN112565158A (zh) * 2019-09-25 2021-03-26 阿里巴巴集团控股有限公司 数据访问方法、装置、系统、电子设备及计算机可读介质
CN112565158B (zh) * 2019-09-25 2022-10-04 阿里巴巴集团控股有限公司 数据访问方法、装置、系统、电子设备及计算机可读介质
US11863520B2 (en) 2019-09-25 2024-01-02 Alibaba Group Holding Limited Data access methods and systems
CN111163130A (zh) * 2019-12-06 2020-05-15 深圳智链物联科技有限公司 一种网络服务系统及其数据传输方法
CN111163130B (zh) * 2019-12-06 2022-08-23 深圳智链物联科技有限公司 一种网络服务系统及其数据传输方法
CN113377784A (zh) * 2021-08-13 2021-09-10 成都市维思凡科技有限公司 一种基于中间件的数据处理方法、系统和存储介质
CN113377784B (zh) * 2021-08-13 2021-12-03 成都市维思凡科技有限公司 一种基于中间件的数据处理方法、系统和存储介质

Also Published As

Publication number Publication date
JP6581651B2 (ja) 2019-09-25
US9723009B2 (en) 2017-08-01
KR102318338B1 (ko) 2021-10-28
US20160072817A1 (en) 2016-03-10
JP2017528832A (ja) 2017-09-28
WO2016040485A1 (en) 2016-03-17
US9723008B2 (en) 2017-08-01
US9888010B2 (en) 2018-02-06
US20160072816A1 (en) 2016-03-10
KR20170051486A (ko) 2017-05-11
EP3192230A1 (en) 2017-07-19
EP3192230B1 (en) 2018-11-07
CN107079003B (zh) 2020-07-28
US20170302673A1 (en) 2017-10-19

Similar Documents

Publication Publication Date Title
CN107079003A (zh) 在多租户环境中提供用于安全网络通信的集成防火墙的系统和方法
CN110582997B (zh) 协调提供商网络环境中的区域间操作
EP4183120B1 (en) Interface-based acls in an layer-2 network
CN104205051B (zh) 用于虚拟机的移动处理的方法和装置
EP2569902B1 (en) Interconnecting members of a virtual network
CN103250392B (zh) 计算机系统、控制器和网络监视方法
JP2020162146A (ja) 仮想ネットワークにおける分散型フロー状態p2p設定のためのシステムおよび方法
CN105637822B (zh) 用于提供数据服务的系统、设备和方法
TWI583151B (zh) 實施及管理虛擬網路的系統與方法
US10063544B2 (en) System and method for supporting consistent handling of internal ID spaces for different partitions in an infiniband (IB) network
CN105814554A (zh) 虚拟网络中基于身份和访问管理的访问控制
CN105049412B (zh) 一种不同网络间数据安全交换方法、装置及设备
CN109863720A (zh) 网络控制系统到公共云中的扩展
US10771309B1 (en) Border gateway protocol routing configuration
WO2014089052A1 (en) Systems and methods for protecting an identity in network communications
CN106850324A (zh) 虚拟网络接口对象
CN105224385A (zh) 一种基于云计算的虚拟化系统及方法
CN110226155A (zh) 在主机上收集和处理上下文属性
CN105490995A (zh) 一种在nvo3网络中nve转发报文的方法和设备
US10469529B2 (en) Address checking to protect against denial of service attack
Kang et al. Defense technique against spoofing attacks using reliable ARP table in cloud computing environment

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