CN116670670A - 用于基于容器的环境的集成认证 - Google Patents

用于基于容器的环境的集成认证 Download PDF

Info

Publication number
CN116670670A
CN116670670A CN202180082603.9A CN202180082603A CN116670670A CN 116670670 A CN116670670 A CN 116670670A CN 202180082603 A CN202180082603 A CN 202180082603A CN 116670670 A CN116670670 A CN 116670670A
Authority
CN
China
Prior art keywords
authentication
secure
file
artifact
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.)
Pending
Application number
CN202180082603.9A
Other languages
English (en)
Inventor
A·拉贾德瓦
A·查克拉
C·卡斯米斯
C·梅耶
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN116670670A publication Critical patent/CN116670670A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • 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
    • 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/44Program or device 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本文描述了用于基于容器的环境的集成认证的技术。一个方面包括由主机***上的管理程序托管的容器环境中的容器中运行的应用访问位于容器环境中的认证模块。另一方面包括基于对认证模块的访问来调用容器环境中的认证处理程序。另一方面包括将控制从认证处理程序传递到管理程序。另一方面包括由管理程序从主机***的安全数据库检索安全工件。另一方面包括经由认证处理程序将检索的安全工件提供给应用。另一方面包括由应用使用安全工件来执行认证操作。

Description

用于基于容器的环境的集成认证
背景技术
本发明总体上涉及计算机***,并且更具体地涉及用于基于容器的环境的集成认证。
在云计算环境中,计算作为服务而不是产品被递送,由此共享的资源、软件和信息通过网络(诸如互联网)作为经计量的服务被提供给计算机和其他设备。在这样的环境中,计算、软件、数据访问和存储服务被提供给不需要知道递送服务的***的物理位置和配置的用户。
作为虚拟化计算机环境的一部分的物理计算机可以被称为主机。诸如可在云计算环境的物理云计算节点中实现的虚拟化计算机环境可包括主机操作***(OS)和一个或多个客户机OS。主机操作***可包括支持在物理计算机上运行的一组虚拟化容器环境的公共基础部分。公共基础部分可以被称为管理程序(hypervisor)。每个容器环境可运行客户机操作***并且可支持多个容器。每个容器可以支持一个或多个应用。
发明内容
本发明的实施例涉及用于基于容器的环境的集成认证。一种非限制性的示例计算机实现的方法,包括由主机***上的管理程序托管的容器环境中的容器中运行的应用访问位于容器环境中的认证模块。该方法还包括基于对认证模块的访问来调用容器环境中的认证处理程序(handler)。该方法还包括将控制从认证处理程序传递至管理程序。该方法还包括由管理程序从主机***的安全数据库检索安全工件(artifact)。该方法还包括经由认证处理程序将检索的安全工件提供给应用。该方法还包括由应用使用安全工件来执行认证操作。
本发明的其他实施例在计算机***和计算机程序产品中实现上述方法的特征。
通过本发明的技术实现了附加的技术特征和优点。在本文中详细描述了本发明的实施例和方面,并且这些实施例和方面被认为是所要求保护的主题的一部分。为了更好的理解,参考详细说明和附图。
附图说明
在说明书结尾处的权利要求中特别指出并明确要求保护本文所述的独占权利的细节。从以下结合附图进行的详细描述中,本发明的实施例的前述和其他特征和优点将变得清晰,在附图中:
图1A是根据本发明的一个或多个实施例的用于基于容器的环境的集成认证的***的部件的框图;
图1B是根据本发明的一个或多个实施例的用于基于容器的环境的集成认证的***的部件的框图;
图2A是根据本发明的一个或多个实施例的用于基于容器的环境的集成认证的过程的流程图;
图2B是根据本发明的一个或多个实施例的用于基于容器的环境的集成认证的过程的流程图;
图3示出了根据本发明的实施例的云计算环境;
图4示出了根据本发明的实施例的抽象模型层;以及
图5是结合用于基于容器的环境的集成认证的一个或多个实施例使用的示例计算机***的框图。
具体实施方式
本发明的一个或多个实施例提供了用于基于容器的环境的集成认证。为了在虚拟化容器环境中执行认证操作,可能需要公共和私有证书安全工件(例如,证书和/或私有密钥)的复制。复制的安全工件可被复制到客户机OS内的公知目录和文件位置中,使得客户机OS和虚拟化容器环境中的相关的容器可使用这些安全工件用于证书验证和认证。在提供虚拟环境期间,任何证书的副本可被注入到虚拟环境中,并且虚拟环境可将证书放置在适当的目录位置处。然而,对于包括客户机OS的多个实例的云***,安全工件可被分开地复制到每个实例中,这可要求对复制的安全工件进行主动管理以确保复制的安全工件贯穿云***的操作保持是当前的。这样的安全工件管理可以相对复杂,特别是对于不可变装置形式的虚拟化容器环境。
用于基于容器的环境的集成认证的实施例可将包括客户机OS的虚拟化容器环境的认证操作与存储安全工件的底层主机OS安全数据库(DB)直接集成,而无需在虚拟化容器环境中复制安全工件。认证操作可以包括但不限于传输安全层/安全套接层(TLS/SSL)连接、轻量目录访问协议(LDAP)连接、和超文本传输协议安全(HTTPS)代理服务器连接。客户机OS和主机OS可以各自是任何适当的OS;在本发明的一些实施例中,主机OS可以是z/并且客户机OS可以是/>
用于基于容器的环境的集成认证的实施例可以包括认证模块和认证处理程序,认证模块包括认证文件或认证文件***。认证文件或认证文件***可包括安全工件的映射,包括但不限于证书和密钥环(例如,资源访问控制设施,或RACF,密钥环),其作为占位符提供在客户机OS中的任何适当的目录位置。当虚拟容器环境中的容器中运行的应用访问认证文件或认证文件***时,调用认证处理程序以与底层主机OS本地通信以从底层主机安全数据库(DB)请求与访问相对应的安全工件。客户机OS的多个实例可经由每个实例的相应认证处理程序访问安全DB中的安全工件,使得可不需要在整个***中提供安全工件的副本。在一些实施例中,认证处理程序能够实现存储管理程序信息(store hypervisorinformation,STHYI)指令,其允许客户机OS直接与主机OS环境通信而不需要网络访问。虚拟化容器环境可在主机环境上的用户标识符(ID)下作为开始的任务运行,并且用户ID可用于与安全DB认证以访问所请求的安全工件并将安全工件转换为虚拟化容器环境所需的任何格式。
本发明的实施例允许对安全集中式安全DB(包括证书和密钥存储)的访问,安全集中式安全DB属于管理程序(即,主机操作***)并且以管理程序的本地存储格式存储以经由客户机OS的本地接口对客户机OS的多个实例实时地透明地可访问,使得不需要将密钥和证书静态导出和存储到由客户机OS使用的格式中。可以由认证处理程序实时执行在管理程序的本地格式和由客户机OS使用的格式之间的安全工件的转译和转换,并且安全工件可以从在安全DB中使用的任何存储格式转换成客户机OS的实例所需的任何适当格式。安全DB可以经受管理程序的访问控制,以便基于与来自客户机OS的请求相关联的身份(例如,用户ID)来限制对集中式证书和密钥存储的访问。
现在转向图1A,概括地示出了根据本发明的一个或多个实施例的包括用于基于容器的环境的集成认证的***100A。***100A的实施例可对应于云计算环境,诸如下文参见图3和4讨论的,并且可结合任何合适的计算机***来实现,包括但不限于图5的计算机***500。***100A包括主机***,该主机***包括运行主机OS虚拟化层110(也称为管理程序)的资源,诸如地址空间101、中央处理单元(CPU)池102、数据集111、和网络112。主机OS虚拟化层110的实施例可以包括任何适当的OS,包括但不限于z/OS。主机OS虚拟化层110支持多个虚拟化容器环境103A-N。虚拟化容器环境103A-N中的每个虚拟化容器环境运行客户机OS,诸如如虚拟化容器环境103A中所示的客户机OS 106。客户机OS 106可以包括任何适当的OS,包括但不限于Linux。如容器环境103A中所示,容器环境103A-N中的每个容器环境托管各自的一组容器,诸如容器104A-N。容器104A-N中的每个容器可以托管一个或多个应用。容器104A-N由容器运行时环境105支持。在本发明的一些实施例中,容器运行时环境105可以包括容器运行时环境105由客户机OS 106和客户机OS虚拟化层108托管。如容器环境103A中所示,容器环境103A-N中的每个容器环境可包括容器运行时环境105、客户机OS106和客户机OS虚拟化层108的相应实例。容器环境103A-N可以经由客户机OS虚拟化层108和主机OS虚拟化层110访问主机***的资源。
安全DB 113可以包括用于在认证操作中使用的安全工件的存储的集合,包括但不限于证书和密钥。如图1A所示,在容器环境103A中的容器104A-N中托管的应用可以经由包括认证文件107A和认证处理程序109A的认证模块来访问安全DB 113中的安全工件。容器环境103A-N中的每个可以包括用于与安全DB 113通信的相应认证文件(诸如认证文件107A)和认证处理程序(诸如认证处理程序109A)。在***100A的实施例中可以经由认证文件107A和认证处理程序109A执行的认证操作包括但不限于从虚拟环境Docker守护进程(例如,容器运行时环境105)到外部Docker注册表、到用于用户认证的LDAP服务器、或到HTTP/HTTPS代理服务器的TLS/SSL连接。在下文关于图2A的方法200A更详细地论述认证文件107A和认证处理程序109A的操作。
在本发明的一些实施例中,可以经由认证文件107A在容器环境103A中提供安全DB113中的安全工件的名称。在提供容器环境103A期间,可以向客户机OS 106提供任何安全工件的名称。容器环境103A可创建安全工件从安全DB 113到一个或多个认证文件(诸如认证文件107A)的映射,并且可将一个或多个认证文件(诸如认证文件107A)作为占位符放置在适当的目录位置处。例如,在本发明的一些实施例中,对于私有Docker注册表,可以将认证文件107A放置在/etc/docker/certs.d目录下;对于LDAP服务器,可以将认证文件107A放置在/etc/ldap/ldap-ca下;而对于HTTP/HTTPS代理服务器,可以将认证文件107A置于/etc/certs.d/docker-proxy-ca下。当诸如认证文件107A之类的认证文件被容器104A-N中的任访问时,认证处理程序109A可以被访问调用以与底层主机OS虚拟化层110本地地通信,以从底层安全DB 113请求与访问相对应的安全工件。认证文件107A可具有预定义特殊文件扩展,并且认证处理程序109A的调用可由客户机OS 106基于认证文件107A的预定义文件扩展来执行。认证处理程序109A可以包括允许客户机OS 106直接与主机OS虚拟化层110通信而不需要网络访问的扩展STHYI指令。容器环境103A可以作为主机OS虚拟化层110上具有相关联的用户ID的启动任务来运行,并且用户ID可以由认证处理程序109A使用以与安全DB 113认证,并从适当的密钥环获得任何请求的CA证书。认证处理程序109A可以将请求的证书从安全DB 113中使用的格式转换成容器环境103A所要求的任何适当格式。
在***100A的一些实施例中,安全DB 113中的安全工件可以包括证书、明文或加密的私钥(例如,诸如由集成密码服务设施或ICSF所使用的),以供部署在虚拟环境内的服务器侧应用和由在由客户机OS106支持的容器104A-N内部运行的应用使用。在***100A的一些实施例中,RACF可以是在安全DB 113中实施的底层主机OS安全产品,并且实际和虚拟密钥环可以用于证书和私钥存储。真实密钥环被显式地定义并被配置为包括对应于用户ID的特定证书和私钥。RACF虚拟密钥环是主机OS虚拟化层110对应的主机环境中用户ID拥有的所有证书和私钥的集合。RACF密钥环中的该组证书可以由用户或服务器应用用来确定客户端或对等方的可信度。每个RACF用户ID可以与虚拟密钥环相关联。特殊证书机构(CERTAUTH)虚拟密钥环可以包括RACF数据库(包括安全DB 113)中的所有可信CA证书,并且可以由任何用户ID访问。与密钥环相关联的证书可以与用户ID相关联,存储在安全DB 113中,并且经由认证文件107A和认证处理程序109A检索以用于应用使用和对等验证。
可以包括安全DB 113的实施例的RACF数据库可以存储内部二进制格式的证书,例如隐私增强邮件(PEM)格式和Base64编码的X.509证书。PEM和Base64格式是文本格式,并且可以由认证处理程序109A作为文本来传输。在本发明的一些实施例中,认证处理程序109A可基于证书包格式类型和客户机OS 106执行从扩展二进制编码的十进制交换码(EBCDIC)到用于信息交换的美国标准码(ASCII)的转换。认证处理程序109A可自动从RACF二进制格式转换成虚拟化容器环境103A所需的任何格式。认证处理程序109A可以将证书转换成任何适当的格式以供在客户机OS 106中使用,包括但不限于PEM格式、公钥加密标准(PKCS)#12封装、或特定实现的格式(包括但不限于密钥库或OpenSSL密钥数据库)。认证处理程序109A可基于证书类型和虚拟化环境客户机OS 106来服务任何所需客户机OS证书格式的证书。
应当理解,图1A的框图不旨在指示***100A将包括图1A中所示的所有组件。相反,***100A可包括任何适当的更少的或图1A中未示出的附加的组件(例如,附加的存储器组件、嵌入式控制器、功能块、功能块之间的连接、模块、输入、输出、地址空间、CPU、虚拟化容器环境、容器运行时环境、客户机OS、客户机OS虚拟化层、认证文件、认证处理程序、容器、应用、安全数据库等)。此外,本文相对于***100A所述的实施例可用任何适当逻辑来实现,其中在不同实施例中,如本文所提及的逻辑可包括任何适当硬件(例如,处理器、嵌入式控制器或专用集成电路等)、软件(例如,应用等)、固件、或硬件、软件和固件的任何适当组合。
现在转向图1B,概括地示出了根据本发明的一个或多个实施例的包括用于基于容器的环境的集成认证的***100B。***100B的实施例可对应于云计算环境,诸如下文参见图3和4讨论的,并且可结合任何合适的计算机***(包括但不限于图5的计算机***500)来实现。***100B包括运行主机OS虚拟化层110(也称为管理程序)的主机***,主机***包括诸如地址空间101、中央处理单元(CPU)池102、数据集111和网络112之类的资源。主机OS虚拟化层110的实施例可以包括任何适当的OS,包括但不限于z/OS。主机OS虚拟化层110支持多个虚拟化容器环境103A-N。虚拟化容器环境103A-N中的每个虚拟化容器环境运行客户机OS,诸如如虚拟化容器环境103A中所示的客户机OS 106。客户机OS 106可以包括任何适当的OS,包括但不限于Linux。如容器环境103A中所示,容器环境103A-N中的每个容器环境托管各自的一组容器,诸如容器104A-N。容器104A-N中的每个容器可以托管一个或多个应用。容器104A-N由容器运行时环境105支持。在本发明的一些实施例中,容器运行时环境105可以包括容器运行时环境105由客户机OS 106和客户机OS虚拟化层108托管。如容器环境103A中所示,容器环境103A-N中的每个容器环境可包括容器运行时环境105、客户机OS 106和客户机OS虚拟化层108的相应实例。容器环境103A-N可以经由客户机OS虚拟化层108和主机OS虚拟化层110访问主机***的资源。
安全DB 113可以包括用于在认证操作中使用的安全工件的存储集合,包括但不限于证书和密钥。如图1B所示,在容器环境103A中的容器104A-N中托管的应用可以经由包括认证文件***107B(包括认证处理程序109B)的认证模块访问安全DB 113中的安全工件。容器环境103A-N中的每个可以包括相应的相应的认证文件***107B(诸如认证文件***107B),其包括相应的认证处理程序(诸如认证处理程序109B),以用于与安全DB 113通信。在***100B的实施例中可以经由认证文件***107B和认证处理程序109B执行的认证操作包括但不限于从虚拟环境Docker守护进程(例如,容器运行时环境105)到外部Docker注册表、到用于用户认证的LDAP服务器、或到HTTP/HTTPS代理服务器的TLS/SSL连接。下文将关于图2B的方法200B更详细地论述认证文件***107B和认证处理程序109B的操作。
在本发明的一些实施例中,安全DB 113中的安全工件的名称可经由认证文件***107B中的占位符文件来提供在容器环境103A中。认证文件***107B可包括安全工件从安全DB 113到认证文件***107B中的一个或多个占位符文件的映射。认证文件***107B中的占位符文件可对应于安装在客户机OS 106的常规文件***中的适当位置处的符号链接。例如,在本发明的一些实施例中,对于私有Docker注册表,认证文件***107B中的占位符文件的符号链接可包括在/etc/docker/certs.d目录中;对于LDAP服务器,到认证文件***107B中的占位符文件的符号链接可包括在
/etc/ldap/ldap-ca目录中;并且对于HTTP/HTTPS代理服务器,到认证文件***107B中的占位符文件的符号链接可包括在客户机OS 106的常规文件***中的
/etc/certs.d/docker-proxy-ca目录中。基于应用访问符号链接以执行认证操作,文件访问请求可由客户机OS 106重定向至认证文件***107B中对应于符号链接的占位符文件。当认证文件***107B中的任何占位符文件被容器104A-N中的任何容器访问时,认证文件***107B中的认证处理程序109B可被调用以与底层主机OS虚拟化层110本地地通信以从底层安全DB 113请求对应于访问的安全工件。认证处理程序109B可包括允许客户机OS106直接与主机OS虚拟化层110通信而不需要网络访问的扩展STHYI指令。容器环境103A可以作为主机OS虚拟化层110上具有相关联的用户ID的启动任务来运行,并且用户ID可以由认证处理程序109B使用以与安全DB 113认证,并从适当的密钥环获得任何请求的CA证书。认证处理程序109B可以将请求的证书从安全DB 113中使用的格式转换成容器环境103A所要求的任何适当格式。在***100B的一些实施例中,认证文件***107B可以包括用户空间中的文件***(file system in user space,FUSE)。包含认证文件***107B的***100B的实施例可不需要对客户机OS 106的任何内核改变。容器环境103A中可能需要的任何附加元数据可保持在认证文件***107B中。
在***100B的一些实施例中,安全DB 113中的安全工件可包括证书、明文或加密的私钥(例如,由ICSF使用的),以供部署在虚拟环境内的服务器侧应用和由客户机OS 106支持的在容器104A-N内运行的应用使用。在***100B的一些实施例中,RACF可以是在安全DB 113中实施的底层主机OS安全产品,并且实际和虚拟密钥环可以用于证书和私钥存储。真实密钥环被显式地定义并被配置为包括对应于用户ID的特定证书和私钥。RACF虚拟密钥环是主机OS虚拟化层110对应的主机环境中用户ID拥有的所有证书和私钥的集合。RACF密钥环中的该组证书可以由用户或服务器应用用来确定客户端或对等方的可信度。每个RACF用户ID可以与虚拟密钥环相关联。特殊证书机构(CERTAUTH)虚拟密钥环可以包括RACF数据库(包括安全DB
113)中的所有可信CA证书,并且可以由任何用户ID访问。与密钥环相关联的证书可以与用户ID相关联,存储在安全DB 113中,并且由认证文件***107B和认证处理程序109B检索以应用使用和对等验证。
可以包括安全DB 113的实施例的RACF数据库可以存储内部二进制格式的证书,例如隐私增强邮件(PEM)格式和Base64编码的X.509证书。PEM和Base64格式是文本格式,并且可以由认证处理程序109B作为文本来传输。在本发明的一些实施例中,认证处理程序109B可基于证书包格式类型和客户机OS 106执行从扩展二进制编码的十进制交换码(EBCDIC)到用于信息交换的美国标准码(ASCII)的转换。认证处理程序109B可自动从RACF二进制格式转换成虚拟化容器环境103A所需的任何格式。认证处理程序109B进行的一些转换可能需要存储在认证文件***107B内的元数据,或者可基于在安装认证文件***107B期间设置的配置参数来执行。认证处理程序109B可以将证书转换成任何适当的格式以供在客户机OS106中使用,包括但不限于PEM格式、公钥加密标准(PKCS)#12封装、或实现-特定的格式(包括但不限于密钥库或OpenSSL密钥数据库)。认证处理程序109B可基于证书类型和虚拟化环境客户机OS 106来服务任何所需客户机OS证书格式的证书。
应当理解,图1B的框图不旨在指示***100B包括图1B中所示的所有组件。相反,***100B可包括任何适当的更少的或图1B中未示出的附加的组件(例如,附加的存储器组件、嵌入式控制器、功能块、功能块之间的连接、模块、输入、输出、地址空间、CPU、虚拟化容器环境、容器运行时环境、客户机OS、客户机OS虚拟化层、认证文件***、认证处理程序、容器、应用、安全数据库等)。进一步,本文中相对于***100B描述的实施例可用任何合适的逻辑来实现,其中,如本文中提及的逻辑可包括任何合适的硬件(例如,处理器、嵌入式控制器、或专用集成电路等)、软件(例如,应用等)、固件、或硬件、软件、和固件的任何合适的组合。
图2A示出了根据本发明的一个或多个实施例的用于基于容器的环境的集成认证的方法200A的过程流程图。方法200A的实施例可在图1A的***100A中实施且参照图1A的***100A论述。在方法200A的框201中,一个或多个认证文件(诸如认证文件107A)被提供在容器环境103A中的预定义位置处。例如,对于包括容器运行时环境的容器环境103A,容器运行时环境包括私有Docker注册表,可以将认证文件107A置于/etc/docker/certs.d目录下;对于LDAP服务器,可以将认证文件107A置于/etc/ldap/ldap-ca之下;对于HTTP/HTTPS代理服务器,可以将认证文件107A置于/etc/certs.d/docker-proxy-ca之下。诸如认证文件107A之类的认证文件可以被放置在诸如容器环境103A之类的容器环境中的任何适当的位置处。诸如认证文件107A之类的认证文件可具有预定义的文件扩展。预定义的文件扩展可以具有任何适当的格式(例如,符号链接、字符特殊、管道、或套接字文件类型)。在框202中,在容器环境103A中提供认证处理程序109A。认证处理程序109A的提供可以包括对客户机OS 106的内核的修改。
在方法200A的框203中,容器环境103A中的容器104A中的应用访问认证文件107A以便请求安全工件来执行认证操作。在框204中,通过在框203中发生的对认证文件107A的访问来调用认证处理程序109A。认证处理程序109A可由客户机OS 106基于访问的认证文件107A的文件扩展来调用。在框205中,所调用的认证处理程序109A将控制传递至主机OS虚拟化层110以从安全DB 113检索请求的安全工件。在本发明的一些实施例中,在框205中,认证处理程序109A可以实现STHYI接口调用以与主机OS虚拟化层110进行通信。在框205的一些实施例中,可以基于与请求应用相关联的用户ID来执行从安全DB 113取回请求的安全工件。在框206中,经由安全处理程序1109A将请求的安全工件从安全DB 113和主机OS虚拟化层110提供给请求应用。在框206的一些实施例中,认证处理程序109A可以自动地将安全工件从安全DB 113中使用的格式转换成容器104A中的请求应用可使用的格式。可以基于安全工件的文件扩展来执行块206的格式转换。方法200A的框203至206可在***100A的整个操作中重复,以便使在容器环境103A-N中运行的应用访问安全DB 113中的安全工件。
图2A的过程流程图并非旨在指示方法200A的操作将以任何特定次序来执行,或者在每种情况中方法200A的所有操作都将被包括。另外,方法200A可包括任何合适数量的附加操作。
图2B示出了根据本发明一个或多个实施例的用于基于容器的环境的集成认证的方法200B的工艺流程图。方法200B的实施例可在图1B的***100B中实施且参照图1B的***100B论述。在方法200B的框211中,将认证文件***107B挂载至容器环境103A中的预定位置中的客户机OS 106。认证文件***107B包括一个或多个占位符文件和认证处理程序109B。占位符文件可放置在认证文件***107B中的任何适当位置处。占位符文件可与位于客户机OS 106的常规文件***中的适当位置处的符号链接相对应。例如,在本发明的一些实施例中,对于私有Docker注册表,认证文件***107B中的占位符文件的符号链接可包括在/etc/docker/certs.d目录中;对于LDAP服务器,到认证文件***107B中的占位符文件的符号链接可包括在
/etc/ldap/ldap-ca目录中;并且对于HTTP/HTTPS代理服务器,到认证文件***107B中的占位符文件的符号链接可包括在客户机OS 106的常规文件***中的
/etc/certs.d/docker-proxy-ca目录中。在本发明的一些实施例中,将包括认证处理程序109B的认证文件***107B安装在容器环境103A中可能不需要修改客户机OS 106的内核。
在方法200B的框212中,容器环境103A中的容器104A中的应用访问认证文件***107B中的占位符文件,以便请求安全工件来执行认证操作。应用可访问客户机OS 106的常规文件***中的符号链接以便请求安全工件,并且访问被客户机OS 106重定向至与认证文件***107B中所访问的符号链接相对应的占位符文件。在框213中,通过在框212中发生的访问认证文件***107B中的占位符文件来调用认证处理程序109B。在框214中,认证处理程序109B将控制传递到主机OS虚拟化层110以从安全DB 113检索所请求的安全工件。在本发明的一些实施例中,在框214中,认证处理程序109B可以实现STHYI接口调用以与主机OS虚拟化层110进行通信。在框214的一些实施例中,可以基于与请求应用相关联的用户ID来执行从安全DB 113检索所请求的安全工件。在框215中,经由安全处置器1109B从安全DB 113和主机OS虚拟化层110向请求应用提供安全工件。在框215的一些实施例中,认证处理程序109B可以自动地将安全工件从在安全DB 113中使用的格式转换成可由请求应用使用的格式。可以基于安全工件的文件扩展来执行框215的格式转换。方法200B的框212至215可在***100B的整个操作中重复,以便使在容器环境103A-N中运行的应用访问安全DB 113中的安全工件。
图2B的工艺流程图不旨在指示方法200B的操作将以任何特定次序执行,或在每种情况中方法200B的所有操作将被包括。另外,方法200B可包括任何合适数量的附加操作。
应当理解,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人工交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量的服务:云***通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监测、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如网络浏览器(例如,基于网络的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作***、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作***或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,软件可以包括操作***和应用。消费者不管理或控制底层云基础设施,而是具有对操作***、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
部署模型如下:
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图3,描述了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机***54N。节点10可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图3中示出的计算设备54A-N的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
现在参考图4,示出了由云计算环境50(图1)提供的一组功能抽象层。应当事先理解,图4中所示的组件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如所描述,提供以下层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作***74;以及虚拟客户端75。
在一个示例中,管理层80可以提供本文所描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或***。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和***管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行85提供根据SLA预期未来需求的云计算资源的预安排和采购。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;交易处理95;和移动桌面96。
现在转向图5,根据实施例一般地示出了计算机***500。如本文所描述的,计算机***500可以是包括和/或采用利用不同通信技术的任何数量和组合的计算设备和网络的电子计算机框架。计算机***500可以是容易扩展的、可扩展的和模块化的,具有改变成不同服务或独立于其他特征来重新配置某些特征的能力。计算机***500可以是例如服务器、台式计算机、膝上型计算机、平板计算机或智能电话。在一些示例中,计算机***500可以是云计算节点。计算机***500可在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机***500可在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机***存储介质中。
如图5所示,计算机***500具有一个或多个中央处理单元(CPU)501a、501b、501c等。(统称为或通称为处理器501)。处理器501可以是单核处理器、多核处理器、计算集群或任意数量的其他配置。处理器501(也称为处理电路)经由***总线502耦合到***存储器503和不同其他组件。***存储器503可包括只读存储器(ROM)504和随机存取存储器(RAM)505。ROM 504耦接至***总线502并且可包括控制计算机***500的某些基本功能的基本输入/输出***(BIOS)。RAM是耦合至***总线502以供处理器501使用的读写存储器。***存储器503为所述指令在操作期间的操作提供临时存储器空间。***存储器503可包括随机存取存储器(RAM)、只读存储器、闪存或任何其他合适的存储器***。
计算机***500包括耦合到***总线502的输入/输出(I/O)适配器506和通信适配器507。I/O适配器506可以是与硬盘508和/或任何其他类似组件通信的小型计算机***接口(SCSI)适配器。I/O适配器506和硬盘508在本文中统称为大容量存储510。
在计算机***500上执行的软件511可存储在大容量存储510中。大容量存储510是可由处理器501读取的有形存储介质的示例,其中,诸如本文相对于各个附图所描述的,软件511被存储为由处理器501执行以使计算机***500操作的指令。本文中更详细地论述计算机程序产品和此指令的执行的实例。通信适配器507将***总线502与网络512互连,网络512可以是外部网络,使得计算机***500能够与其他这样的***通信。在一个实施例中,***存储器503和大容量存储510的一部分共同存储操作***,它可以是任何适当的操作***,例如来自IBM公司的z/OS或AIX操作***,以协调图5中所示的不同组件的功能。
附加的输入/输出设备被示为经由显示适配器515和接口适配器516连接到***总线502。在一个实施例中,适配器506、507、515和516可以连接到经由中间总线桥(未示出)连接到***总线502的一个或多个I/O总线。显示器519(例如,屏幕或显示监视器)通过显示适配器515连接到***总线502,显示适配器515可包含图形控制器以改善图形密集型应用的性能,以及视频控制器。键盘521、鼠标522、扬声器523等可通过接口适配器516与***总线502互连,接口适配器516可包括例如将多个设备适配器集成到单个集成电路中的超级I/O芯片。用于连接诸如硬盘控制器、网络适配器和图形适配器之类的***设备的合适的I/O总线通常包括诸如***组件互连(PCI)之类的公共协议。因此,如图5中所配置的,计算机***500包括处理器501形式的处理能力、包括***存储器503和大容量存储510的存储能力、诸如键盘521和鼠标522的输入装置、以及包括扬声器523和显示器519的输出能力。
在一些实施例中,通信适配器507可以使用任何合适的接口或协议(诸如互联网小型计算机***接口等)来发送数据。网络512可以是蜂窝网络、无线电网络、广域网(WAN)、局域网(LAN)或互联网等。外部计算设备可通过网络512连接至计算机***500。在一些示例中,外部计算设备可以是外部网络服务器或云计算节点。
应当理解,图5的框图不旨在指示计算机***500将包括图5所示的所有组件。相反,计算机***500可包括任何合适的更少的或图5中未示出的附加的组件(例如,附加的存储器组件、嵌入式控制器、模块、附加的网络接口等)。进一步,本文关于计算机***500描述的实施例可用任何合适的逻辑来实现,其中如本文提及的逻辑在不同实施例中可包括任何合适的硬件(例如,处理器、嵌入式控制器、或专用集成电路等)、软件(例如,应用等)、固件、或硬件、软件、和固件的任何合适的组合。
本文参考相关附图描述了本发明的各种实施例。在不脱离本发明的范围的情况下,可设计本发明的替代实施例。在以下描述和附图中,在元件之间阐述了各种连接和位置关系(例如,上方、下方、相邻等)。除非另有规定,否则这些连接和/或位置关系可以是直接或间接的,并且本发明在此方面并非意图是限制性的。因此,实体的连接可以指直接的或间接的连接,并且实体之间的位置关系可以是直接的或间接的位置关系。此外,本文描述的各种任务和过程步骤可以并入具有本文未详细描述的附加步骤或功能的更全面的程序或过程中。
本文描述的一种或多种方法可以用任何以下技术或以下技术的组合来实现,每个技术都是本领域公知的:具有用于对数据信号实现逻辑功能的逻辑门的分立逻辑电路、具有适当组合逻辑门的专用集成电路(ASIC)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)等。
为了简洁起见,涉及制造和使用本发明的方面的常规技术可以或可以不在本文中详细描述。具体地,用于实现本文所描述的不同技术特征的计算***和特定计算机程序的各个方面是众所周知的。因而,为了简洁起见,许多常规实施细节在本文中仅简要提到或完全省略,而不提供众所周知的***和/或过程细节。
在一些实施例中,各种功能或动作可以在给定位置处发生和/或与一个或多个装置或***的操作结合发生。在一些实施例中,可以在第一设备或位置处执行给定功能或动作的一部分,并且可以在一个或多个附加设备或位置处执行该功能或动作的剩余部分。
本文中使用的术语仅用于描述具体实施方式的目的,而并非旨在进行限制。如本文中使用的,除非上下文另有明确指示,否则单数形式“一(a)”、“一个(an)”和“该(the)”旨在也包括复数形式。还应当理解,当在本说明书中使用术语“包括(comprises)”和/或“包含(comprising)”时,其指定所述特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件部件和/或其组合的存在或添加。
以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等效物旨在包括用于结合如具体要求保护的其他要求保护的元件来执行所述功能的任何结构、材料或动作。本公开已出于说明和描述的目的而呈现,但并不旨在是详尽的或限于所公开的形式。在不背离本公开的范围的情况下,许多修改和变化对于本领域普通技术人员来说是清晰的。选择和描述这些实施例以便最好地解释本披露的原理和实际应用,并且使本领域的其他普通技术人员能够针对具有适合于所预期的特定用途的不同修改的不同实施例来理解本披露。
此处所描绘的图是说明性的。在不背离本公开的范围的情况下,可以对本文所述的图或步骤(或操作)进行许多变化。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。而且,术语“耦接”描述了在两个元件之间具有信号路径,并且不暗示元件之间的直接连接,其间没有中间元件/连接。所有这些变型被认为是本公开的一部分。
以下定义和缩写将用于解释权利要求书和说明书。如在此使用的,术语“包括(comprises)”、“包含(comprising)”、“包括(includes)”、“包括(including)”、“具有(has)”、“具有(having)”、“含有(contains)”或“含有(containing)”或其任何其他变体旨在涵盖非排他性的包括。例如,包含一系列要素的组合物、混合物、工艺、方法、物品或设备不必仅限于那些要素,而是可以包括未明确列出的或这种组合物、混合物、工艺、方法、物品或设备固有的其他要素。
此外,术语“示例性”在本文中用于表示“用作实例、例子或例证”。本文中描述为“示例性”的任何实施方式或设计不一定被解释为优于或优于其他实施例或设计。术语“至少一个”和“一个或多个”应理解为包括大于或等于一的任何整数,即,一个、两个、三个、四个等。术语“多个”应理解为包括大于或等于二的任何整数,即,两个、三个、四个、五个等。术语“连接”可包括间接“连接”和直接“连接”。
术语“约”、“基本上”、“大致”及其变型旨在包括与基于提交申请时可用的设备的特定量的测量相关联的误差程度。例如,“约”可以包括给定值的±8%或5%、或2%的范围。
本发明可以是任何可能的技术细节集成度的***、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质。
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储媒质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、具有记录在其上的指令的诸如穿孔卡或槽中的凸出结构之类的机械编码设备、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
下面将参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储媒质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的***、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的***来实现。
已经出于说明的目的呈现了本发明的各种实施方式的描述,但并不旨在是详尽的或者限于所公开的实施方式。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员来说是清晰的。本文使用的术语被选择来最好地解释实施例的原理、实际应用或优于市场中发现的技术的技术改进,或者使得本领域普通技术人员能够理解本文描述的实施例。

Claims (20)

1.一种计算机实现方法,包括:
由主机***上的管理程序托管的容器环境中的容器中运行的应用访问位于所述容器环境中的认证模块;
基于对所述认证模块的访问来调用所述容器环境中的认证处理程序;
将控制从所述认证处理程序传递至所述管理程序;
由所述管理程序从所述主机***的安全数据库检索安全工件;
经由所述认证处理程序将检索的安全工件提供给所述应用;以及
由所述应用使用所述安全工件来执行认证操作。
2.根据权利要求1所述的方法,其中,所述认证模块包括被所述应用访问以执行所述认证操作的认证文件,其中,所述容器环境中的所述认证文件的位置对应于所述安全工件的类型。
3.根据权利要求2所述的方法,其中,基于所述认证文件的文件扩展调用所述认证处理程序。
4.根据权利要求1所述的方法,其中,所述认证模块包括安装到所述容器环境的客户机操作***(OS)的认证文件***,其中,所述认证文件***包括由所述应用访问以执行所述认证操作的占位符文件。
5.根据权利要求4所述的方法,其中,所述占位符文件是基于所述客户机OS的常规文件***中的符号链接被访问的,并且其中,所述符号链接的位置对应于所述安全工件的类型。
6.根据权利要求4所述的方法,其中,所述认证处理程序位于所述认证文件***中。
7.根据权利要求1所述的方法,其中,经由所述认证处理程序将检索的安全工件提供给所述应用包括:由所述认证处理程序将所述安全工件从用于存储在所述安全数据库中的第一格式转换成由所述应用需要使用的第二格式。
8.一种***,包括:
存储器,具有计算机可读指令;以及
用于执行所述计算机可读指令的一个或多个处理器,所述计算机可读指令控制所述一个或多个处理器执行操作,所述操作包括:
由主机***上的管理程序托管的容器环境中的容器中运行的应用访问位于所述容器环境中的认证模块;
基于对所述认证模块的访问来调用所述容器环境中的认证处理程序;
将控制从所述认证处理程序传递至所述管理程序;
由所述管理程序从所述主机***的安全数据库检索安全工件;
经由所述认证处理程序将检索的安全工件提供给所述应用;以及
由所述应用使用所述安全工件来执行认证操作。
9.根据权利要求8所述的***,其中,所述认证模块包括由所述应用访问以执行所述认证操作的认证文件,其中,所述容器环境中的所述认证文件的位置对应于所述安全工件的类型。
10.根据权利要求9所述的***,其中,基于所述认证文件的文件扩展调用所述认证处理程序。
11.根据权利要求8所述的***,其中,所述认证模块包括安装至所述容器环境的客户机操作***(OS)的认证文件***,其中,所述认证文件***包括由所述应用访问以执行所述认证操作的占位符文件。
12.根据权利要求11所述的***,其中,所述占位符文件是基于所述客户机OS的常规文件***中的符号链接被访问的,并且其中,所述符号链接的位置对应于所述安全工件的类型。
13.根据权利要求11所述的***,其中,所述认证处理程序位于所述认证文件***中。
14.根据权利要求8所述的***,其中,经由所述认证处理程序将检索的安全工件提供给所述应用包括:由所述认证处理程序将所述安全工件从用于存储在所述安全数据库中的第一格式转换成由所述应用需要使用的第二格式。
15.一种计算机程序产品,包括计算机可读存储介质,所述计算机可读存储介质具有以其体现的程序指令,所述程序指令可由一个或多个处理器执行以使所述一个或多个处理器执行操作,所述操作包括:
由主机***上的管理程序托管的容器环境中的容器中运行的应用访问位于所述容器环境中的认证模块;
基于对所述认证模块的访问来调用所述容器环境中的认证处理程序;
将控制从所述认证处理程序传递至所述管理程序;
由所述管理程序从所述主机***的安全数据库检索安全工件;
经由所述认证处理程序将检索的安全工件提供给所述应用;以及
由所述应用使用所述安全工件来执行认证操作。
16.根据权利要求15所述的计算机程序产品,其中,所述认证模块包括被所述应用访问以执行所述认证操作的认证文件,其中,所述容器环境中的所述认证文件的位置对应于所述安全工件的类型。
17.根据权利要求16所述的计算机程序产品,其中,基于所述认证文件的文件扩展调用所述认证处理程序。
18.根据权利要求15所述的计算机程序产品,其中,所述认证模块包括安装至所述容器环境的客户机操作***(OS)的认证文件***,其中,所述认证文件***包括由所述应用访问以执行所述认证操作的占位符文件。
19.根据权利要求18所述的计算机程序产品,其中,所述占位符文件是基于所述客户机OS的常规文件***中的符号链接被访问的,并且其中,所述符号链接的位置对应于所述安全工件的类型。
20.根据权利要求18所述的计算机程序产品,其中,所述认证处理程序位于所述认证文件***中。
CN202180082603.9A 2020-12-21 2021-10-20 用于基于容器的环境的集成认证 Pending CN116670670A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/128,299 US20220197680A1 (en) 2020-12-21 2020-12-21 Integrated authentication for container-based environment
US17/128,299 2020-12-21
PCT/CN2021/124865 WO2022134792A1 (en) 2020-12-21 2021-10-20 Integrated authentication for container-based environment

Publications (1)

Publication Number Publication Date
CN116670670A true CN116670670A (zh) 2023-08-29

Family

ID=82021347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180082603.9A Pending CN116670670A (zh) 2020-12-21 2021-10-20 用于基于容器的环境的集成认证

Country Status (6)

Country Link
US (1) US20220197680A1 (zh)
JP (1) JP2023554503A (zh)
CN (1) CN116670670A (zh)
DE (1) DE112021005852T5 (zh)
GB (1) GB2616999B (zh)
WO (1) WO2022134792A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117938532A (zh) * 2024-02-02 2024-04-26 中央国债登记结算有限责任公司 基于双因素认证的客户端业务仿真测试方法及相关设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12001395B2 (en) * 2022-10-10 2024-06-04 Sap Se Request handling in a multi-protocol cloud environment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856782B2 (en) * 2007-03-01 2014-10-07 George Mason Research Foundation, Inc. On-demand disposable virtual work system
US9098698B2 (en) * 2008-09-12 2015-08-04 George Mason Research Foundation, Inc. Methods and apparatus for application isolation
US8826013B1 (en) * 2009-09-23 2014-09-02 Trend Micro Incorporated Protection of customer data in cloud virtual machines using a central management server
US8412945B2 (en) * 2011-08-09 2013-04-02 CloudPassage, Inc. Systems and methods for implementing security in a cloud computing environment
US9135050B2 (en) * 2012-10-18 2015-09-15 Vmware, Inc. Extensible network configuration management
US9979704B2 (en) * 2014-12-17 2018-05-22 Cisco Technology, Inc. End-to-end security for virtual private service chains
US20160292431A1 (en) * 2015-04-02 2016-10-06 defend7, Inc. Management of encryption keys in an application container environment
US10171437B2 (en) * 2015-04-24 2019-01-01 Oracle International Corporation Techniques for security artifacts management
US10007534B2 (en) * 2015-08-11 2018-06-26 Vmware, Inc. Methods and apparatus to manage asset capabilities in a computing environment using a common agent framework
CN105099706A (zh) * 2015-08-25 2015-11-25 华为技术有限公司 一种数据通信方法、用户设备和服务器
US9935772B1 (en) * 2016-02-19 2018-04-03 Vijay K Madisetti Methods and systems for operating secure digital management aware applications
EP3721366B1 (en) * 2017-12-04 2022-10-26 British Telecommunications public limited company Software container application encryption
US11599378B2 (en) * 2020-12-09 2023-03-07 Dell Products L.P. Data encryption key management system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117938532A (zh) * 2024-02-02 2024-04-26 中央国债登记结算有限责任公司 基于双因素认证的客户端业务仿真测试方法及相关设备

Also Published As

Publication number Publication date
JP2023554503A (ja) 2023-12-27
GB2616999A (en) 2023-09-27
US20220197680A1 (en) 2022-06-23
DE112021005852T5 (de) 2023-08-24
WO2022134792A1 (en) 2022-06-30
GB2616999B (en) 2024-05-15

Similar Documents

Publication Publication Date Title
CN112119374B (zh) 使用替代服务器名称选择性地提供相互传输层安全
US20190342391A1 (en) Requesting storage performance models for a configuration pattern of storage resources to deploy at a client computing environment
US20180137296A1 (en) Providing containers access to container daemon in multi-tenant environment
US9459897B2 (en) System and method for providing data analysis service in cloud environment
US11153316B2 (en) Locked-down cluster
US10891569B1 (en) Dynamic task discovery for workflow tasks
Fehling et al. A collection of patterns for cloud types, cloud service models, and cloud-based application architectures
US20170031673A1 (en) Updating database drivers for client applications through a database server push
US11455429B2 (en) Container-based cryptography hardware security module management
WO2022134792A1 (en) Integrated authentication for container-based environment
WO2023061220A1 (en) Managing proprietary structured objects
US10606480B2 (en) Scale-out container volume service for multiple frameworks
CN114595467A (zh) 针对数据中心对象的多阶段保护
WO2023035742A1 (en) Open-source container data management
US10681113B2 (en) Geographically distributed highly available mailbox
US11558387B2 (en) Validation of approver identifiers in a cloud computing environment
CN115485677A (zh) 在分布式数据存储环境中的安全数据复制
US11875202B2 (en) Visualizing API invocation flows in containerized environments
US11526534B2 (en) Replicating data changes through distributed invalidation
Baun et al. Open source cloud stack
CN116194921A (zh) 数据引擎的安全进出
Polze A comparative analysis of cloud computing environments
CN116668281A (zh) 一种大数据多租户集群的管理方法、装置及介质
CN115774661A (zh) 具有用户数据隔离的多用户调试
CN115935380A (zh) 用于容器中的数据的自动加密***

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