CN109716296A - 通过相关联容器的应用令牌 - Google Patents
通过相关联容器的应用令牌 Download PDFInfo
- Publication number
- CN109716296A CN109716296A CN201780057776.9A CN201780057776A CN109716296A CN 109716296 A CN109716296 A CN 109716296A CN 201780057776 A CN201780057776 A CN 201780057776A CN 109716296 A CN109716296 A CN 109716296A
- Authority
- CN
- China
- Prior art keywords
- token
- application
- assistant
- container
- main application
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6281—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2129—Authenticate client device independently of the user
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
一种实现使用应用令牌来管理对虚拟化平台内的资源的访问的容器管理器的方法和系统。应用令牌包括识别主应用的信息,该信息可用于管理对用于主应用的资源的访问。该方法包括生成用于主应用的应用令牌,其中主应用位于第一容器中。该方法进一步实例化应用助手和用于应用助手的第二容器,并向应用助手提供应用令牌以代表主应用进行管理。
Description
相关申请的交叉引用
本申请要求2016年9月21日提交的美国临时申请No.62/397,846的权益,该申请通过引用结合于此。
技术领域
本发明的实施例涉及在虚拟化执行环境中安全执行应用的领域;更具体地,涉及授权应用采用专门发给应用的令牌安全地访问应用程序编程接口。
背景技术
计算系统领域中的虚拟化是计算系统的某些方面的虚拟(而非物理)表示的创建。操作系统级虚拟化是虚拟化的示例,其中服务器经常被虚拟化以在服务器群、数据中心、云计算或类似的分布式计算系统中提供更安全的主机环境。操作系统级虚拟化可以安全地管理一组用户中的固定物理计算系统资源。这些用户可能来自竞争实体,并且因此需要具有安全的执行环境以防止其他用户获得我们对他们的程序的干扰的访问。虚拟化可以被构造为将一组独立的操作环境管理为容器、虚拟化引擎或类似实例的平台。该平台管理该组操作环境中的物理计算系统资源。这些实例中的每一个可以经由包括安全应用程序编程接口(API)的一组接口来访问或请求资源。
通常,安全API要求向平台发出请求或呼叫的用户在平台允许呼叫请求继续之前执行认证过程。该认证过程通常通过使用在单用户登录的上下文中使用的会话令牌来完成。用户将认证他/她自己并且由于成功认证而接收会话令牌。然后,会话令牌可用于调用安全API,作为用户有权继续进行的指示。
当用户手动与要求认证的API交互时,该用于认证的系统工作良好,但是在自动化实体(诸如应用程序或类似程序)的上下文中表现出问题:试图对安全API执行类似的调用。由于API要求调用者诸如采用用户名和密码直接进行认证,依赖于用户认证的应用将被要求在内部存储用户的证书或通过另一种自动化方式获得它们,这两种方式都不被认为是用户证书的安全处理。
使用令牌代替用户证书可以消除在应用代码中包含用户证书的需要。然而,为了获得令牌,由于令牌发布协议的要求,应用仍然需要自我认证,这需要用户的直接干预或在应用中包括证书。通常通过与应用共享用户令牌来解决该问题。用户将认证自己,获得令牌,并且然后与应用共享其用户令牌。然而,这使应用可以完全访问用户已经访问的所有资源和数据,并进一步破坏系统的安全性,因为用户令牌可以转移到用户不知道的另一实体。因此,为应用提供用户令牌会带来离散的安全风险。
另外,向应用提供用户令牌要求应用被配置或编程为专门处理用户令牌以向安全平台接口发出请求并使用用户令牌执行类似操作。因此,对于要求投资以将每个应用配置为兼容的应用来说,对用户令牌的处理是不透明的。每个应用可以不同地处理令牌,并且这可能增加平台操作的复杂性和成本。
发明内容
在一个实施例中,容器管理器的方法使用应用令牌来管理对虚拟化平台内的资源的访问。应用令牌包括识别主应用的信息,该信息可用于管理对用于主应用的资源的访问。该方法包括生成用于主应用的应用令牌,其中主应用位于第一容器中。该方法进一步实例化应用助手和用于应用助手的第二容器,并向应用助手提供应用令牌以代表主应用进行管理。
在另一实施例中,计算系统被配置为实现用于容器管理器使用应用令牌来管理对虚拟化平台内的资源的访问的方法。该计算系统包括非暂态机器可读介质,在其中存储有容器管理器;以及处理器。处理器耦接到非暂态机器可读介质。处理器被配置为执行容器管理器。容器管理器生成用于主应用的应用令牌,其中主应用位于第一容器中,实例化应用助手和用于应用助手的第二容器,并向应用助手提供应用令牌以代表主应用进行管理。
在一个实施例中,应用助手的方法使用应用令牌来辅助主应用访问虚拟化平台内的资源。应用助手的方法包括从主应用接收应用程序编程接口(API)请求,将主应用的应用令牌插入API请求中,以及向API服务器发送具有应用令牌的API请求。
在另一实施例中,计算系统被配置为实现用于应用助手使用应用令牌辅助主应用访问虚拟化平台内的资源的方法。该计算系统包括其中存储有应用助手的非暂态机器可读介质,以及处理器。处理器耦接到非暂态机器可读介质。处理器被配置为执行应用助手。应用助手从主应用接收API请求,将主应用的应用令牌插入API请求中,并向API服务器发送具有应用令牌的API请求。
附图说明
通过参考用于说明本发明实施例的以下描述和附图,可以最好地理解本发明。在附图中:
图1A和图1B是用作用于虚拟化执行环境的一组服务器主机的计算设备的网络的一个实施例的图。
图2是用于应用令牌生成和安装的过程的一个实施例的图。
图3是容器管理器生成应用令牌的过程的一个实施例的流程图。
图4是由应用助手进行应用令牌管理的过程的一个实施例的图。
图5是容器管理器建立容器、应用助手和应用令牌的过程的一个实施例的流程图。
图6是应用助手处理来自相关联应用对安全平台接口的请求的过程的一个实施例的流程图。
具体实施方式
以下描述详述了用于生成和管理应用令牌的方法和装置。应用令牌的使用取代了应用使用用户证书的需要或用户向应用提供调用者令牌的需要。实施例通过发布特定于应用的令牌来避免与应用共享用户证书的需要。令牌包含唯一识别应用的信息。然后,应用的授权集可以针对应用确定并且可以基于用户的授权集和/或平台策略。在请求实体具有必要授权的情况下发出应用令牌。请求实体可以是用户或其它应用。然后,应用可以使用应用令牌代替用户证书。
进一步的实施例提供了用于管理应用令牌的过程和系统。在许多情况下,希望使应用令牌用途对于发布它的应用尽可能透明。这使得能够使用现有应用而无需修改应用令牌的使用和管理。此外,该过程和系统标准化跨应用的应用令牌的处理,使得该平台不必支持各种不同的应用令牌处理方法和系统。实施例提供应用助手,该应用助手接收应用令牌,拦截来自相关联应用的对安全平台接口的请求,并向平台提供具有请求的应用令牌。此外,应用助手可以代表应用管理应用令牌的更新。
在以下描述中,阐述了许多具体细节,诸如逻辑实现、操作码、指定操作数的装置、资源划分/共享/复制实现、系统组件的类型和相互关系,以及逻辑划分/集成选择,以便提供对本发明更多的彻底了解。然而,本领域技术人员将理解,可以在没有这些具体细节的情况下实践本发明。在其它情况下,没有详细示出控制结构、门级电路和完整软件指令序列,以免模糊本发明。通过所包括的描述,本领域普通技术人员将能够实现适当的功能而无需过多的实验。
说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以不必包括特定特征、结构或特性。而且,这些短语不一定是指同一实施例。此外,当结合实施例描述特定特征、结构或特性时,提出无论是否明确描述,结合其它实施例影响这些特征、结构或特性在本领域技术人员的知识范围内。
带有虚线边框(例如,大虚线、小虚线、点划线和点)的带括号的文本和框可以在此用于说明向本发明的实施例添加附加特征的可选操作。然而,这种符号不应被理解为这些是唯一的选项或可选操作,和/或具有实线边界的框在本发明的某些实施例中不是可选的。
在以下描述和权利要求中,可以使用术语“耦接”和“连接”以及它们的派生词。应该理解,这些术语并不旨在作为彼此的同义词。“耦接”用于指示两个或更多个元件,它们可以或可以不彼此直接物理或电接触、彼此协作或相互作用。“连接”用于指示在彼此耦接的两个或更多个元件之间建立通信。
电子设备使用机器可读介质(也称为计算机可读介质)存储和发送(在内部和/或通过网络与其它电子设备)代码(由软件指令组成,并且有时称为计算机程序代码或计算机程序)和/或数据,该机器可读介质诸如:机器可读存储介质(例如,磁盘、光盘、只读存储器(ROM)、闪存设备、相变存储器)和机器可读传输介质(也称为载体)(例如,电、光、无线电、声学或其它形式的传播信号-诸如载波、红外信号)。因此,电子设备(例如,计算机)包括硬件和软件,诸如一组一个或多个处理器,其耦接到一个或多个机器可读存储介质以存储用于在该组处理器上执行的代码和/或存储数据。例如,电子设备可以包括包含代码的非易失性存储器,因为即使当电子设备被关闭时(当电源被移除时),非易失性存储器也可以保持代码/数据,并且当电子设备被打开时,通常将由该电子设备的处理器执行的代码的该部分从较慢的非易失性存储器复制到该电子设备的易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))中。典型的电子设备还包括一组或一个或多个物理网络接口,以与其它电子设备建立网络连接(以使用传播信号发送和/或接收代码和/或数据)。可以使用软件、固件和/或硬件的不同组合来实现本发明的实施例的一个或多个部分。
网络设备(ND)是通信地互连网络上的其它电子设备(例如,其它网络设备、终端用户设备)的电子设备。一些网络设备是“多服务网络设备”,其提供对多个网络功能(例如,路由、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)的支持,和/或提供对多种应用服务(例如,数据、语音和视频)的支持。
令牌是一种安全证书,该安全证书是紧凑的并且是用于以电子方式安全地证明某人标识的独立方式。有效负载可以包含有关认证的用户、已过期和附加声明的信息。
用户令牌是发给用户的令牌,并且包含识别相应用户的信息。
应用令牌是发给应用的令牌。它具有识别发布它的应用的信息。
平台是对技术的抽象,这些技术由资源组成,该资源可以根据需要用于为服务和应用提供基础。
容器是操作环境的虚拟化,其允许在资源分离的进程中运行应用及其依赖项。
安全接口是分隔计算机系统组件的边界,允许在对请求者进行认证和验证之后进行信息交换。授权可以在安全接口处或之后发生,例如作为调用功能的一部分。
现有技术依赖于向需要访问平台的安全接口的应用提供用户令牌。然而,与应用共享用户令牌被认为是一种不良做法和潜在的安全风险。令牌可能不会,并且通常不包含用于包括令牌的请求的接收者的足够信息,诸如证明令牌实际上来自令牌所代表的实体的应用程序编程接口(API)调用。换句话说,简单拥有令牌被认为足以认证请求的发送者或API调用者。令牌的任何拥有者将能够进行经过认证的请求,诸如包括对安全接口的API调用的API调用,诸如虚拟化平台的安全API接口。
允许应用拥有用户令牌会导致用户失去对其经过认证的令牌的独占控制。用户不再单独拥有其令牌,并且无法控制是否/何时由应用持有的令牌将被使用或共享。如果应用将令牌呈现给错误的一方,输出可读的核心转储或允许另一个用户的读取权限,则令牌可能被泄露。类似地,具有用户令牌的应用具有与用户相同的授权集。换句话说,应用具有用户所拥有的所有权限。在用户想为应用提供更少的授权集的情况下,这可能并不理想。此外,接收用户令牌的应用不得不被设计和实现为采取明确的动作来处理、管理和使用用户令牌。这需要实现特定的代码,该代码将知道并保护用户令牌并且知道如何以及何时使用用户令牌。
实施例通过生成和管理应用令牌来克服现有技术的问题。由于与应用共享用户令牌或用户证书(例如,用户名/密码)是不利的,因此该实施例向应用本身发出单独的令牌。该令牌不是为用户创建的,而是专门为应用创建的。应用令牌包含唯一识别应用的信息。包括在容器中运行的应用。在一些实施例中,基于生成应用令牌的调用者或用户的授权集来确定应用令牌的授权集。实施例确定是否存在足够的权限来启动应用(包括在容器应用中的虚拟化平台中),并且然后生成用于容器应用的应用令牌。换句话说,如果请求应用令牌的实体具有足够的权限,则仅为容器应用发出应用令牌。容器应用的令牌识别应用,使得可以针对安全的API请求和来自容器应用的类似请求确定针对应用的授权集。
具有专门为应用创建和发布的应用令牌具有不需要由应用使用用户令牌的优点,从而使用户能够保持对其令牌的控制并且能够准确地审计每个令牌的使用(即,保留跟踪哪个令牌请求或被用于执行动作,并且从而跟踪哪个调用者/用户请求或被用于执行动作的能力)。此外,应用令牌允许定义单独的授权集,该授权集确定许可容器应用执行操作的程度。具体地,用于应用的授权集可以与创建应用的用户、调用者或实体所允许的授权集不同。总的来说,这提高了系统的安全性。
另外,实施例通过提供用于管理应用令牌的过程和系统来克服现有技术的限制。应用令牌被发到容器中的应用助手,而不是主应用本身。应用令牌不是为用户或请求者而生成的,而是专门为主应用创建,但是被提供给特定于主应用的应用助手。令牌仍包含针对主应用的唯一标识信息,但为了避免主应用需要令牌管理修改,应用助手代表主应用维护应用令牌。因此,主应用不需要处理或知道应用令牌。应用助手拦截来自需要应用令牌的主应用的请求,并在这些请求中插入应用令牌。此外,应用助手可以根据需要处理应用令牌的更新。
通过不要求修改主应用来处理应用令牌,应用助手的使用提供了优于现有技术的优点。因此,即使不是为处理应用令牌而设计的,该过程和系统也与应用兼容。
图1A和图1B是用作用于虚拟化执行环境的一组服务器主机的计算设备的网络的一个实施例的图。图1A和图1B提供了实现虚拟化平台的一组计算设备的一个示例。在其它实施例中,平台可以由具有任何硬件配置的单个计算设备来实现,而在进一步的实施例中,虚拟化平台的组件可以以如本领域技术人员将理解的其它组合和排列分布。在示例实施例中,计算设备(主机1-N)通过局域网(在该示例中为L3网络)彼此连接。在其它实施例中,计算设备可以通过任何类型的网络、互连或通信系统来连接。
计算设备(主机1-N)可以具有类似或变化的计算资源,包括不同的处理能力、存储能力和类似的物理硬件差异。尽管主要根据被用作主机的物理计算设备来讨论示例,但是本领域技术人员将理解,虚拟化的额外级别是可能的,使得平台可以在一组虚拟主机上执行。为清楚起见,将主机作为物理计算设备进行讨论。
每个计算设备包括硬件105,该硬件105包括一组一个或多个处理器111(可以是任何类型的通用应用专用处理器)、网络接口控制器(NIC;也称为网络接口卡)(包括物理和虚拟接口)、其中存储有软件(包括实现在此所述实施例的软件)的非暂态机器可读存储介质113,以及类似的组件。在操作期间,处理器111执行软件以实例化平台103,该平台103包括任何数量的组成组件,诸如实例管理器107、容器管理器109、应用程序编程接口(API)121和类似组件,以及一组或多组一个或多个应用。实施例可以使用不同形式的虚拟化。例如,在一个实施例中,虚拟化平台可以包含操作系统的内核(或在基本操作系统上执行的垫片(shim)),其允许创建称为软件容器的多个实例或者如在此所使用的简单的“容器”101,每个可用于执行由平台支持的一组(或多组)应用,其中多个容器101(也称为虚拟化引擎、虚拟专用服务器或jail)是用户空间(通常是虚拟存储空间),该用户空间彼此分离并与运行操作系统的内核空间分离;以及其中,除非明确允许,否则在给定容器或用户空间中运行的一组应用不能访问其它容器或进程的存储器。在另一个实施例中,虚拟化平台包括管理程序(有时称为虚拟机监视器(VMM))或在主机操作系统之上执行的管理程序,并且每组应用都在称为虚拟机(在管理程序之上运行)的实例内的客户操作系统之上运行(在一些情况下可能被认为是一种紧密隔离形式的软件容器)-客户操作系统和应用可能不知道它们在虚拟机上运行而不是在“裸金属”主机电子设备上运行,或者通过半虚拟化,操作系统和/或应用可能意识到存在虚拟化以用于优化目的。在进一步的实施例中,一个、一些或所有应用被实现为单核,其可以通过直接用应用仅编译有限的一组库(例如,来自包括OS服务的驱动器/库的库操作系统(LibOS)来生成,该库提供由应用所需的特定OS服务。由于unikernel可以被实现为直接在硬件105上,直接在管理程序上运行(在这种情况下,unikernel有时被描述为在LibOS虚拟机内运行),或者在软件容器中运行,实施例可以完全被实现为,unikernel直接运行在由虚拟化平台103表示的管理程序上,unikernel在由实例101表示的软件容器内运行,或者作为unikernel和上述技术的组合(例如,unikernel和虚拟机二者都直接在管理程序、unikernel和在不同的软件容器中运行的多组应用上运行)。
虽然参考与一个VNE`A60A-R对应的容器101来说明本发明的实施例,但是替代实施例可以以更精细的级别粒度实现该对应关系(例如,线卡虚拟机虚拟化线卡,控制卡虚拟机虚拟化控制卡等);应当理解,在此参考实例`A62A-R与VNE的对应关系描述的技术也适用于使用这种更精细级别的粒度和/或unikernel的实施例。
在某些实施例中,虚拟化平台包括虚拟交换机,其提供与物理以太网交换机类似的转发服务。具体地,该虚拟交换机在容器101或实例与NIC之间以及可选地在容器101或实例之间转发业务;此外,该虚拟交换机可以强制平台的各个组件之间的网络隔离,通过策略这些组件不允许彼此通信(例如,通过遵从虚拟局域网(VLAN))。
在一些实施例中,主机1-N可以经由虚拟网络进行通信,该虚拟网络是提供网络服务(例如,L2和/或L3服务)的物理网络的逻辑抽象。虚拟网络可以被实现为覆盖网络(有时称为网络虚拟化覆盖),其提供底层网络(例如,L3网络,诸如使用隧道(例如,通用路由封装(GRE)、第2层隧道协议(L2TP)、IPSec)来创建重叠网络的因特网协议(IP)网络)上的网络服务(例如,第2层(L2,数据链路层)和/或第3层(L3,网络层)服务)。
如上所述,虚拟化平台103可以包括各种组件,包括实例管理器107、容器管理器109、各种API 121、中央控制节点115、应用认证服务器117和类似组件。该列表并非旨在穷举,而是提出了最直接受在此所述的过程和实施例影响的那些组件。这些组件可以以任何组合和排列方式分布在主机1-N的任何组合上。诸如实例管理器107的一些组件可以在每个主机上具有实例,而诸如应用认证服务器117的其它组件可以仅存在于主机的子集中。
实例管理器107可以负责在平台中生成进程和作业。实例管理器107可以促进应用和容器的实例化。容器管理器109管理用于平台中的应用的令牌的生成,并且还可以促进容器和应用的生成。
API 121是应用、用户(例如,经由命令行界面、终端或类似接口)和类似实体用于请求包括硬件105的平台资源的一组功能。这些功能在被调用时通常被称为对API的“调用”。可以将这些API中的一些或全部视为安全API,该安全API在处理请求之前需要对请求者进行认证。认证通常与具有一组用户证书的用户的一组权限或授权集相关联,该用户证书进而可以形成或生成用户令牌。用户证书或用户令牌可以由诸如应用认证服务器117的认证服务器处理,以验证用户证书或用户令牌是有效的还是授权的。
中央控制节点115可以管理各种主机1-N的相互通信和协调,以实现平台的功能。在分发情况下的平台可以具有集中式或分布式控制组织。在集中的情况下,中央控制节点115可以管理组件和在平台的组件之间的通信。中央控制节点115可以在用于容器101的主机上实现。然而,在其它实施例中,中央控制节点115在单独的节点上执行或者远离容器101的主机执行。
该平台可以支持跨越任意数量的主机1-N以及在容器101的任何分布或组织中的任何数量的容器101。容器可以固定到特定主机或者可以由平台配置为能够跨越主机1-N的集合移动,例如用于负载平衡。容器可具有不同的用户空间大小、可访问的资源和类似的特性变化。
在此给出的算法和显示并非固有地与任何特定计算机或其它装置相关。根据在此的教导,各种通用系统可以与程序一起使用,或者可以证明构造更专用的装置以执行所需的方法交易是方便的。从上面的描述中可以看出各种这些系统所需的结构。另外,没有参考任何特定编程语言描述本发明的实施例。应当理解,可以使用各种编程语言来实现如在此所述的本发明实施例的教导。
本发明的一个实施例可以是一种制品,其中非暂态机器可读介质(诸如微电子存储器)上存储有指令,该指令对一个或多个数据处理组件(在此统称为“处理器”)进行编程以执行上述操作。在其它实施例中,这些操作中的一些操作可以由包含硬连线逻辑的特定硬件组件(例如,专用数字滤波器块和状态机)来执行。可替代地,这些操作可以由已编程的数据处理组件和固定硬连线电路组件的任何组合来执行。
图2是用于应用令牌生成和安装的过程的一个实施例的图。该图示出了基本实施例,其中用户或类似实体是调用者201,该调用者201请求应用213的启动,以及作为该过程的一部分,托管应用的容器211的创建。调用者201(使用命令行界面、控制台或容器应用的用户)先前已被认证并持有有效的认证令牌,该令牌与适当的授权一起允许调用者请求启动应用213。应用213将在创建的容器211中运行并且被发出应用令牌215,应用213可以使用该应用令牌215通过安全API 207发出请求。只有在获得调用者令牌的认证或类似授权之后才可以发布应用令牌215。
调用者令牌205,诸如用户令牌或者其中调用者是调用者的认证应用令牌的应用,不被传递到子容器211或应用213上。相反,新的应用令牌215专门为子容器应用213发布,并且仅由子容器应用213使用。新的应用令牌215包含识别为其创建容器应用213的信息。新的应用令牌215可以通过可信父实体或类似机制的签名来保护,并且因此可以验证它是从受信源发出的。因为新的应用令牌215识别应用213并且可以被验证,所以它可以用于应用213的授权。例如,新的应用令牌215可以允许应用213从平台的数据库读取或访问类似的资源,其可以与新应用令牌215的授权集合一致。这很重要,因为为特定应用令牌接收者确定了授权。因此,每个应用都可以拥有自己的授权集。
能够识别特定应用允许应用213的授权与请求启动应用213的调用者201不同。换句话说,容器应用213可以被授权执行小于、等于或大于调用者201的授权集的动作。应用令牌215还可以包含指示应用令牌215的可用性(生命周期)的过期值。一旦应用令牌215已过期,将需要为容器应用213发出新令牌,容器应用213将需要“刷新”其现有令牌,或者将不再允许容器应用213进行安全API 207请求。由于父实体209可以识别它创建的容器211及其运行的应用213,因此可以重新发布应用令牌215而无需重新认证。
该图说明了指示该过程的基本方案。调用者201经由应用、命令行界面(CLI)、控制台或类似机制请求或调用由虚拟化平台的API服务器207实现的安全API。调用或请求可以包括调用者201的用户或应用令牌205。API服务器207可以验证所接收的令牌205。在验证时,API服务器207可以与平台的其它组件协调以实例化容器211,其中应用213将被实例化。这可以与实例管理器或平台的类似组件协调。API服务器207可以进一步与容器管理器209协调以生成用于应用213的新的应用令牌215。容器管理器209确定用于应用令牌215的授权集,其可以基于调用者的令牌205的授权集、平台策略或其任何组合。例如,在一些情况下,容器管理器209可以管理用于新的应用令牌215的授权集,该新的应用令牌215是调用者的授权集的子集。更具体地,容器管理器209管理由平台管理员为每个用户和/或应用定义的授权集。容器管理器209对来自这些授权集的许可进行操作。然而,在其它情况下,平台的策略可以使得授权集至少以一些方式比调用者的授权集更宽,即,授予应用213对调用者201不可用的授权。如下文关于图4进一步讨论的,容器管理器209还可以在实例化子容器211和用于应用助手的容器中起作用。
因此,该过程的实施例代表在容器中运行的应用213创建令牌;因为平台控制容器211并启动在该容器中运行的应用213,所以应用213的标识是已知的,并且因此,平台可以确定与应用213相关联的适当授权集。签名的应用令牌215包含API服务207可用于确定应用213的标识并因此确定对应用213的授权的信息。
将参考其它附图的示例性实施例来描述流程图中的操作。然而,应该理解,流程图的操作可以由本发明的实施例执行,而不是参考其它附图所讨论的那些实施例,并且参考这些其它附图讨论的本发明的实施例可以执行不同于那些参考流程图讨论的那些实施例。
图3是容器管理器生成应用令牌的过程的一个实施例的流程图。容器管理器与API服务器和平台的类似组件协调地参与应用令牌的生成和分发。容器管理器从API服务器接收请求,以基于经验证的调用者令牌(诸如用户令牌)启动具有应用令牌的应用(框301)。API服务器可能已经验证了调用者令牌,诸如用户令牌或调用API服务器以请求API的功能的实体的令牌,该API涉及应用或类似场景的实例化,其中API服务器向容器管理器发送已认证的调用者令牌(例如,用户令牌或调用应用令牌),以及实例化应用的请求。
容器管理器实例化应用将被实例化的容器(框303)。然后在容器中实例化所请求的应用(框305)。容器管理器可以直接实例化应用,或者可以与平台的其它组件协同工作以实例化应用和容器。在容器和应用实例化或与应用的实例化并行的情况下,容器管理器可以协调应用令牌的生成(框307)。可以生成应用令牌以包括对应用唯一的任何标识信息以及用于认证的数字签名或类似信息。此外,应用令牌可以包括或绑定到授权集。容器管理器可以实施虚拟化平台的策略,因为它们与应用令牌的创建有关。策略可以定义要授予应用令牌的授权集的类型和范围。在一些示例实施例中,策略可以将授权集限制为调用者的授权集的子集。在一些实施例中,策略可以包括授权集中对调用者不允许的许可。例如,可以授权应用访问调用者未被授权直接访问的本地数据库。
一旦生成了应用令牌,则可以将应用令牌提供给容器中的应用(框309)。应用令牌可以发给特定应用,然而,在其它情况下,应用可能不直接管理应用令牌本身。在一些实施例中,应用被特别编码以接收应用令牌,并在进行API调用或请求或执行其它功能时使用应用令牌,其中,使用应用令牌来认证应用被授权在虚拟化平台内调用函数或调用。
图4是应用助手进行应用令牌管理的过程的一个实施例的图。该图示出用于处理应用令牌的管理的一个示例实施例,其中未特别修改或编码应用以处理应用令牌。因此,不需要将应用设计为与应用令牌一起工作,并且实施例提供对应用透明的解决方案。这使得该解决方案与各种应用高度兼容。
如上所述,响应于经由虚拟化平台的安全API(即,API服务器)的调用或请求而生成应用令牌。当在应用未被配置为处理和管理应用令牌的情况下生成应用令牌时,实施例提供了处理应用令牌的机制。应用令牌对于给定应用415是唯一的。当应用415试图经由API服务器或在类似情况下进行安全API请求时,应用令牌用于认证应用415并识别适用的授权集。如上所述,授权集是允许应用在虚拟化平台中调用的权限集或命令集。
在实施例中,当向应用415发布应用令牌时,在应用令牌之前或并行地创建应用助手411。应用助手411在单独的容器413中实例化,并且在应用415和应用助手411之间存在唯一的1:1关系。容器管理器401可以单独或部分地负责启动应用415、用于主应用415的容器417、应用助手411和用于应用助手411的容器413。
一旦建立了这种关系,主应用415在其容器417中运行,而应用助手411在单独的容器中单独运行。
主应用可以随时进行或发布对应用平台的安全API的调用。应用助手411被配置为在设置和建立安全API时拦截或接收这些请求。然后,在将更新的请求409转发到安全API服务器403之前,应用助手411可以将用于应用的应用令牌插入到请求中。
然后,安全API服务器403服务该请求并向应用助手411返回回复消息或类似数据,然后该应用助手411可以将所请求的信息从API服务器403传递到主应用415。任何给定回复的形式和数量可以取决于调用的调用或功能而显著地变化。此外,应用助手411可以负责处理应用令牌的更新。每个应用令牌可能包含过期值,该过期值识别应用令牌的生存期何时过期。任何具有计时或定日期的系统都可用于识别过期时间。当应用令牌过期时,需要为应用助手发出新令牌,或者对API服务器403的应用助手411请求将无法认证。当API服务器403返回失败的认证消息时,应用助手411可以确定更新的定时,或者,容器管理器401可以检查过期值并在应用令牌已过期或接近过期时更新应用令牌。
在示例实施例中,为每个主应用415生成单独的容器413和应用助手411。还可以将应用令牌管理集中在管理用于多个应用的多个应用令牌的组件中。然而,出于安全性、可伸缩性和可用性的考虑,1:1关系是有利的,其代价是增加了用于容器和应用助手开销的资源。
图5是容器管理器建立容器、应用助手和应用令牌的过程的一个实施例的流程图。在一些实施例中,容器管理器用于建立用于管理应用令牌的应用和容器的集合。因此,容器管理器的主要责任是为应用令牌方法和系统实施策略和安全性。
在从API服务器通知已经从认证的实体接收的请求时,容器管理器开始实例化所请求的应用和放置应用以供执行的容器(框501)。用于应用和容器的代码可以存储在与容器管理器通信的任何位置处,并且容器管理器负责加载、保留资源以及开始执行应用和容器。同时,即并行或几乎同时,容器管理器还为主应用生成应用令牌(框505)。应用令牌可以包含针对应用的任何唯一识别信息,其与可以由请求者指定的授权集和/或虚拟化平台的策略相关联。
然后可以实例化用于应用助手的容器(框509)。应用助手容器可以在任何点与主应用的容器并行或串行地实例化。类似地,应用助手可以在与主应用及其容器相关的任何点处在新容器中被实例化(框509)。一旦生成,应用令牌就可以被提供给应用助手(框511)以进行如下所述的处理和管理。
图6是应用助手处理对来自相关联应用的安全平台接口请求的过程的一个实施例的流程图。一旦应用助手与主应用一起实例化,则应用助手启动其功能以拦截主应用的请求并管理应用令牌的更新。该过程可以由从容器管理器接收用于相关主应用的应用令牌开始(框601)。
此时,该过程监视或等待从主应用接收安全的API调用或请求(框603)。应用助手及其容器可以被配置为位于主应用和API服务器之间,使得来自主应用的所有请求都必须遍历应用助手及其容器。然后修改所接收的请求以插入用于请求应用的应用令牌(框605)。API请求可以包括用于应用令牌的空间,或者可以改变API请求以使得能够包括应用令牌。插入后,API请求被发送到API服务器。然后,API服务器处理API请求并向应用助手发送响应(框607)。
检查来自API服务器的响应是否指示已经发生错误(框609)。换句话说,基于回复的内容确定API服务器是否能够认证应用令牌。如果响应包含用于主应用的数据,则将回复数据发送到要处理的主应用(框611)。在该情况下,应用助手可以返回监视附加API请求。
然而,如果API服务器响应识别出错误,指示应用令牌已过期或类似地无效,则该过程可以转换到更新过程以获得已更新的应用令牌。检查API服务器报告的错误是否指示应用令牌无效或已过期(框613)。如果过期不是错误的来源,则可以将包括错误数据的回复数据传递给应用以进行处理(框617)。
在应用令牌无效或已过期的情况下,应用助手请求从容器管理器更新应用令牌(框619)。可以发送任何验证信息以伴随请求,然而,容器管理器将基于虚拟化平台的策略来决定更新。一旦接收到更新的应用令牌(框615),就可以重新启动该过程以请求API服务器处理初始API请求,其中将更新的令牌插入到API请求中代替已过期或无效的令牌。本领域技术人员将理解,这些实施例是以说明而非限制的方式提供的。为了清楚地传达本发明的原理和特征,省略了本申请范围内的变化和改变。
虽然已经根据若干实施例描述了本发明,但是本领域技术人员将认识到,本发明不限于所描述的实施例,可以在所附权利要求的精神和范围内通过修改和变更来实践。因此,本说明书被认为是说明性的而非限制性的。
Claims (18)
1.一种用于容器管理器使用应用令牌来管理对虚拟化平台内的资源的访问的方法,其中,应用令牌包括识别主应用的信息,所述信息可用于管理对用于所述主应用的资源的访问,所述方法包括:
生成(307)用于所述主应用的应用令牌,其中,所述主应用位于第一容器中;
实例化(303)应用助手和用于所述应用助手的第二容器;以及
向所述应用助手提供(309)所述应用令牌以代表所述主应用进行管理。
2.根据权利要求1所述的方法,进一步包括:
启动(501)所述主应用和所述第一容器。
3.根据权利要求1所述的方法,进一步包括:
从所述应用助手接收(619)针对所述应用令牌的更新请求。
4.根据权利要求3所述的方法,进一步包括:
响应于所述更新请求,向所述应用助手发送(605)已更新的应用令牌。
5.一种计算系统,其被配置为实现用于容器管理器使用应用令牌来管理对虚拟化平台内的资源的访问的方法,其中,应用令牌包括识别主应用的信息,所述信息可用于管理对用于所述主应用的资源的访问,所述计算系统包括:
非暂态机器可读介质(113),在其中存储有容器管理器;以及
耦接到所述非暂态机器可读介质的处理器(111),所述处理器被配置为:执行所述容器管理器,所述容器管理器生成用于所述主应用的应用令牌,其中,所述主应用位于第一容器中,实例化应用助手和用于所述应用助手的第二容器,以及向所述应用助手提供所述应用令牌以代表所述主应用进行管理。
6.根据权利要求5所述的计算系统,其中,所述容器管理器进一步用于启动所述主应用和所述第一容器。
7.根据权利要求5所述的计算系统,其中,所述容器管理器进一步被配置为从所述应用助手接收针对所述应用令牌的更新请求。
8.根据权利要求7所述的计算系统,其中,所述容器管理器进一步被配置为响应于所述更新请求,向所述应用助手发送已更新的应用令牌。
9.一种用于应用助手使用应用令牌来辅助主应用访问虚拟化平台内的资源的方法,其中,应用令牌包括识别所述主应用的信息,所述信息可用于管理对用于所述主应用的资源的访问,所述方法包括:
接收(601)来自主应用的应用程序编程接口(API)请求;
将所述主应用的应用令牌插入(603)到所述API请求中;以及
向API服务器发送(605)具有所述应用令牌的所述API请求。
10.根据权利要求9所述的方法,进一步包括:
从所述API服务器接收(607)响应;以及
确定(609)所接收的响应是否指示错误。
11.根据权利要求10所述的方法,进一步包括:
检查(613)所述错误是否指示所述应用令牌无效或已过期;以及
响应于所述错误不指示无效或已过期的应用令牌,将所述错误返回(611)到所述主应用。
12.根据权利要求9所述的方法,进一步包括:
向容器管理器请求(615)更新所述应用令牌;以及
从所述容器管理器接收(619)已更新的应用令牌。
13.根据权利要求9所述的方法,进一步包括:
将来自所述API服务器的响应发送(611,617)到所述主应用。
14.一种计算系统,其被配置为实现用于应用助手使用应用令牌来辅助主应用访问虚拟化平台内的资源的方法,其中,应用令牌包括识别所述主应用的信息,所述信息可用于管理对用于所述主应用的资源的访问,所述计算系统包括:
非暂态机器可读介质(113),在其中存储有所述应用助手;以及
耦接到所述非暂态机器可读介质的处理器(111),所述处理器被配置为:执行所述应用助手,所述应用助手接收来自主应用的应用程序编程接口(API)请求,将所述主应用的应用令牌插入到所述API请求中,以及向API服务器发送具有所述应用程序令牌的所述API请求。
15.根据权利要求14所述的计算系统,其中,所述应用助手进一步从所述API服务器接收响应,以及确定所接收的响应是否指示错误。
16.根据权利要求15所述的计算系统,其中,所述应用助手进一步检查所述错误是否指示所述应用令牌无效或已过期,以及响应于所述错误不指示无效或已过期的应用令牌,将所述错误返回到所述主应用。
17.根据权利要求14所述的计算系统,其中,所述应用助手进一步向容器管理器请求更新所述应用令牌,以及从所述容器管理器接收已更新的应用令牌。
18.根据权利要求14所述的计算系统,其中,所述应用助手进一步将来自所述API服务器的响应发送到所述主应用。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662397846P | 2016-09-21 | 2016-09-21 | |
US62/397,846 | 2016-09-21 | ||
US15/595,824 | 2017-05-15 | ||
US15/595,824 US20180082053A1 (en) | 2016-09-21 | 2017-05-15 | Application token through associated container |
PCT/IB2017/055709 WO2018055532A1 (en) | 2016-09-21 | 2017-09-20 | Application token through associated container |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109716296A true CN109716296A (zh) | 2019-05-03 |
CN109716296B CN109716296B (zh) | 2023-08-25 |
Family
ID=61620577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780057776.9A Active CN109716296B (zh) | 2016-09-21 | 2017-09-20 | 通过相关联容器的应用令牌 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20180082053A1 (zh) |
EP (1) | EP3516513B1 (zh) |
CN (1) | CN109716296B (zh) |
WO (1) | WO2018055532A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112187753A (zh) * | 2020-09-18 | 2021-01-05 | 北京浪潮数据技术有限公司 | 一种数据更新方法、装置、设备及可读存储介质 |
CN116127418A (zh) * | 2023-04-14 | 2023-05-16 | 深圳竹云科技股份有限公司 | 容器应用授权方法、装置及计算机设备 |
CN117060976A (zh) * | 2023-08-22 | 2023-11-14 | 元心信息科技集团有限公司 | 卫星通信方法、系统、电子设备、存储介质及程序产品 |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180004931A1 (en) * | 2016-07-02 | 2018-01-04 | Intel Corporation | Process management |
US20180083971A1 (en) * | 2016-09-21 | 2018-03-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Authorization with container application issued token |
US11681568B1 (en) | 2017-08-02 | 2023-06-20 | Styra, Inc. | Method and apparatus to reduce the window for policy violations with minimal consistency assumptions |
US11023292B1 (en) | 2017-08-02 | 2021-06-01 | Styra, Inc. | Method and apparatus for using a single storage structure to authorize APIs |
US11947489B2 (en) | 2017-09-05 | 2024-04-02 | Robin Systems, Inc. | Creating snapshots of a storage volume in a distributed storage system |
US10579276B2 (en) | 2017-09-13 | 2020-03-03 | Robin Systems, Inc. | Storage scheme for a distributed storage system |
US10534549B2 (en) | 2017-09-19 | 2020-01-14 | Robin Systems, Inc. | Maintaining consistency among copies of a logical storage volume in a distributed storage system |
US10782887B2 (en) | 2017-11-08 | 2020-09-22 | Robin Systems, Inc. | Window-based prority tagging of IOPs in a distributed storage system |
US10846001B2 (en) | 2017-11-08 | 2020-11-24 | Robin Systems, Inc. | Allocating storage requirements in a distributed storage system |
US11099937B2 (en) | 2018-01-11 | 2021-08-24 | Robin Systems, Inc. | Implementing clone snapshots in a distributed storage system |
US11582168B2 (en) | 2018-01-11 | 2023-02-14 | Robin Systems, Inc. | Fenced clone applications |
US10628235B2 (en) | 2018-01-11 | 2020-04-21 | Robin Systems, Inc. | Accessing log files of a distributed computing system using a simulated file system |
US10896102B2 (en) * | 2018-01-11 | 2021-01-19 | Robin Systems, Inc. | Implementing secure communication in a distributed computing system |
US10642697B2 (en) | 2018-01-11 | 2020-05-05 | Robin Systems, Inc. | Implementing containers for a stateful application in a distributed computing system |
US11392363B2 (en) | 2018-01-11 | 2022-07-19 | Robin Systems, Inc. | Implementing application entrypoints with containers of a bundled application |
US11748203B2 (en) | 2018-01-11 | 2023-09-05 | Robin Systems, Inc. | Multi-role application orchestration in a distributed storage system |
US10845997B2 (en) | 2018-01-12 | 2020-11-24 | Robin Systems, Inc. | Job manager for deploying a bundled application |
US10846137B2 (en) | 2018-01-12 | 2020-11-24 | Robin Systems, Inc. | Dynamic adjustment of application resources in a distributed computing system |
US10579364B2 (en) | 2018-01-12 | 2020-03-03 | Robin Systems, Inc. | Upgrading bundled applications in a distributed computing system |
US10642694B2 (en) | 2018-01-12 | 2020-05-05 | Robin Systems, Inc. | Monitoring containers in a distributed computing system |
US10976938B2 (en) | 2018-07-30 | 2021-04-13 | Robin Systems, Inc. | Block map cache |
US11023328B2 (en) | 2018-07-30 | 2021-06-01 | Robin Systems, Inc. | Redo log for append only storage scheme |
US10599622B2 (en) | 2018-07-31 | 2020-03-24 | Robin Systems, Inc. | Implementing storage volumes over multiple tiers |
US10817380B2 (en) | 2018-07-31 | 2020-10-27 | Robin Systems, Inc. | Implementing affinity and anti-affinity constraints in a bundled application |
US11853463B1 (en) | 2018-08-23 | 2023-12-26 | Styra, Inc. | Leveraging standard protocols to interface unmodified applications and services |
US10719373B1 (en) | 2018-08-23 | 2020-07-21 | Styra, Inc. | Validating policies and data in API authorization system |
US11080410B1 (en) | 2018-08-24 | 2021-08-03 | Styra, Inc. | Partial policy evaluation |
US11477239B1 (en) | 2018-10-16 | 2022-10-18 | Styra, Inc. | Simulating policies for authorizing an API |
US10908848B2 (en) | 2018-10-22 | 2021-02-02 | Robin Systems, Inc. | Automated management of bundled applications |
US11036439B2 (en) | 2018-10-22 | 2021-06-15 | Robin Systems, Inc. | Automated management of bundled applications |
US10620871B1 (en) | 2018-11-15 | 2020-04-14 | Robin Systems, Inc. | Storage scheme for a distributed storage system |
US11044257B1 (en) * | 2018-11-26 | 2021-06-22 | Amazon Technologies, Inc. | One-time access to protected resources |
US11226838B2 (en) * | 2018-12-26 | 2022-01-18 | Korea Electronics Technology Institute | Container-based management method by changing intelligent container component execution priority using remote calls via remote access unit and remote network functon module |
US11086725B2 (en) | 2019-03-25 | 2021-08-10 | Robin Systems, Inc. | Orchestration of heterogeneous multi-role applications |
US11256434B2 (en) | 2019-04-17 | 2022-02-22 | Robin Systems, Inc. | Data de-duplication |
US11190512B2 (en) | 2019-04-17 | 2021-11-30 | Microsoft Technology Licensing, Llc | Integrity attestation of attestation component |
US11392467B2 (en) | 2019-04-17 | 2022-07-19 | Microsoft Technology Licensing, Llc | Failover between decentralized identity stores |
US11429743B2 (en) | 2019-04-29 | 2022-08-30 | Microsoft Technology Licensing, Llc | Localization of DID-related claims and data |
US11381567B2 (en) | 2019-04-29 | 2022-07-05 | Microsoft Technology Licensing, Llc | Execution of an application within a scope of user-granted permission |
US10831387B1 (en) | 2019-05-02 | 2020-11-10 | Robin Systems, Inc. | Snapshot reservations in a distributed storage system |
US11003771B2 (en) | 2019-05-03 | 2021-05-11 | Microsoft Technology Licensing, Llc | Self-help for DID claims |
US11222137B2 (en) | 2019-05-03 | 2022-01-11 | Microsoft Technology Licensing, Llc | Storing and executing an application in a user's personal storage with user granted permission |
US11411959B2 (en) * | 2019-05-03 | 2022-08-09 | Microsoft Technology Licensing, Llc | Execution of application in a container within a scope of user-granted permission |
US11593525B1 (en) | 2019-05-10 | 2023-02-28 | Styra, Inc. | Portable policy execution using embedded machines |
DE102019112485A1 (de) * | 2019-05-13 | 2020-11-19 | Eberhard-Karls-Universität Tübingen | Verfahren zum selektiven Ausführen eines Containers |
US10877684B2 (en) | 2019-05-15 | 2020-12-29 | Robin Systems, Inc. | Changing a distributed storage volume from non-replicated to replicated |
CN110286999B (zh) * | 2019-05-28 | 2023-08-29 | 平安科技(深圳)有限公司 | 访问程序关联性隔离器的方法、装置及计算机可读存储介质 |
US11226847B2 (en) | 2019-08-29 | 2022-01-18 | Robin Systems, Inc. | Implementing an application manifest in a node-specific manner using an intent-based orchestrator |
US11520650B2 (en) | 2019-09-05 | 2022-12-06 | Robin Systems, Inc. | Performing root cause analysis in a multi-role application |
US11249851B2 (en) | 2019-09-05 | 2022-02-15 | Robin Systems, Inc. | Creating snapshots of a storage volume in a distributed storage system |
US11347684B2 (en) | 2019-10-04 | 2022-05-31 | Robin Systems, Inc. | Rolling back KUBERNETES applications including custom resources |
US11113158B2 (en) | 2019-10-04 | 2021-09-07 | Robin Systems, Inc. | Rolling back kubernetes applications |
US11403188B2 (en) | 2019-12-04 | 2022-08-02 | Robin Systems, Inc. | Operation-level consistency points and rollback |
US11502992B1 (en) | 2020-01-27 | 2022-11-15 | Styra, Inc. | Local controller and local agent for local API authorization |
US11645423B1 (en) | 2020-03-02 | 2023-05-09 | Styra, Inc. | Method and apparatus for distributing policies for authorizing APIs |
US11108638B1 (en) | 2020-06-08 | 2021-08-31 | Robin Systems, Inc. | Health monitoring of automatically deployed and managed network pipelines |
US11528186B2 (en) | 2020-06-16 | 2022-12-13 | Robin Systems, Inc. | Automated initialization of bare metal servers |
US12003543B1 (en) | 2020-07-24 | 2024-06-04 | Styra, Inc. | Method and system for modifying and validating API requests |
US11513778B1 (en) | 2020-08-14 | 2022-11-29 | Styra, Inc. | Graphical user interface and system for defining and maintaining code-based policies |
US11740980B2 (en) | 2020-09-22 | 2023-08-29 | Robin Systems, Inc. | Managing snapshot metadata following backup |
US11593363B1 (en) | 2020-09-23 | 2023-02-28 | Styra, Inc. | Comprehension indexing feature |
US11743188B2 (en) | 2020-10-01 | 2023-08-29 | Robin Systems, Inc. | Check-in monitoring for workflows |
US11271895B1 (en) | 2020-10-07 | 2022-03-08 | Robin Systems, Inc. | Implementing advanced networking capabilities using helm charts |
US11456914B2 (en) | 2020-10-07 | 2022-09-27 | Robin Systems, Inc. | Implementing affinity and anti-affinity with KUBERNETES |
US11750451B2 (en) | 2020-11-04 | 2023-09-05 | Robin Systems, Inc. | Batch manager for complex workflows |
US11520579B1 (en) | 2020-11-30 | 2022-12-06 | Styra, Inc. | Automated asymptotic analysis |
US11556361B2 (en) | 2020-12-09 | 2023-01-17 | Robin Systems, Inc. | Monitoring and managing of complex multi-role applications |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140281544A1 (en) * | 2013-03-14 | 2014-09-18 | Sprint Communications Company L.P. | Trusted Security Zone Containers for the Protection and Confidentiality of Trusted Service Manager Data |
CN104350501A (zh) * | 2012-05-25 | 2015-02-11 | 佳能株式会社 | 授权服务器和客户端设备、服务器协作系统和令牌管理方法 |
WO2015019104A2 (en) * | 2013-08-07 | 2015-02-12 | Eus Associates Ltd | Access and control authorisation system |
CN104620250A (zh) * | 2012-07-20 | 2015-05-13 | 谷歌公司 | 在两个装置之间使用临时私钥的系统和方法 |
US20150310188A1 (en) * | 2014-04-23 | 2015-10-29 | Intralinks, Inc. | Systems and methods of secure data exchange |
US20160134616A1 (en) * | 2014-11-10 | 2016-05-12 | Amazon Technologies, Inc. | Desktop application fulfillment platform with multiple authentication mechanisms |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006020094A2 (en) * | 2004-07-20 | 2006-02-23 | Softricity, Inc. | Method and system for minimizing loss in a computer application |
US7845009B2 (en) * | 2006-05-16 | 2010-11-30 | Intel Corporation | Method and apparatus to detect kernel mode rootkit events through virtualization traps |
US8468594B2 (en) * | 2007-02-13 | 2013-06-18 | Cyber-Ark Software Ltd | Methods and systems for solving problems with hard-coded credentials |
US8468356B2 (en) * | 2008-06-30 | 2013-06-18 | Intel Corporation | Software copy protection via protected execution of applications |
US9559842B2 (en) * | 2008-09-30 | 2017-01-31 | Hewlett Packard Enterprise Development Lp | Trusted key management for virtualized platforms |
US8826269B2 (en) * | 2009-06-15 | 2014-09-02 | Microsoft Corporation | Annotating virtual application processes |
US8971535B2 (en) * | 2010-05-27 | 2015-03-03 | Bladelogic, Inc. | Multi-level key management |
US8533796B1 (en) * | 2011-03-16 | 2013-09-10 | Google Inc. | Providing application programs with access to secured resources |
US9298910B2 (en) * | 2011-06-08 | 2016-03-29 | Mcafee, Inc. | System and method for virtual partition monitoring |
US9519777B2 (en) * | 2011-10-31 | 2016-12-13 | Novell, Inc. | Techniques for controlling authentication |
US8832782B2 (en) * | 2012-08-31 | 2014-09-09 | Avaya Inc. | Single sign-on system and method |
US20140108793A1 (en) * | 2012-10-16 | 2014-04-17 | Citrix Systems, Inc. | Controlling mobile device access to secure data |
JP6480908B2 (ja) * | 2013-03-15 | 2019-03-13 | オラクル・インターナショナル・コーポレイション | アプリケーション間におけるコンピュータ間の保護された通信 |
US9825933B2 (en) * | 2013-09-12 | 2017-11-21 | Data Accelerator Ltd. | Single sign on for applications |
US10237252B2 (en) * | 2013-09-20 | 2019-03-19 | Oracle International Corporation | Automatic creation and management of credentials in a distributed environment |
US9686278B1 (en) * | 2014-05-07 | 2017-06-20 | Skyport Systems, Inc. | Method and system for configuring computing devices |
US9825934B1 (en) * | 2014-09-26 | 2017-11-21 | Google Inc. | Operating system interface for credential management |
US11068136B1 (en) * | 2014-11-11 | 2021-07-20 | Amazon Technologies, Inc. | Application fulfillment platform with automated license management mechanisms |
SG10201500698YA (en) * | 2015-01-29 | 2016-08-30 | Huawei Internat Pte Ltd | Method for data protection using isolated environment in mobile device |
US10326744B1 (en) * | 2016-03-21 | 2019-06-18 | EMC IP Holding Company LLC | Security layer for containers in multi-tenant environments |
US10055578B1 (en) * | 2016-05-17 | 2018-08-21 | Sprint Communications Company L.P. | Secure software containers |
US10855725B2 (en) * | 2016-06-02 | 2020-12-01 | Microsoft Technology Licensing, Llc | Hardware-based virtualized security isolation |
US10693989B2 (en) * | 2017-04-28 | 2020-06-23 | Sap Se | Brokering services from partner cloud platforms |
-
2017
- 2017-05-15 US US15/595,824 patent/US20180082053A1/en not_active Abandoned
- 2017-09-20 CN CN201780057776.9A patent/CN109716296B/zh active Active
- 2017-09-20 EP EP17788295.8A patent/EP3516513B1/en active Active
- 2017-09-20 WO PCT/IB2017/055709 patent/WO2018055532A1/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104350501A (zh) * | 2012-05-25 | 2015-02-11 | 佳能株式会社 | 授权服务器和客户端设备、服务器协作系统和令牌管理方法 |
CN104620250A (zh) * | 2012-07-20 | 2015-05-13 | 谷歌公司 | 在两个装置之间使用临时私钥的系统和方法 |
US20140281544A1 (en) * | 2013-03-14 | 2014-09-18 | Sprint Communications Company L.P. | Trusted Security Zone Containers for the Protection and Confidentiality of Trusted Service Manager Data |
WO2015019104A2 (en) * | 2013-08-07 | 2015-02-12 | Eus Associates Ltd | Access and control authorisation system |
US20150310188A1 (en) * | 2014-04-23 | 2015-10-29 | Intralinks, Inc. | Systems and methods of secure data exchange |
US20160134616A1 (en) * | 2014-11-10 | 2016-05-12 | Amazon Technologies, Inc. | Desktop application fulfillment platform with multiple authentication mechanisms |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112187753A (zh) * | 2020-09-18 | 2021-01-05 | 北京浪潮数据技术有限公司 | 一种数据更新方法、装置、设备及可读存储介质 |
CN116127418A (zh) * | 2023-04-14 | 2023-05-16 | 深圳竹云科技股份有限公司 | 容器应用授权方法、装置及计算机设备 |
CN116127418B (zh) * | 2023-04-14 | 2023-06-27 | 深圳竹云科技股份有限公司 | 容器应用授权方法、装置及计算机设备 |
CN117060976A (zh) * | 2023-08-22 | 2023-11-14 | 元心信息科技集团有限公司 | 卫星通信方法、系统、电子设备、存储介质及程序产品 |
CN117060976B (zh) * | 2023-08-22 | 2024-04-12 | 元心信息科技集团有限公司 | 卫星通信方法、系统、电子设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2018055532A1 (en) | 2018-03-29 |
EP3516513B1 (en) | 2021-03-17 |
EP3516513A1 (en) | 2019-07-31 |
CN109716296B (zh) | 2023-08-25 |
US20180082053A1 (en) | 2018-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109716296A (zh) | 通过相关联容器的应用令牌 | |
CN106462717B (zh) | 用于在多租户应用服务器环境中支持安全性的系统和方法 | |
US9787659B2 (en) | Techniques for secure access management in virtual environments | |
CN106471783B (zh) | 经由网关的企业系统认证和授权 | |
CN102281286B (zh) | 分布式混合企业的灵活端点顺从和强认证的方法和系统 | |
CN103946834B (zh) | 虚拟网络接口对象 | |
US10999328B2 (en) | Tag-based policy architecture | |
JP6392879B2 (ja) | モバイル通信装置およびその動作方法 | |
US5841869A (en) | Method and apparatus for trusted processing | |
CN108351944A (zh) | 链式安全系统 | |
CN109478149A (zh) | 混合云计算系统中的访问服务 | |
EP0942349A2 (en) | Cryptographic apparatus for an international cryptography framework | |
CN108476216A (zh) | 用于集成事务中间件平台与集中式访问管理器用于在企业级计算环境中的单点登录的系统和方法 | |
US10116642B2 (en) | Identity management over multiple identity providers | |
US20180083971A1 (en) | Authorization with container application issued token | |
JP2016535547A (ja) | 対象のコンピューティング装置で実施される動作を認証する方法 | |
JPH10313309A (ja) | 国際暗号法フレームワークでアプリケーションが一定のサービスクラスを合法的に実行することを認証する装置 | |
US20200257776A1 (en) | Request authorization using recipe-based service coordination | |
CN106663174A (zh) | 使用受保护存储限制系统调用 | |
CN108780407A (zh) | 使用访问和执行环境的应用程序流式传输 | |
CN109446259B (zh) | 数据处理方法及装置、处理机及存储介质 | |
US20210042748A1 (en) | Blockchain-based secure resource management | |
CN111770112B (zh) | 一种信息共享方法、装置及设备 | |
CN108537523A (zh) | 基于区块链的代币交易方法及装置 | |
KR20160018554A (ko) | 신뢰 및 비신뢰 플랫폼에 걸쳐 인터넷 액세스가능 애플리케이션 상태를 로밍하는 기법 |
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 |