CN109716726B - 基于云的应用部署中的凭证管理 - Google Patents

基于云的应用部署中的凭证管理 Download PDF

Info

Publication number
CN109716726B
CN109716726B CN201780056952.7A CN201780056952A CN109716726B CN 109716726 B CN109716726 B CN 109716726B CN 201780056952 A CN201780056952 A CN 201780056952A CN 109716726 B CN109716726 B CN 109716726B
Authority
CN
China
Prior art keywords
secret
name
deployment manifest
deployment
credential manager
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.)
Active
Application number
CN201780056952.7A
Other languages
English (en)
Other versions
CN109716726A (zh
Inventor
丹尼尔·杰纳
德米特里·加里宁
贾斯汀·史密斯
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.)
Pivotal Software Inc
Original Assignee
Pivotal Software Inc
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 Pivotal Software Inc filed Critical Pivotal Software Inc
Publication of CN109716726A publication Critical patent/CN109716726A/zh
Application granted granted Critical
Publication of CN109716726B publication Critical patent/CN109716726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

用于凭证管理的系统、方法和计算机程序产品。应用部署系统接收用于在云计算环境中部署应用的部署清单。应用部署系统的部署指导器确定应用要使用的资源。部署指导器从部署清单确定用于访问资源的凭证的标识符,例如名称。部署指导器从应用部署系统的凭证管理器请求凭证。收到凭证后,部署指导器通过利用所接收的凭证替换标识符来修改部署清单。应用部署系统使用所修改的部署清单来部署应用,然后删除所修改的部署清单。

Description

基于云的应用部署中的凭证管理
背景技术
“平台即服务”(通常称为“PaaS”)技术提供了一种集成解决方案,使Web开发人员或应用开发人员通常能够构建、部署和管理基于云的应用,例如,web应用或任何其他类型的联网应用的生命周期。支持云计算平台的PaaS的一个组件是由服务提供商运营和维护的网络(例如,因特网等)基础设施,在该基础设施上可以部署所开发的基于云的应用。网络基础设施包括硬件资源,例如磁盘或网络,以及软件资源,例如数据库程序。通过提供运行基于云的应用所需的硬件和软件资源,云计算平台使开发人员能够专注于应用本身的开发,而不是应用执行的网络基础设施。因此,使用PaaS的开发人员可以将配置和扩展资源的后勤(例如,处理能力、设施、功率和带宽、数据存储、数据库访问)留给云计算平台。其中一些资源可能是需要认证才能访问的安全资源。不同的资源可能需要不同的认证技术和不同的凭证。
发明内容
描述了用于凭证管理的系统、方法和计算机程序产品。应用部署系统接收用于在云计算环境中部署应用的部署清单。应用部署系统的部署指导器确定应用要使用的资源。部署指导器从部署清单确定用于访问资源的凭证的标识符,例如名称。部署指导器从应用部署系统的凭证管理器请求凭证。收到凭证后,部署指导器通过利用所接收的凭证替换标识符来修改部署清单。应用部署系统使用修改的部署清单部署应用,然后删除所修改的部署清单。
通常,本说明书中描述的主题的一个创新方面可以体现为包括凭证管理器和部署指导器的应用部署系统。凭证管理器包括被编程为执行机密管理操作的一个或多个计算机。机密管理操作包括从第一用户设备接收机密,机密包括机密名称、机密类型、机密范围和机密值;以及将机密值存储在对应于机密类型的机密数据库中。机密值包括一个或多个凭证、一个或多个证书,或一个或多个安全密钥。部署指导器包括被编程以执行应用部署操作的一个或多个计算机。应用部署操作包括从第二用户设备接收用于在基于云的计算平台上部署应用的部署清单。第二用户设备可以与第一用户设备相同,或不同于第一用户设备。应用部署操作包括从部署清单中识别机密范围和到凭证管理器的链接,以及从部署清单中识别机密类型和机密名称,机密类型和机密名称与基于云的计算平台的资源相关联。应用部署操作包括根据链接,向凭证管理器提交获取机密请求,获取机密请求包括机密范围、机密类型和机密名称,以及从凭证管理器接收对应于机密范围中的机密名称的机密值,机密值由凭证管理器从对应于机密类型的机密数据库中检索。应用部署操作包括修改部署清单,包括利用从凭证管理器接收的机密值替换部署清单中的机密名称。应用部署操作包括根据所修改的部署清单,在基于云的计算平台上部署应用,包括允许应用使用机密值访问基于云的计算平台的资源。
通常,本说明书中描述的主题的一个创新方面可以体现为包括接收用于在云计算平台中部署应用的部署清单的动作的方法。部署清单指定用于配置云计算平台的资源以服务于应用的参数。该方法包括从参数中识别与资源相关联的一个或多个机密名称;从凭证管理器请求一个或多个机密名称中的每一个的相应的机密值以及修改部署清单。修改部署清单包括利用从凭证管理器接收的对应的机密值替换部署清单中的一个或多个机密名称中的每一个。该方法包括使用所修改的部署清单,为应用配置资源,包括创建供应用消费的服务实例并且使用一个或多个机密值,将资源绑定到服务实例。
该方面的其他实施例包括对应的计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,其分别被配置为执行方法的动作。一个或多个计算机的系统可以被配置为通过在系统上安装软件、固件、硬件或它们的组合来执行特定操作或动作,软件、固件、硬件或它们的组合的操作使系统执行上述动作。一个或多个计算机程序可以被配置为通过包括指令来执行特定操作或动作,指令当由数据处理装置执行时,使装置执行上述动作。
本说明书中描述的主题可以在各种实施例中实现,并且可以产生一个或多个下述优点。例如,所公开的技术避免将部署的凭证信息存储为纯文本。应用的部署可以包括配置应用执行以访问资源的虚拟机(VM)。资源可能需要各种凭证、证书或密钥才能访问。通过避免在磁盘上存储凭证、证书或密钥,所公开的技术比传统技术提供增强的安全性。例如,在传统技术中,获得对部署清单文件的访问可以提供对整个部署的完全管理访问。部署清单文件中的机密可能冒无意中被登记到公共系统的风险。避免将信息存储在清单中可以降低未经授权的访问和无意泄露的风险。
所公开的技术为用户提供了更灵活的访问控制。与传统的基于云的应用部署技术相比,其中,有权访问部署清单文件的用户可以访问部署的所有凭证,所公开的技术可以隐藏各个资源的凭证。所公开的技术提供审核凭证的能力。所公开的技术可以提供用于凭证访问的授权机制,包括例如用于审核谁在什么时间访问特定凭证,以及用于建立用于何时最后轮换凭证的审计跟踪的机制。
在附图和下述描述中阐述了本说明书中描述的主题的一个或多个实施方式的细节。本主题的其他特征、方面和优点从说明书附图和权利要求将变得显而易见。
附图说明
图1是示出凭证管理的示例性技术的框图。
图2是示出实现凭证管理的示例性系统的框图。
图3是示出存储在机密数据库中的机密的示例性命名空间的框图。
图4是示出凭证管理的示例性过程的流程图。
各附图中相同的附图标记和名称表示相同的元件。
具体实施方式
图1是示出凭证管理的示例性技术的框图。分布式计算系统在应用部署期间实现凭证管理。应用部署包括配置和管理分布式计算系统上的资源。部署指导器102管理部署。部署指导器102是在一个或多个计算机上实现的分布式计算系统的组件。部署指导器102的软件部分可以在一个或多个计算机上的一个或多个虚拟机中执行。部署指导器102协调配置和管理资源的部署过程。
部署指导器102获得部署清单104。部署清单104包括描述所需计算环境的属性的一个或多个文件,诸如要使用的多个资源池(例如,VM组)、要搭建的网络、要分配的存储设备以及其他设置和功能。部署清单104用作用于在分布式计算平台的多个节点上部署应用的规范。
在所示的示例性分布计算系统中,部署指导器102在云计算平台108中生成逻辑基础结构106。云计算平台108包括一个或多个节点。每个节点可以是物理计算机或在物理计算机上执行的VM。逻辑基础设施106可以包括基于云的应用所基于的一个或多个VM,以及VM使用的一个或多个资源110。
一个或多个资源110包括分配给基于云的应用的计算资源和用于托管基于云的应用的功能组件的虚拟计算资源。例如,一个或多个资源110包括网络资源112和存储资源114。网络资源112包括例如一个或多个网关、路由器或子网。存储资源114包括例如一个或多个基于网络的磁盘或数据库系统。要分配给基于云的应用的其他资源可以包括例如消息传递服务、日志聚合服务和加密或解密服务。
部署清单104包括对资源112和114的引用。引用可以是例如主机名、统一资源标识符(URI)、IP地址、端口号或上述的各种组合。部署清单104指定用于访问资源112和114的机密。机密可以包括例如凭证、证书或安全密钥。部署清单104包括机密的标识符。机密的标识符与对资源的引用相关联。标识符被称为机密名称。部署指导器102包括扩展传统部署指导器的功能的凭证接口模块116。凭证接口模块116解析部署清单104并且从部署清单104中识别机密名称。
然后,凭证接口模块116将机密名称提交给凭证管理器118。凭证管理器118可以与现有服务(例如,在VM上运行的BOSH部署系统)共处或者被独立地托管在云计算平台108中。逻辑上,凭证管理器118是应用部署系统的一部分,其参考图2进一步详细描述。凭证管理器118将对应于机密名称的机密值提供给凭证接口模块116。凭证管理器118提供的机密值可以包括例如凭证、安全证书、安全密钥、密码短语或其他安全信息。然后,凭证接口模块116可以将凭证插入部署清单104。将凭证插入部署清单104包括用机密值替换机密名称以生成修改的清单120。然后,部署指导器102使用修改的清单120,创建和配置逻辑基础设施106。
使用修改的清单120配置逻辑基础设施106包括允许在逻辑基础设施106中运行的基于云的应用访问资源110,包括访问网络资源112和存储资源114。部署指导器102可以将配置的逻辑基础设施106,包括绑定到逻辑基础设施106的资源110指定为服务实例。在下文中,参考图2,描述关于部署指导器102的操作的另外的细节。
图2是示出实现凭证管理的示例性系统200的框图。该系统包括应用部署系统204。应用部署系统204可以是版本管理系统,例如BOSH,具有提高安全性的凭证管理的增加的功能性。
PUT:[host]/[path]/[机密名称]{
应用部署系统204通过网络208,从用户设备206接收部署清单104。用户设备206包括被配置为由基于云的应用的开发人员、管理员或者安全工程师操作的一个或多个计算机。用户设备206为基于云的应用提供部署清单。用户设备206可以通过从开发人员或从自动生成部署清单104的服务代理接收部署清单104来获得部署清单104。
可以是云计算平台的一部分的应用部署系统204可以使用部署清单104中的数据来自动地配置资源。配置资源可以包括创建虚拟机、安装和配置用于在虚拟机中执行应用的应用包,以及将资源绑定到虚拟机和应用。部署清单104可以简化应用部署过程,例如,对具有不同要求的复杂多节点应用,可以实现可重复和可预测的部署,或两者。
部署清单104包括对资源的引用,包括例如网络、资源和虚拟机。部署清单104可以使用机密名称,指定包括凭证、证书和安全密钥的机密,而不是直接地包括凭证、证书和安全密钥。机密名称引用对应的机密值。
为了提高机密值的安全性,应用部署系统204可以从部署清单104单独地接收机密值。应用部署系统204可以与部署清单104的数据分开地存储机密值,例如通过将机密值存储在机密数据库210中。机密数据库210(也被称为保险库)是为存储安全数据而设计的安全数据库。机密数据库210的一些示例是HashicorpTM Vault、KeyWizTM,Azure Key VaultTM和Coda Hale SneakerTM
应用部署系统204可以通过凭证API或通过用户界面来接收机密值。API包括用于设置机密值的“put”方法。机密值可以与机密名称相关联。在下文中,在列表1和列表2中提供用于设置机密值的示例性凭证API方法和CLI命令。
“scope”:[范围名称],
“secret-type”:[机密类型],
“values”:{
“user”:[用户名],
“password”:[密码]
}
}
列表1:用于设置机密值的示例性API
列表1示出了使用“put”调用来存储机密值的示例性API方法。API方法具有指定用于存储机密值的主机名、用于存储机密值的路径和机密名称的参数。API方法还可以具有指定机密适用的范围(例如,“部署”)、机密类型(例如“静态值”或“SSH”),以及机密值的参数。在此示例中,机密值包括用户名和密码。API允许设备或进程以编程方式设置机密值。
用户设备206可以使用通过图形用户界面(GUI)、命令行界面(CLI)或两者的组合接收的命令来访问对应于列表1的那些示例性API方法的功能。在下文中,在列表2中提供使用CLI命令设置机密值的示例。
user$cm set-scope[范围]
user$cm set-value--type[机密类型]--name[机密名称]\
--values‘{“user”:[用户名],”password”:[密码]}’
列表2:用于设置机密值的示例性CLI
列表2示出了用于设置机密值的示例性CLI命令。每个命令前面的“user$”是示例性CLI提示符。“cm set scope”命令在列表1的API中设置“范围”值。“cm set-value”命令具有用于设置机密名称的参数“name”、用于设置机密类型的参数“type”,以及用于设置一个或多个机密值的参数“Values”。
后端命令便于凭证管理器118和机密数据库210之间的通信以设置机密值。在下文中,在列表3中提供由凭证管理器118调用的示例性后端命令。
user$vault write[范围]/[机密类型]/[机密名称]\
user=’[用户名]’password=’[密码]’
列表3:用于设置机密值的示例性后端命令
在接收到部署清单时,应用部署系统204的部署指导器102解析部署清单、识别机密名称,并且从凭证管理器118请求与机密标识符相对应的机密值。凭证管理器118通过凭证API(例如,通过使用“get”方法),从机密数据库210检索机密值。在下文中,在列表4中提供用于检索机密值的示例性API方法。
GET:[主机]/[ver]/scope/[范围]/type/[机密类型]/secret/[机密名称]
Figure BDA0001996215910000081
列表4:获取机密值的示例性API
列表4示出了一个API,其中“get”方法用于获取机密值。“get”方法可以指定主机名、版本号、范围、机密类型和机密名称。响应于“get”方法,凭证管理器118可以检索对应于机密名称的机密值。列表4的示例性API允许设备或进程以编程方式设置机密值。
用户设备206可以使用通过GUI、CLI或两者的组合接收的命令来访问列表4的示例性API方法的功能。在下文中,在列表5中提供使用CLI命令获取机密值的示例。
user$cm set-scope[范围]
user$cm get-value--component cloud-controller--name[机密名称]
列表5:用于设置机密值的示例性CLI
列表5示出了用于获取机密值的示例性CLI命令。“cm set-scope”命令在列表4的API中设置“scope”值。“cm get-value”命令在列表4的API中获取“secret-type”和“values”值。“cm get-value”命令的参数可以包含组件名称和机密名称。
后端命令便于凭证管理器118和机密数据库210之间的通信以获取机密值。在下文中,在列表6中提供由凭证管理器118调用的示例性后端命令。
user$vault read-format=json[范围]/[机密类型]/[机密名称]
Figure BDA0001996215910000091
Figure BDA0001996215910000101
列表6:用于设置机密值的示例性后端命令
后端命令可以指定范围、机密类型和机密名称。机密数据库210可以在“数据”部中返回机密值。机密数据库210可以返回关于机密值的标识符和租赁期限。
部署指导器102可以访问在部署清单104中标识的凭证管理器118。部署清单104指定引用,例如URI、范围,以及可选地,凭证管理器凭证,例如用户名和机密,用于访问凭证管理器118。在下文中,在列表7中示出部署清单104的示例凭证管理器访问部分。
credential-manager:
uri:10.10.10.10
scope:[范围]
列表7:部署清单的示例性凭证管理器部分
部署指导器102在接收到部署清单104时,通过查询凭证管理器118来替换部署清单中的机密变量。部署清单104可以具有资源部分。在下文中,在列表8中示出部署清单104的示例性资源部分。
jobs:
-name:[作业名]
properties:
loggregator_endpoint:
shared_secret:{{[机密类型]/[机密名称]}}
metron_agent:
zone:[代理区]
deployment:[部署名称]
nats:
user:{{[机密类型]/[机密名称].user}}
password:{{[静态值]/[nats-admin].password}}
port:4222
machines:
-10.25.161.103
……
列表8:部署清单的示例性资源部分
在列表8的示例中,部署清单104指定将配置给应用的三个资源:日志聚合器端点“loggregator_endpoint”、日志聚合器的代理“metron_agent”和消息传递服务“NATS”。资源部分指定资源的各种参数。代替存储机密值,“shared_secret”字段指定包括机密类型(例如密码短语)和机密名称(例如,“loggregator-shared_secret”)的机密值。凭证管理器118可以提供机密值。部署指导器102利用对应的密码短语替换机密名称。同样,“nats”字段具有用户名和密码子字段。每个子字段可以分别具有对应的机密,在该示例中,分别是用户名和密码。部署清单可以具有用于每个子字段的相应的机密变量。每个机密变量可以具有相应的机密类型,例如“静态值”、机密名称,例如“nats-admin”,以及机密的相应的子字段,例如“用户”和“密码”。凭证管理器118可以提供机密值。部署指导器102利用对应的用户名和密码替换机密名称。
应用部署系统204可以为各种操作员实现多个图形或命令行用户界面项。例如,应用部署系统204实现管理员CLI 214、操作员CLI 216和安全CLI 218。用户设备206一旦被认证,就可以通过管理员CLI 214、操作员CLI 216和安全CLI 218中的一个或多个来访问应用部署系统204,并且通过管理员CLI 214、操作员CLI 216和安全CLI 218接收用户输入。
用户设备206可以从管理员CLI 214接收初始化应用部署系统204的请求。该请求可以包括例如具有用于配置BOSH部署系统的参数、用于配置用户帐户和认证服务(UAA)的参数,以及用于配置凭证管理器118的参数的“bosh-init”命令。用户设备206从管理员CLI214接收用于部署凭证管理器118的命令。用户设备206从用于凭证管理器118的CLI接收初始化机密后端,例如,机密数据库210的命令。用户设备206接收用于配置UAA的命令。用户设备206从管理员CLI214接收用于部署应用的命令。
在接收到上述每个命令时,应用部署系统204执行对应的操作。例如,在接收到用于部署应用的命令时,应用部署系统204根据部署清单配置服务实例。部署指导器102使用部署清单中引用凭证管理器的信息向凭证管理器进行认证,例如,如上参考列表7所述。
部署指导器102循环通过每个机密名称。对于每个机密名称,部署指导器102请求对应的机密值。一旦从机密数据库210找到机密值,凭证管理器118就将机密值返回给部署指导器102。如果凭证管理器118没有找到对应的机密值,则凭证管理器118可以返回未找到机密的消息。响应于该消息,部署指导器102可以从凭证管理器118请求新的机密值。该请求可以包括机密形式,例如,该机密是用户凭证还是证书,以及来自服务规范文件的类型要求。在接收到该请求时,凭证管理器118可以使机密生成器222对应地生成一个或多个机密值。机密生成器222可以包括随机值生成器,用于生成随机机密值,例如密码。机密生成器222可以将生成的机密值提供给凭证管理器118,并且将生成的机密值存储在机密数据库210中。
然后,部署指导器102在内存中利用由凭证管理器118提供的机密值替换部署清单中的机密名称。然后,部署指导器102使用新部署清单来执行部署操作。然后,部署指导器102从内存中丢弃新的部署清单。
运营商可以更新应用的现有部署。用户设备206可以从运营商CLI216接收命令以更新部署清单。然后,用户设备206接收部署命令,例如“bosh deploy”。然后,部署指导器102可以如上所述替换更新的部署清单中的机密名称,并且对应地重新配置服务实例。
运营商或安全性可以改变一个或多个安全设置。用户设备206可以从安全CLI 218接收命令。安全CLI 218可以是凭证管理器118的界面。响应于安全密钥相关命令,凭证管理器118可以执行改变主密钥、开封所需的密钥或两者的任务。这些任务可以包括,例如,启动机密值的密钥更新、响应于输入设置主密钥的阈值、重新配置凭证管理器118、设置新的主密钥。响应于机密相关命令,凭证管理器118可以执行存储新机密、更新现有机密、检索机密或上述任何组合的任务。这些任务可以包括,例如,设置机密值、更新机密值,或检索用于外部使用,例如,用于手动访问应用或资源的机密值。
响应于从安全CLI 218,或者通过API调用接收的生成新机密命令,凭证管理器118可以生成新机密。生成新机密包括验证用户或呼叫者、从机密生成器222请求随机值,以及利用生成的值设置机密数据库210中的机密。
响应于从安全CLI 218接收的凭证管理器管理命令,凭证管理器118执行各种管理任务,包括例如审计、备份和恢复。为了审计,凭证管理器118可以请求安全工程师以使用日志工具进行认证,该日志工具记录对机密值执行的动作,例如添加、更新和删除,以及动作的用户和时间。对于备份,凭证管理器118响应于命令(例如,列表9中的CLI命令)来备份机密。
user$cm backup--encryption-key[加密密钥][路径和文件名]
列表9:示例性CLI备份命令
响应于列表9中的示例性命令,凭证管理器118备份指定的文件中的机密。
为了恢复,凭证管理器118响应于命令(例如,列表10中的CLI命令),从文件恢复机密。
user$cm restore--encryption-key[加密密钥][路径和文件名]
列表10:示例性CLI恢复命令
响应于列表10中的示例性命令,凭证管理器118从指定的文件恢复机密。
图3是示出存储在机密数据库210中的机密的示例性命名空间302的框图。如上所述,机密包括机密名称和对应的机密值。每个机密名称都在相应的命名空间中,并且与机密类型相关联。范围可以是任意创建的命名空间。确定机密名称的范围可以避免系统和系统组之间的命名空间302中的公共机密名称的冲突。
在所示的示例中,命名空间302包括用户定义的或系统提供的范围304和306。范围304和306中的每一个具有相应的范围名称。范围304中的机密和范围306中的机密可以具有相同的名称而不会彼此冲突。
在每个范围内,机密可以有各种类型。例如,在范围306中,机密可以具有第一类型308(例如静态值)、第二类型310(例如安全外壳(SSH)),或第三类型312(例如传输层安全性(TLS))。仅示出三种示例类型。在各种实施方式中,范围306可以包括其他机密类型。不同的机密类型可以对应于不同的交互和支持。例如,对于SSH机密类型,机密数据库210可以配置和发出对每个请求的不同证书。因此,机密数据库210可以不同于按原样存储数据的传统数据库,因为机密数据库210可以包括生成机密值的功能。生成凭证的操作可以由保险库系统的后端执行。通过限制每个后端仅支持的类型,机密类型可以简化可插入后端以处理各种机密。
在所示的示例中,具有静态值类型308的范围306中的机密包括命名的密钥值对。例如,机密314具有机密名称和机密值。机密314的机密值具有两个密钥值对。具有SSH类型310的范围306中的机密316具有机密名称和机密值。机密316的机密值可以具有多个密钥,例如密钥318,320和324。具有TLS类型312的范围306中的机密326具有机密名称和机密值。机密326的机密值可以具有证书328和密钥330。
图4是示出凭证管理的示例性过程400的流程图。过程400可以由应用部署系统,例如,图2的应用部署系统204执行。
应用部署系统的部署指导器接收用于在云计算平台中部署基于云的应用的部署清单(402)。部署清单指定用于配置云计算平台的资源以服务于应用的参数。部署清单包括对管理用于访问资源的凭证的凭证管理器的引用。该引用可以包括到凭证管理器的链接,例如URI。引用可以包括范围名称。范围名称指定一个或多个机密名称的命名空间。该资源可以包括例如网络、消息传递系统、云计算平台的节点、存储系统或路由设备。
部署指导器从部署清单中的参数识别一个或多个机密名称(404)。机密名称(例如,用户名和机密)可以被嵌入在资源的属性中以代替用于访问资源的纯文本凭证。在一些实施方式中,在部署清单中,每个机密名称与相应的机密类型相关联。机密类型向凭证管理器提供提示,该提示指示处理机密类型的机密的机密管理系统。
部署指导器从凭证管理器请求针对一个或多个机密名称中的每一个的相应的机密值(406)。作为响应,部署指导器接收相应的机密值。每个机密值可以被存储在机密数据库,例如图2的机密数据库210中。机密数据库可以经由设置的机密命令,通过凭证管理器的用户界面或通过应用编程接口(API)填充。机密数据库存储多个机密,每个机密具有机密类型、机密范围、与部署清单中的机密名称匹配的名称,以及包括密钥值对、证书或安全密钥中的至少一个的机密值。
在一些实施方式中,部署指导器从凭证管理器接收指示一个或多个机密名称的特定机密名称不具有对于的机密值的消息。作为响应,部署指导器请求凭证管理器为特定机密名称生成随机机密值。
然后,部署指导器修改部署清单(408)。修改部署清单包括利用从凭证管理器接收的对应的机密值替换部署清单中的一个或多个机密名称中的每一个。在由凭证管理器生成机密值的情况下,部署指导器利用凭证管理器生成的机密值替换机密名称。
部署指导器使用修改的部署清单来对应用配置资源(410)。在配置资源时,部署指导器创建服务实例供应用消费。然后,部署指导器将资源绑定到服务实例。服务实例可以包括例如应用在其中执行的虚拟机。将资源绑定到服务实例可以包括向虚拟机提供用于访问资源的引用和证书,例如数据库的地址和端口、数据库名称、用户名和密码。部署清单可以被存储在磁盘上。所修改的部署清单可以被存储在内存中。部署指导器可以在配置后删除所修改的部署清单。
本说明书中所述的主题和功能操作的实施例能够以数字电子电路、有形地体现的计算机软件或固件、包括本说明书中所公开的结构及其结构等同物的计算机硬件、或者它们中的一个或多个的组合来实现。本说明书中所述的主题的实施例能够实现为一个或多个计算机程序(即,在有形非瞬时性程序载体上编码以由数据处理设备执行或者控制数据处理设备的操作的计算机程序指令的一个或多个模块)。替选地或附加地,可以将程序指令编码在为编码信息以便发送到适合的接收器设备以由数据处理设备执行而生成的人工生成的传播信号(例如,机器生成的电、光学或电磁信号)上。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行存取存储器设备,或它们中的一个或多个的组合。
术语“数据处理装置”是指数据处理软件并且涵盖用于处理数据的所有类型的装置、设备和机器,作为示例包括可编程处理器、计算机、或多个处理器或计算机。所述装置可以是或进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。所述装置除了包括硬件之外,可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(也可以被称为或者描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言、或者描述性或过程语言)来编写,并且它可以以任何形式被部署(包括作为独立程序或者作为适合于用在计算环境中的模块、组件、子例程或其它单元)。计算机程序可以但不必对应于文件系统中的文件。程序可以被存储在保存其它程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)、专用于所述程序的单个文件、或多个协同文件(例如,存储一个或多个模块、子例程、或代码的部分的文件)中。可以将计算机程序部署成在一个计算机上或者在位于一个站点处或者分布在多个站点上并且通过通信网络互连的多个计算机上执行。
本说明书中所述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机来执行以通过对输入数据操作并且生成输出来执行功能。还可以由专用逻辑电路来执行过程和逻辑流程,并且装置也可以被实现为专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
作为示例,适合于执行计算机程序的计算机包括通用或专用微处理器或两者,或任何其它类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于实现或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)以从其接收数据或者向其传送数据或两者。然而,计算机不必具有这类设备。此外,可以将计算机嵌入在另一设备(例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器))等中。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质以及存储器设备,作为示例包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移除磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或者并入专用逻辑电路。
为了提供与用户的交互,可以将本说明书中所述的主题的实施例实现在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示)监视器)和用户由其向计算机提供输入的键盘和指示设备(例如键盘、鼠标)的计算机上。其它类型的设备也可以被用来提供与用户交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以包括声输入、语音输入或触觉输入的任何形式接收来自用户的输入。此外,计算机可以通过向由用户使用的设备发送文档并且从其接收文档,例如,通过响应于从web浏览器接收的请求,向用户设备上的web浏览器发送网页来与用户交互。
本说明书中所述的主题的实施例可以在包括后端组件的计算系统中实现(例如,作为数据服务器),或者在包括中间件组件的计算系统中实现(例如,应用服务器),或者在包括前端组件的计算系统中实现(例如,具有用户可以用来与本说明书中所述的主题的实施方式交互的图形用户界面或Web浏览器的客户端计算机),或可以在包括一个或多个这种后端组件、中间件组件或前端组件的任何组合的计算系统中实现。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(LAN)和广域网(WAN)(例如,互联网)。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与充当客户端的用户设备交互的用户显示数据和从用户接收用户输入。可以从服务器处的用户设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多特定实施方式细节,但是这些不应该被解释为对要求保护的范围的限制,相反地,被解释为对特定实施例的特有的特征的描述。在单独的实施例的上下文中,本说明书中所述的某些特征在单个实施例中可以组合地实现。相反地,在单个实施例的上下文中所述的各种特征也可以在多个实施例中单独地或以任何适合的子组合实现。另外,尽管特征在上文可以被描述为以某些组合起作用并且因此甚至最初要求如此保护,但是来自要求保护的组合的一个或多个特征可以在一些情况下被从组合中删除,并且所要求保护的组合可以被指导子组合或子组合的变体。
类似地,虽然按特定次序在附图中描绘操作,但是这不应当被理解为为了实现所期望的结果,要求这些操作被以所示出的特定次序或以顺序次序执行,或者执行所有图示的操作。在某些情况下,多任务处理和并行处理可能是有利的。此外,上文所述的实施例中各种系统模块和组件的分离不应当被理解为在所有实施例中要求这种分离,而应当理解到,所述的程序组件和系统通常可以被一起集成在单个软件产品中或者被封装成多个软件产品。
已经描述了本主题的特定实施例。其它实施例在以下权利要求的范围内。例如,权利要求中所记载的动作可以按照不同次序被执行并且仍然实现期望的结果。作为一个示例,附图中所描绘的过程不一定要求所示出的特定次序或顺序次序以实现期望的结果。在一些情况下,多任务处理和并行处理可能是有利的。

Claims (32)

1.一种用于凭证管理的系统,包括:
包括一个或多个计算机的凭证管理器,所述凭证管理器被编程为执行包括下述的操作:
从第一用户设备接收机密,所述机密包括机密名称、机密类型、机密范围和机密值;以及
将所述机密值存储在对应于所述机密类型的机密数据库中;以及
包括一个或多个计算机的部署指导器,所述部署指导器被编程为执行包括下述的操作:
从第二用户设备接收用于在基于云的计算平台上部署应用的部署清单;
从所述部署清单中识别所述机密范围和到所述凭证管理器的链接;
从所述部署清单中识别所述机密类型和所述机密名称,所述机密类型和所述机密名称与所述基于云的计算平台的资源相关联;
根据所述链接,向所述凭证管理器提交获取机密请求,所述获取机密请求包括所述机密范围、所述机密类型和所述机密名称;
从所述凭证管理器接收对应于所述机密范围中的机密名称的机密值,所述机密值由所述凭证管理器从对应于所述机密类型的机密数据库中检索;
修改所述部署清单,包括利用从所述凭证管理器接收的机密值替换所述部署清单中的机密名称;以及
根据所修改的部署清单,在基于云的计算平台上部署所述应用,包括允许所述应用使用所述机密值访问所述基于云的计算平台的资源。
2.根据权利要求1所述的系统,其中,所述机密值包括一个或多个凭证、一个或多个证书,或一个或多个安全密钥。
3.一种用于凭证管理的系统,包括:
一个或多个计算机和存储指令的一个或多个存储设备,所述指令当由所述一个或多个计算机执行时,可操作以使所述一个或多个计算机执行包括下述的操作:
接收用于在云计算平台中部署应用的部署清单,所述部署清单指定用于配置所述云计算平台的资源以服务于所述应用的参数;
从所述参数中识别与所述资源相关联的一个或多个机密名称;
从凭证管理器请求所述一个或多个机密名称中的每一个的相应的机密值;
修改所述部署清单,包括利用从所述凭证管理器接收的对应的机密值替换所述部署清单中的一个或多个机密名称中的每一个;以及
使用所修改的部署清单,为所述应用配置资源,包括创建供所述应用消费的服务实例并且使用所述一个或多个机密值,将所述资源绑定到所述服务实例。
4.根据权利要求3所述的系统,其中,所述部署清单包括对所述凭证管理器的引用,所述凭证管理器管理用于访问所述资源的凭证,所述引用包括到所述凭证管理器的统一资源标识符(URI)和范围名称,所述范围名称指定一个或多个机密名称的命名空间。
5.根据权利要求3所述的系统,所述操作包括:
从所述凭证管理器接收指示所述一个或多个机密名称的第一机密名称不具有对应的机密值的消息;
请求所述凭证管理器为所述第一机密名称生成第一机密值;以及
利用所述第一机密值替换所述部署清单中的所述第一机密名称。
6.根据权利要求3所述的系统,其中,每个机密值被存储在机密数据库中,所述机密数据库由设置的机密命令通过所述凭证管理器的用户界面,或通过应用编程接口(API)来填充。
7.根据权利要求6所述的系统,其中,所述机密数据库存储多个机密,每个机密具有机密类型、机密范围,与所述部署清单中的机密名称匹配的名称,以及包括密钥值对、证书或安全密钥中的至少一个的机密值。
8.根据权利要求3所述的系统,其中,所述资源是网络、消息传递系统、所述云计算平台的节点、存储系统或路由设备。
9.根据权利要求3所述的系统,其中,在所述部署清单中,每个机密名称与相应的机密类型相关联,所述机密类型向所述凭证管理器提供指示处理所述机密类型的机密的机密管理系统的提示。
10.根据权利要求3所述的系统,所述操作包括:
在配置所述资源期间,将所修改的部署清单存储在内存中;以及
在配置所述资源后,丢弃所修改的部署清单。
11.一种存储指令的非瞬时计算机可读存储介质,所述指令能够由数据处理装置执行,并且在这种执行时,使得所述数据处理装置执行包括下述的操作:
从用户设备接收用于在基于云的计算平台上部署应用的部署清单;
从所述部署清单中识别机密范围和到凭证管理器的链接;
从所述部署清单中识别机密类型和机密名称,所述机密类型和所述机密名称与所述基于云的计算平台的资源相关联;
根据所述链接,向所述凭证管理器提交获取机密请求,所述获取机密请求包括所述机密范围、所述机密类型和所述机密名称;
从所述凭证管理器接收对应于所述机密范围中的机密名称的机密值,所述机密值由所述凭证管理器从对应于所述机密类型的机密数据库检索;
修改所述部署清单,包括利用从所述凭证管理器接收的机密值替换所述部署清单中的机密名称;以及
根据所修改的部署清单,在基于云的计算平台上部署所述应用,包括允许所述应用使用所述机密值访问所述基于云的计算平台的资源。
12.根据权利要求11所述的计算机可读存储介质,其中,所述机密值包括一个或多个凭证、一个或多个证书,或一个或多个安全密钥。
13.根据权利要求11所述的计算机可读存储介质,所述操作包括:
从第二用户设备接收机密,所述机密包括所述机密名称、所述机密类型、所述机密范围和所述机密值;以及
将所述机密值存储在对应于所述机密类型的机密数据库中。
14.根据权利要求13所述的计算机可读存储介质,所述操作包括:
从对应于所述机密类型的机密数据库中检索所述机密值。
15.一种存储指令的非瞬时性计算机可读存储介质,所述指令能够由数据处理装置执行并且在这种执行时,使得所述数据处理装置执行包括下述的操作:
接收用于在云计算平台中部署应用的部署清单,所述部署清单指定用于配置所述云计算平台的资源以服务于所述应用的参数;
从所述参数中识别与所述资源相关联的一个或多个机密名称;
从凭证管理器请求所述一个或多个机密名称中的每一个的相应的机密值;
修改所述部署清单,包括利用从所述凭证管理器接收的对应的机密值替换所述部署清单中的所述一个或多个机密名称中的每一个;以及
使用所修改的部署清单为所述应用配置资源,包括创建由所述应用消费的服务实例并且使用所述一个或多个机密值,将所述资源绑定到所述服务实例。
16.根据权利要求15所述的计算机可读存储介质,其中,所述部署清单包括对所述凭证管理器的引用,所述凭证管理器管理用于访问所述资源的凭证,所述引用包括到所述凭证管理器的统一资源标识符(URI)以及范围名称,所述范围名称指定所述一个或多个机密名称的命名空间。
17.根据权利要求15所述的计算机可读存储介质,所述操作包括:
从所述凭证管理器接收指示所述一个或多个机密名称的第一机密名称不具有对应的机密值的消息;
请求所述凭证管理器为所述第一机密名称生成第一机密值;以及
利用所述第一机密值替换所述部署清单中的所述第一机密名称。
18.根据权利要求15所述的计算机可读存储介质,其中,每个机密值被存储在机密数据库中,所述机密数据库经由设置的机密命令通过所述凭证管理器的用户界面,或通过应用编程接口(API)来填充。
19.根据权利要求18所述的计算机可读存储介质,其中,所述机密数据库存储多个机密,每个机密具有机密类型、机密范围、与所述部署清单中的机密名称匹配的名称,以及包括密钥值对、证书或安全密钥中的至少一个的机密值。
20.根据权利要求15所述的计算机可读存储介质,其中,所述资源是网络、消息传递系统、所述云计算平台的节点、存储系统或路由设备。
21.根据权利要求15所述的计算机可读存储介质,其中,在所述部署清单中,每个机密名称与相应的机密类型相关联,所述机密类型向所述凭证管理器提供指示处理所述机密类型的机密的机密管理系统的提示。
22.根据权利要求15所述的计算机可读存储介质,所述操作包括:
在配置所述资源期间,将修改的部署清单存储在内存中;以及
在配置所述资源后,丢弃所修改的部署清单。
23.一种用于凭证管理的计算机实现的方法,包括:
从用户设备接收用于在基于云的计算平台上部署应用的部署清单;
从所述部署清单中识别机密范围和到凭证管理器的链接;
从所述部署清单中识别机密类型和机密名称,所述机密类型和机密名称与所述基于云的计算平台的资源相关联;
根据所述链接,向所述凭证管理器提交获取机密请求,所述获取机密请求包括所述机密范围、所述机密类型和所述机密名称;
从所述凭证管理器接收对应于所述机密范围内的机密名称的机密值,所述机密值由所述凭证管理器从对应于所述机密类型的机密数据库中检索;
修改所述部署清单,包括利用从所述凭证管理器接收的机密值替换所述部署清单中的机密名称;以及
根据所修改的部署清单,在基于云的计算平台上部署所述应用,包括允许所述应用使用所述机密值访问所述基于云的计算平台的资源。
24.根据权利要求23所述的方法,其中,所述机密值包括一个或多个凭证、一个或多个证书,或一个或多个安全密钥。
25.一种用于凭证管理的计算机实现的方法,包括:
接收用于在云计算平台中部署应用的部署清单,所述部署清单指定用于配置所述云计算平台的资源以服务于所述应用的参数;
从所述参数中识别与所述资源相关联的一个或多个机密名称;
从凭证管理器请求所述一个或多个机密名称中的每一个的相应的机密值;
修改所述部署清单,包括利用从所述凭证管理器接收的对应的机密值替换所述部署清单中的一个或多个机密名称中的每一个;以及
使用所修改的部署清单,为所述应用配置资源,包括创建供所述应用消费的服务实例并且使用所述一个或多个机密值,将所述资源绑定到所述服务实例。
26.根据权利要求25所述的方法,其中,所述部署清单包括对所述凭证管理器的引用,所述凭证管理器管理用于访问所述资源的凭证,所述引用包括到所述凭证管理器的统一资源标识符(URI)和范围名称,所述范围名称指定一个或多个机密名称的命名空间。
27.根据权利要求25所述的方法,包括:
从所述凭证管理器接收指示所述一个或多个机密名称的第一机密名称不具有对应的机密值的消息;
请求所述凭证管理器为所述第一机密名称生成第一机密值;以及
利用所述第一机密值替换所述部署清单中的所述第一机密名称。
28.根据权利要求25所述的方法,其中,每个机密值被存储在机密数据库中,所述机密数据库由设置的机密命令通过所述凭证管理器的用户界面,或通过应用编程接口(API)来填充。
29.根据权利要求28所述的方法,其中,所述机密数据库存储多个机密,每个机密具有机密类型、机密范围,与所述部署清单中的机密名称匹配的名称,以及包括密钥值对、证书或安全密钥中的至少一个的机密值。
30.根据权利要求25所述的方法,其中,所述资源是网络、消息传递系统、所述云计算平台的节点、存储系统或路由设备。
31.根据权利要求25所述的方法,其中,在所述部署清单中,每个机密名称与相应的机密类型相关联,所述机密类型向所述凭证管理器提供指示处理所述机密类型的机密的机密管理系统的提示。
32.根据权利要求25所述的方法,包括:
在配置所述资源期间,将所修改的部署清单存储在内存中;以及
在配置所述资源后,丢弃所修改的部署清单。
CN201780056952.7A 2016-09-16 2017-09-14 基于云的应用部署中的凭证管理 Active CN109716726B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662396012P 2016-09-16 2016-09-16
US62/396,012 2016-09-16
PCT/US2017/051471 WO2018053072A1 (en) 2016-09-16 2017-09-14 Credential management in cloud-based application deployment

Publications (2)

Publication Number Publication Date
CN109716726A CN109716726A (zh) 2019-05-03
CN109716726B true CN109716726B (zh) 2021-06-11

Family

ID=60120124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780056952.7A Active CN109716726B (zh) 2016-09-16 2017-09-14 基于云的应用部署中的凭证管理

Country Status (4)

Country Link
US (1) US10686766B2 (zh)
EP (1) EP3513544B1 (zh)
CN (1) CN109716726B (zh)
WO (1) WO2018053072A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180191718A1 (en) * 2016-12-29 2018-07-05 Ingram Micro Inc. Technologies for securely extending cloud service apis in a cloud service marketplace
US11379565B2 (en) * 2017-10-02 2022-07-05 Microsoft Technology Licensing, Llc Identifying and consenting to permissions for workflow and code execution
US10893033B2 (en) 2018-06-28 2021-01-12 Salesforce.Com, Inc. Accessing client credential sets using a key
US10944640B2 (en) * 2018-11-09 2021-03-09 Microsoft Technology Licensing, Llc Generating and implementing a platform-neutral cloud-native application model
US11099910B2 (en) * 2018-11-13 2021-08-24 Microsoft Technology Licensing, Llc Deploying cloud-native services across control planes
US11394711B2 (en) * 2018-11-29 2022-07-19 Microsoft Technology Licensing, Llc Streamlined secure deployment of cloud services
EP3991377A4 (en) * 2019-06-26 2023-01-25 Microsoft Technology Licensing, LLC LIFECYCLE MANAGEMENT OF SECRETS ON A SERVERLESS PLATFORM
US11196735B2 (en) * 2019-07-17 2021-12-07 Microsoft Technology Licensing, Llc Certificate management in segregated computer networks
CN112973129B (zh) * 2021-03-12 2024-04-05 厦门雅基软件有限公司 游戏部署方法、装置、电子设备及计算机可读存储介质
WO2023038768A1 (en) * 2021-09-09 2023-03-16 Microsoft Technology Licensing, Llc. Management of secrets during deployment of virtual environment
US20230073812A1 (en) * 2021-09-09 2023-03-09 Microsoft Technology Licensing, Llc Management of secrets during deployment of virtual environment
US11887108B2 (en) * 2021-10-01 2024-01-30 Capital One Services, Llc System and user interface of a user device for managing tokens associated with a user
US12061914B2 (en) * 2022-06-06 2024-08-13 Microsoft Technology Licensing, Llc Using interchangeable non-compute resources for cloud-based applications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1617101A (zh) * 2003-10-24 2005-05-18 微软公司 操作系统资源保护
CN102571948A (zh) * 2011-12-29 2012-07-11 国云科技股份有限公司 基于云计算的PaaS平台系统及其实现方法
CN102726027A (zh) * 2011-12-28 2012-10-10 华为技术有限公司 虚拟机全盘加密下预启动时的密钥传输方法和设备
CN103812862A (zh) * 2014-01-23 2014-05-21 厦门密安信息技术有限责任公司 可信安全云计算构成方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
US20070240194A1 (en) * 2006-03-28 2007-10-11 Hargrave Bentley J Scoped permissions for software application deployment
US7742476B2 (en) * 2006-08-04 2010-06-22 International Business Machines Corporation Synchronous peer to peer deployed application propagation for large clusters
US8352482B2 (en) * 2009-07-21 2013-01-08 Vmware, Inc. System and method for replicating disk images in a cloud computing based virtual machine file system
US9172543B2 (en) * 2010-02-26 2015-10-27 Red Hat, Inc. Determining CRL size in view of system capability
US8997078B2 (en) * 2011-04-12 2015-03-31 Pivotal Software, Inc. Release lifecycle management system for a multi-node application
US8812830B2 (en) * 2011-08-31 2014-08-19 Microsoft Corporation Attestation protocol for securely booting a guest operating system
US9003502B2 (en) * 2012-03-19 2015-04-07 Empire Technology Development Llc Hybrid multi-tenancy cloud platform
US9639691B2 (en) * 2014-06-26 2017-05-02 Vmware, Inc. Dynamic database and API-accessible credentials data store

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1617101A (zh) * 2003-10-24 2005-05-18 微软公司 操作系统资源保护
CN102726027A (zh) * 2011-12-28 2012-10-10 华为技术有限公司 虚拟机全盘加密下预启动时的密钥传输方法和设备
CN102571948A (zh) * 2011-12-29 2012-07-11 国云科技股份有限公司 基于云计算的PaaS平台系统及其实现方法
CN103812862A (zh) * 2014-01-23 2014-05-21 厦门密安信息技术有限责任公司 可信安全云计算构成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Ensuring Trust in Service Consumption through Security Certification;Michele Bezzi;《QASBA"11》;20110930;全文 *
浅析云计算技术与安全;卢娟;《电子世界》;20140915;全文 *

Also Published As

Publication number Publication date
WO2018053072A1 (en) 2018-03-22
US20180083937A1 (en) 2018-03-22
CN109716726A (zh) 2019-05-03
EP3513544B1 (en) 2021-12-01
EP3513544A1 (en) 2019-07-24
US10686766B2 (en) 2020-06-16

Similar Documents

Publication Publication Date Title
CN109716726B (zh) 基于云的应用部署中的凭证管理
US11792274B2 (en) Managing browser session navigation between one or more browsers
JP6782307B2 (ja) ホストされたアプリケーションへの動的アクセス
US11438421B2 (en) Accessing resources in a remote access or cloud-based network environment
US20210218722A1 (en) Dynamic crypto key management for mobility in a cloud environment
US11652613B2 (en) Secure information exchange in federated authentication
CN109074274A (zh) 虚拟浏览器集成
US11062041B2 (en) Scrubbing log files using scrubbing engines
JP2018524843A (ja) ハイブリッドクラウドサービスのためのパスワードの暗号化
US11392552B2 (en) Sharing of data with applications
US10846463B2 (en) Document object model (DOM) element location platform
US11770454B2 (en) Native application integration for enhanced remote desktop experiences
JP2021535521A (ja) 仮想デスクトップでのローカルマップアカウント
US10721719B2 (en) Optimizing caching of data in a network of nodes using a data mapping table by storing data requested at a cache location internal to a server node and updating the mapping table at a shared cache external to the server node
US11366883B2 (en) Reflection based endpoint security test framework
JP2021521574A (ja) ヘルパを介したクライアントデバイスの匿名セッションへの接続
JP2022516290A (ja) 汚染された接続エージェントの追跡
US20230064996A1 (en) Sharing Virtual Environment Data

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: California, USA

Patentee after: Pivotal Software, Inc.

Country or region after: U.S.A.

Address before: California, USA

Patentee before: PIVOTAL SOFTWARE, Inc.

Country or region before: U.S.A.