首页> 中国专利> 用于支持在云中的安全应用部署的系统和方法

用于支持在云中的安全应用部署的系统和方法

摘要

一种在因特网云中安全地部署软件应用的方法,包括:识别(42)软件应用的使用安全数据的那些方面以及该应用的使用非安全数据的那些方面;将安全数据部署(43)在无法通过因特网而公共地访问的一个或多个安全服务器上;以及将非安全数据部署(45)在可通过因特网而公共地获得的一个或多个云服务器上,其中通过使用仅访问计算结果的安全连接来管理安全服务器与云服务器之间的通信。

著录项

  • 公开/公告号CN104067265A

    专利类型发明专利

  • 公开/公告日2014-09-24

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201380006426.1

  • 发明设计人 A.赛勒;S.萨赫;H.谢克;

    申请日2013-01-23

  • 分类号G06F15/173;

  • 代理机构北京市柳沈律师事务所;

  • 代理人安之斐

  • 地址 美国纽约阿芒克

  • 入库时间 2023-12-17 02:04:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-10-26

    授权

    授权

  • 2014-10-22

    实质审查的生效 IPC(主分类):G06F15/173 申请日:20130123

    实质审查的生效

  • 2014-09-24

    公开

    公开

说明书

技术领域

本公开涉及云计算环境中的软件应用管理。

背景技术

云基础架构服务,也被称为基础架构即服务(IaaS),与原始(块)存储 和网络一起交付计算机基础架构特别是平台虚拟化环境作为服务。客户以完 全外包服务的方式获得服务器、软件、数据中心空间或网络设备,而不是购 买这些资源。由云计算支持的强大的抽象是通过虚拟化底层物理资源的资源 级抽象(resource level abstraction)。在这种范例中,用户免除了拥有和管理 物理计算资源的麻烦。相反,用户可通过使用提供者所公开的API来从云提 供者请求计算服务。一个这样的实例是Amazon的EC2,通过Amazon的EC2, 用户可获得对所需的计算资源的访问。由于云提供者提供一组诸如服务器 /CPU、存储和网络带宽之类的虚拟资源,所以用户不对物理资源有任何控制 权。在这样的计算模式中,需要用户准备虚拟镜像(image),该虚拟镜像将主 管被称为虚拟设备的应用。这种模式的益处在于用户意识不到底层物理计算 资源并且不需要管理该物理资源。用户的焦点在于在这些虚拟资源上管理应 用。由于共享由虚拟化技术所分割的公共物理资源组,所以云提供者能够显 著降低计算资源的成本。然而,由于对将敏感数据移至云的担忧,所以企业 客户关于云计算的主要的担心出现了。这种担忧可阻止企业将应用移至云。 此外,若干审计和一致性监管策略妨碍众多应用利用云计算环境的益处。

发明内容

如本文所述的本发明的示例性实施例通常包括用于支持在云环境中的这 种应用部署同时允许企业客户利用云环境的优点的方法和系统。

根据本发明的一个方面,提供一种在因特网云中安全地部署软件应用的 方法,包括:识别软件应用的使用安全数据的那些方面以及该应用的使用非 安全数据的那些方面;将所述安全数据部署在无法通过所述因特网而公共地 访问的一个或多个安全服务器上;以及将非安全数据部署在可通过所述因特 网而公共地获得的一个或多个云服务器上,其中通过使用仅访问计算结果的 安全连接来管理所述安全服务器与所述云服务器之间的通信。

根据本发明的再一方面,所述方法包括将交付点终端与所述应用的所述 安全数据相关联,以管理所述安全数据。

根据本发明的再一方面,所述方法包括提供访问策略,用以当应用事件 访问安全数据时生成异常,其中访问安全数据的所述事件,由与所述应用的 所述安全数据相关联的所述交付点终端来管理。

根据本发明的再一方面,所述方法包括对所述应用进行概要分析,以识 别所述应用的使用安全数据的那些方面以及所述应用的使用非安全数据的那 些方面,其中应用概要分析器生成已注解的图,所述已注解的图指示哪些应 用组件需要被部署在所述一个或多个安全服务器上。

根据本发明的再一方面,所述方法包括将需要访问安全数据的任何其它 应用或应用组件部署于所述安全服务器。

根据本发明的另一方面,提供一种非暂时性的计算机可读的程序存储装 置,明确实现由所述计算机运行的程序指令以执行用于在因特网云中安全地 部署软件应用的方法步骤。

附图说明

图1表示根据本发明一实施例的云计算节点;

图2表示根据本发明一实施例的云计算环境;

图3表示根据本发明一实施例的抽象模型层;

图4是根据本发明的实施例的、用于支持在云中进行安全应用部署的方 法的流程图。

具体实施方式

首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的 技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的 任何其它类型的计算环境而实现。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、 按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者 进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、 服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至 少五个特征、至少三个服务模型和至少四个部署模型。

特征包括:

按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况 下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。

广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准 机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、 膝上型电脑、个人数字助理PDA)对云的使用。

资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant) 模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配 和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确 切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因 此具有位置无关性。

迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实 现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用 计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。

可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽 和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。 可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明 度。

服务模型如下:

软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运 行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子 邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置 外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单 个应用能力等的底层云基础架构。

平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创 建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消 费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架 构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。

基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署 并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算 资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储 和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具 有有限的控制权。

部署模型如下:

私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或 第三方管理并且可以存在于该组织内部或外部。

共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任 务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同 体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。

公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥 有。

混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或 公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植 的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技 术)绑定在一起。

云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和 语意的互操作性。云计算的核心是包含互连节点网络的基础架构。

现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算 节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和 使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以 上所述的任何功能。

云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用 计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一 起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、 服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器 的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑ 大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。

计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指 令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定 的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、 数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设 备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块 可以位于包括存储设备的本地或远程计算系统存储介质上。

如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备 的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多 个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存 储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器 控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意 总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系 结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频 电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质 可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性 和非易失性介质,可移动的和不可移动的介质。

系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如 随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12 可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介 质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图 1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可 移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失 性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在 这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相 连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少 一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存 储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用 程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能 包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能 和/或方法。

计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指 向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系 统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一 个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等) 通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/ 服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网 (LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示, 网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当 明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器 12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁 盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算 环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者 多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动 电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计 算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同 体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点 10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算 设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平 台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计 算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任 意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏 览器)通信。

现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象 层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发 明的实施例不限于此。如图3所示,提供下列层和对应功能:

硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例 如系统;基于RISC(精简指令集计算机)体系结构的服务器, 例如IBM系统;IBM系统;IBM系统;存储设 备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM 应用服务器软件;数据库软件,例如IBM数据库软件。 (IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业 机器公司在全世界各地的注册商标)。

虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服 务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以 及虚拟客户端。

在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于 在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功 能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。 在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和 任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者 和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资 源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履 行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。

工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提 供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管 理;虚拟教室的教学提供;数据分析处理;交易处理。

根据本发明的实施例,企业客户可通过如下方式来利用云资源:所述方 式为通过选择性地迁移应用并在客户方(premises)自身内选择那些使用安全 数据的应用,并且更新云管理中心配置使得这些分域(divided domain)作为 单个云应用而无缝管理。该部署由模块化云设计所提供的底层机制来促进。 客户识别客户服务的使用安全数据的部分并且在客户方自身内保持该服务部 分。尽管该服务部分托管在客户方,但是该服务部分仍然是通过对云管理中 心的配置进行管理所支持的全部云应用的一部分。由客户所识别的安全数据 被标记,策略被插入到应用服务器软件中,所述应用服务器软件协调客户与 其数据的交互以便当访问安全数据时生成异常,从而调用安全处理程序以服 务于安全数据交易。

在将应用迁移至混合云结构期间所包含的步骤可如下所示。(1)识别使 用安全数据的那些服务方面。全部服务现在分成两个域:安全域和云域。(2) 将用于安全域的基础架构托管在客户方内。(3)将云域托管在云基础架构中。 (4)通过使用仅访问计算结果的安全连接来管理安全域与云域之间的通信。 (5)云管理中心凭借模块化支持来管理安全域和云域。

根据本发明的实施方式,可使用基于交付点(point-of-delivery,POD)的 云结构来配合混合云结构。每个企业均可部署自己的POD以处理安全应用和 数据,并且将该POD加入到云操作中心(COC),所述云操作中心起到针对 用户客户端的应用服务器的作用。然后,可对安全数据以及与具有安全问题 (with security concerns)的应用进行管理并部署在所述安全POD上,同时可 将应用的那些非安全的部分托管在云的公共部分上。这些分割的应用可使用 适当定义的API进行通信。

在实现这种混合云结构时所面临的挑战包括为客户POD和公共POD的 无缝管理设计控制和管理平台、以及设计并分割(split)应用管理。在用于 促进私有云和公共云混合的基于POD的结构中,可对COC进行配置以既管 理客户方的私有POD又管理可通过因特网访问的公共POD。可对COC进行 适当地配置,以将对安全应用的请求路由并分配至私有POD,并管理其它功 能以促进私有云与公共云之间的通信。

在分割应用拓扑(split application topology)中,企业客户可识别其需要 在私有POD中的应用部署的部分。接口可用作应用的安全部分与非安全部分 之间的边界。对安全应用的请求可被发送至COC以用于在私有POD上部署 和管理,以便所需的安全数据从不穿过客户边界。

对于通过使用POD的部署的选项包括分割应用拓扑,使得接触数据或与 数据相关的应用的任何组件均托管在私有POD中,或者包括将数据访问或计 算限制在私有云中同时将其它应用组件托管在公共云上,在所述公共云上, 分割的组件通过接口边界来通信。

对于分割应用的选项包括以功能级别分割应用、分割中间的基础架构 (middle infrastructure)、以及分割平台基础架构。根据本发明的实施例,以 最高级别的粒度(granularity),将应用分割为安全组件和非安全组件。

在将应用分割为安全组件和非安全组件时至少有两个挑战。一个挑战是 确定应用中哪些组件应当被保持在客户方的内部,以便解决所有的安全问题。 另一个挑战涉及在应用中的安全组件与非安全组件之间提供无缝通信。第二 个问题可由模块化云设计概念解决,所述模块化云设计概念例如在同时待审 申请YOR8-2009-0439“用于构建模块化云的方法和设备”中所公开的模块化云 设计概念。

关于第一个挑战,对于分割确定的关键问题是接触安全数据的或者须传 送被认为是安全的数据的应用的任何组件须被托管在私有云或被指定为安全 的云上的基础架构上。

根据本发明的实施例,可使用最佳实践的方法。最佳实践是通常由应用 提供者所开发的企业应用部署指南。一种方法是将应用组件中那些访问被标 记为安全的数据库的组件标记并指定为“仅安全”。安全组件和非安全组件分 别被移至私有云和公共云。通过在基于POD的结构中已建立的通信信道来促 进数据通信。

根据本发明的另一实施例,用户可将应用组件和数据源标记为安全和非 安全。

根据本发明的另一实施例,可使用自动概要分析(automated profiling) 来在应用和应用组件中跟踪数据流,以确定所述应用或应用组件中的哪些应 当被标记为安全和非安全。在该情形中,对应用图(application graph)进行 注解,以找出需要被安全地部署的那些组件。已注解的图将指示哪些组件需 要部署在安全云上。诸如Hewlett Packard的eConfigure之类的商业上可获得的 软件程序可使用这种模型以定义部署计划。

这些方法基于对安全数据的直接依赖而提供了分割。由于依赖于这些应 用的其它应用可将数据暴露于公共云,所以可获得依赖性,因此也应当将这 些应用标记为安全。根据本发明的实施例的用于所述已获得的依赖性的算法 是:(1)将标记为安全的组件置于安全的POD上;(2)应当将需要访问但却 又无法访问安全的POD中的组件的任何组件置于安全的POD中;以及(3)重 复步骤(2)直到所有这样的要求得以解决。

然而,应当理解的是,POD结构仅是用于促进上文对安全组件和非安全 组件的分割的一种实现方式,并且本发明的其它实施例并不限于基于POD的 设计。根据本发明的其它实施例的方法可利用私有云平台和公共云平台的其 它组合,或者可利用安全云组件和非安全云组件的更一般的其它组合,其中 敏感数据以及访问这种数据的应用被保持并被限制于安全云。在安全组件与 非安全组件之间的管理控制和通信可由那些云中的各个已得到支持的设计来 促进。

图4是根据本发明的实施例的、用于在因特网云中安全地部署软件应用的 方法的流程图。现在参照该图,根据本发明的实施例的方法在步骤41处开始, 步骤41通过对应用进行概要分析以生成已注解的组件图,从而识别应用的使 用安全数据的那些方面以及该应用的使用非安全数据的那些方面。在步骤 S42,使用已注解的组件图来识别应用的使用安全数据的那些方面以及该应用 的使用非安全数据的那些方面。在步骤43,将安全数据部署在无法通过因特 网公共地访问的一个或多个安全服务器上,并且将交付点(POD)终端 (terminal)与应用的安全数据相关联以便管理安全数据。此外,将需要访问 安全数据的任何其它应用或应用组件部署于安全服务器。在步骤44,提供一 种访问策略,用以当应用事件访问安全数据时生成异常。访问安全数据的所 述事件,将由与应用的安全数据相关联的交付点终端管理。在步骤45,将非 安全数据部署在一个或多个可公共地获得的因特网云服务器上。通过使用仅 访问计算结果的安全连接来管理在安全服务器与云服务器之间的通信。

尽管已经参照附图详细描述了本发明的示例性实施例,然而本领域技术 人员将理解的是,在不脱离所附权利要求所阐述的本发明的实施例的精神和 范围的情况下,可以对本发明进行各种修改和替换。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号