JP7843837B2 - コンテナ・システムのデータ管理方法、およびシステム - Google Patents

コンテナ・システムのデータ管理方法、およびシステム

Info

Publication number
JP7843837B2
JP7843837B2 JP2024512104A JP2024512104A JP7843837B2 JP 7843837 B2 JP7843837 B2 JP 7843837B2 JP 2024512104 A JP2024512104 A JP 2024512104A JP 2024512104 A JP2024512104 A JP 2024512104A JP 7843837 B2 JP7843837 B2 JP 7843837B2
Authority
JP
Japan
Prior art keywords
data
aforementioned
credentials
pod
container
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
JP2024512104A
Other languages
English (en)
Other versions
JP2024533068A (ja
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.)
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 JP2024533068A publication Critical patent/JP2024533068A/ja
Application granted granted Critical
Publication of JP7843837B2 publication Critical patent/JP7843837B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/45562Creating, deleting, cloning virtual machine instances

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Description

本開示は、デジタル・ストレージ管理に関し、より詳細には、オープン・ソース・コンテナのデータ管理に関する。
クラウド・コンピューティングは、展開のためのコンテナ・システムをますます実装している。オープン・ソース・コンテナ環境は、適応型ロード・バランシング、サービス登録、展開、動作、リソース・スケジューリング、および容量スケーリングを提案している。オープン・ソース・コンテナ・クラスタは、ノードを利用し、ノードは、データをプルし、保有して、そのデータを使用することができる。
本開示の実施形態は、オープン・ソース・コンテナ・システムにおけるイメージ管理のためのシステム、方法、およびコンピュータ・プログラム製品を含む。
本開示に従ったシステムは、メモリと、メモリと通信するプロセッサとを含むことができる。プロセッサは、鍵ペアを生成することと、データ資格情報シークレットを作成するために、データ資格情報を公開鍵で暗号化することとを含む動作を実施するように構成され得る。動作は、データ資格情報シークレットをホスト上のクラスタに格納することと、クラスタ上にワークロードを展開することとをさらに含むことができる。動作はまた、ホストに空のバンドルを構築することと、ポッド信頼実行環境(pod trusted execution environment)を生成することとを含むことができる。
本開示のいくつかの実施形態において、動作は、暗号化されたデータ・プル資格情報を用いてデータ・プル要求をサブミットすることと、復号されたデータを生成するために、ポッド信頼実行環境においてデータ資格情報シークレットを秘密鍵で復号することとを含むことができる。いくつかの実施形態において、動作は、データ・プル要求を、ポッド信頼実行環境にshimを用いて転送することをさらに含むことができる。いくつかの実施形態において、動作は、復号されたデータを、ポッド信頼実行環境内のCRIイメージ・サービスにサブミットすることをさらに含むことができる。
本開示のいくつかの実施形態において、動作は、リアルなコンテナ・バンドルを生成するために、CRIランタイム・サービスを呼び出すことと、リアルなコンテナ・バンドルを起動することとを含むことができる。いくつかの実施形態において、動作は、リアルなコンテナ・バンドルにおいてデータ資格情報シークレットを復号することを含むことができる。
本開示のいくつかの実施形態において、動作は、コンテナ要求を受信することと、データ資格情報シークレットを用いてプル・データ要求を受信することとを含むことができる。
本開示のいくつかの実施形態において、データ資格情報はイメージ資格情報であってよい。
上の概要は、本開示のそれぞれの例証される実施形態またはあらゆる手段を説明することを意図したものではない。
本出願に含まれる図面は、本明細書の中に組み込まれており、その一部を形成している。図面は、本開示の実施形態を例証しており、本説明と共に本開示の原理を明らかにするために役立つ。図面は、一定の実施形態を例証しているにすぎず、本開示を限定するものではない。
本開示のいくつかの実施形態に従ったデータ管理システムを例証する図である。 本開示のいくつかの実施形態に従ったデータ管理システムを表す図である。 本開示のいくつかの実施形態に従ったデータ管理方法を例証する図である。 本開示のいくつかの実施形態に従ったデータ管理方法を表す図である。 本開示の実施形態に従ったクラウド・コンピューティング環境を例証する図である。 本開示の実施形態に従った抽象モデル・レイヤを表す図である。 本開示の実施形態に従って、本明細書で説明される方法、ツール、およびモジュール、ならびに任意の関連機能のうちの1つまたは複数を実装する際に使用される例示的なコンピュータ・システムの高レベル・ブロック図である。
本発明はさまざまな修正形態および代替形態を受け入れやすく、その細部は、図面に例として示されており、詳細に説明されることになる。しかしながら、その意図は、本発明を説明される特定の実施形態に限定するものではないことが理解されるべきである。それとは反対に、その意図は、本発明の範囲内に入るすべての修正形態、均等形態、および代替形態を包含することである。
本開示の態様は、デジタル・ストレージ管理に関し、より詳細には、オープン・ソース・コンテナのイメージ管理に関する。
オープン・ソース・コンテナ・システムは、システムによって保持される、またはシステムにおいて使用されるデータを管理するために、コンテナ・ランタイム・インターフェース(CRI)の使用を含むことができる。たとえば、ワークロード・イメージが、コンテナで使用するためにワーカ・ノードの中にプルされることがある。データ(ワークロード・イメージなど)は、他のコンテナにおけるワークロードによって、コンテナ間のセキュリティ・チェックポイントなしに、ワーカ・ホストにおいて直接アクセスされ得る。センシティブなデータ(たとえば、ユーザのイメージにおける情報などのユーザに関する情報)が、無認可のエンティティに晒されることがある。さらに、データは、オープン・ソース・コンテナ・クラスタのetcdに格納されるとき、単にbase64でエンコードされているだけのことがあり、その結果、情報が、他のコンテナに、またはオープン・ソース・コンテナ・クラスタの管理者に見られることがある。結果として、ユーザは、自分のデータをホスト上に格納するのを思いとどまることがある。
本開示は、ワークロード・データを保護し、データ・プルのプライバシを維持するように、オープン・ソース・コンテナ・クラスタにおいて使用するためのデータ管理システムおよび方法を提供する。ドキュメント、スプレッドシート、コード・ファイル、データベース、イメージ、その他などのさまざまなタイプのデータを、本開示に従って管理することができる。本開示のいくつかの実施形態において、管理されたデータは、1つまたは複数の管理されたイメージを含むことができる。
オープン・ソース・コンテナのデータ管理は、すべてのデータがワーカ・ノードにプルされるように、CRIによりワークロード・データをプルすることがある。たとえば、エンド・ユーザがバックエンド・サービスとしてcontainerdを使用する場合、イメージがk8s.io名前空間に保存されることがあり、そのイメージは、ワーカ・ホストにおいて直接アクセスされ得る。このメカニズムはセキュリティを欠いており、セキュリティの欠如の結果として、コンテナ・イメージ・データをワーカ・ホスト上に保存したくないユーザがいることがある。データ・プル・シークレット(上述した例では、イメージ・プル・シークレット)は、base64でのみエンコードされ、その後クラスタのetcdに格納されていることがあり、結果として、データは、クラスタの管理者によって、またはポッドにおける他のコンテナから見ることが可能である。
本開示に従って、エンド・ユーザは、データを信頼できる仮想マシン(VM)に格納して、データ・プル・シークレットを保護することができ、データ・プル・シークレットは、使用前に暗号化することができ、信頼できるVMにおいてのみ復号することが可能である。エンド・ユーザは、データを保護し、データにセキュリティを提供しながら、信頼できるVM上でワークロードを稼働させることができる。
本開示に従ったシステムは、メモリと、メモリと通信するプロセッサとを含むことができる。プロセッサは、鍵ペアを生成することと、データ資格情報シークレットを作成するために、データ資格情報を公開鍵で暗号化することとを含む動作を実施するように構成され得る。動作は、データ資格情報シークレットをホスト上のクラスタに格納することと、クラスタ上にワークロードを展開することとをさらに含むことができる。動作はまた、ホストに空のバンドルを生成することと、ポッド信頼実行環境を生成することとを含むことができる。
本開示のいくつかの実施形態において、動作は、暗号化されたデータ・プル資格情報を用いてデータ・プル要求をサブミットすることと、復号されたデータを生成するために、ポッド信頼実行環境においてデータ資格情報シークレットを秘密鍵で復号することとを含むことができる。いくつかの実施形態において、動作は、データ・プル要求を、ポッド信頼実行環境にshimを用いて転送することをさらに含むことができる。いくつかの実施形態において、動作は、復号されたデータを、ポッド信頼実行環境内のCRIイメージ・サービスにサブミットすることをさらに含むことができる。
本開示のいくつかの実施形態において、動作は、リアルなコンテナ・バンドルを生成するために、CRIランタイム・サービスを呼び出すことと、リアルなコンテナ・バンドルを起動することとを含むことができる。いくつかの実施形態において、動作は、リアルなコンテナ・バンドルにおいてデータ資格情報シークレットを復号することを含むことができる。
本開示のいくつかの実施形態において、動作は、コンテナ要求を受信することと、データ資格情報シークレットを用いてプル・データ要求を受信することとを含むことができる。
本開示のいくつかの実施形態において、データ資格情報はイメージ資格情報であってよい。
図1は、本開示のいくつかの実施形態に従ったデータ管理システム100を例証している。データ管理システム100は、ホスト102と、ゲスト120と、プレースホルダ・データ140と、それらと相互作用する他のコンポーネントとを含む。
ホスト102は、ランタイム・サービス112およびデータ・サービスCRIプラグイン118と通信するノード・エージェント110(たとえば、kubelet)を有することができる。ランタイム・サービス112は、CRIサービスCRIプラグイン114と通信することができ、CRIサービスCRIプラグイン114は、データ・サービスCRIプラグイン118およびshim116と通信することができる。
データ・サービスCRIプラグイン118は、プレースホルダ・データ140を生成する、またはプレースホルダ・データ140と通信する、あるいはその両方を行うことができる。プレースホルダ・データ140は、クラスタのアプリケーション・プログラミング・インターフェース(API)要件を履行するのに十分な情報であってよい。プレースホルダ・データ140は、ホスト102がコンテンツ・データ130のプライバシおよびセキュリティを守りながら、コンテンツ・データ130のために適正に準備できるような、クラスタ上に格納されることになるコンテンツ・データ130に関連した、もしくは関連していないストック情報または他の情報であってよい。プレースホルダ・データ140は、メタデータ142、コンテンツ144、またはデータ・コンポーネント146、あるいはその組合せ(たとえば、イメージについてのスナップショット、またはドキュメントのページ)を含むことができる。
データ・コンポーネント146は、ホスト102上の空のバンドル148と通信することができる。空のバンドル148は、ホスト102上の他のオブジェクトとの直接通信から独立して、ホスト上に存在することができる。たとえば、データ管理のいくつかの方法が、本開示に従って、CRIサービスCRIプラグイン114、またはゲスト120もしくはそのサブコンポーネント、あるいはその組合せと通信するバンドルを有することができるのに対して、空のバンドル148は、CRIサービスCRIプラグイン114からも、ゲスト120およびそのサブコンポーネントからも独立していてよい。
shim116は、エージェント122を介して、ゲスト120と通信することができる。エージェント122は、コンテナ124を生成し、本開示に従って格納されることになるコンテンツ・データ130と通信することができる。コンテンツ・データ130は、たとえば、データ・コンポーネント132と、コンテンツ134と、メタデータ136とを含むことができる。エージェント122は、コンテンツ・データ130内のコンテンツ134と直接通信することができる。コンテンツ・データ130は、ゲスト120上でバンドル126の生成をプロンプトすることができ、バンドル126は、エージェント122と通信するコンテナ124と通信することができる。
いくつかの実施形態において、ユーザは、鍵ペアを生成し、鍵ペアにおける公開鍵を使用して、dockerイメージ・シークレットを暗号化することができる。ユーザは、暗号化されたイメージ・プル・シークレットをクラスタに格納し、信頼できるイメージ・サービスを使用するようにクラスタを構成することができる。ユーザは、標準的にワークロードを展開することができ、信頼できるイメージ・サービスが、フェイク・コンテナ・イメージ・データをホストに生成し、関連したプル・イメージ要求をメモリにキャッシュすることができる。信頼できるVM shimプラグインが、新しいVMイメージ・サービスにクエリして、メモリにおける関連したプル・イメージ要求を入手することができる。信頼できるVM shimプラグインは、信頼できるVMサービスを呼び出して、信頼できるVMを生成することができ、いかなるエンティティも信頼できるVMに直接アクセスすることができないように、秘密鍵が、信頼できるVMに格納され得る。信頼できるVM shimプラグインは、プル・イメージ要求を、信頼できるVMに転送することができる。信頼できるVMにおいて、暗号化されたイメージ・プル・シークレットは、鍵ペアのうちの秘密鍵を使用して復号され得る。コンテナ・イメージ・データは、信頼できるVMにプルされてよく、信頼できるVM shimプラグインは、プルされたコンテナ・イメージを用いてコンテナを生成することができる。
図2は、本開示のいくつかの実施形態に従ったデータ管理システム200を表している。データ管理システム200は、ユーザ210からのサブミッションと、クラスタ220と、VMプロバイダ250と、ポッド信頼実行環境260とを含むことができる。
ユーザ210からのサブミッションは、鍵ペア212と、暗号化された資格情報214とを含むことができる。ユーザは、鍵ペア212および暗号化された資格情報214を、クラスタ220にサブミットすることができる。クラスタ220は、Kubernetes(R)クラスタ(k8s(R)クラスタともまた呼ばれてよい)などのオープン・ソース・コンテナ・クラスタ、オープン・シフト・クラスタ、または他のコンテナ・クラスタを含む任意のコンテナ・クラスタであってよい。クラスタ220は、暗号化された資格情報214を格納し(222)、ワーカ・ノード230を展開する(224)ことができる。
ワーカ・ノード230は、ノード・エージェントCRIクライアント232と、コンテナ・ランタイム240とを含むことができる。ノード・エージェントCRIクライアント232は、たとえば、kubelet CRIエージェント、または同様のサーバ・プロセスであってよい。コンテナ・ランタイム240は、CRIデータ・サービス拡張242と、CRIデータ・サービス244と、CRIランタイム・サービス246と、shimプラグイン拡張248とを含むことができる。ノード・エージェントCRIクライアント232は、CRIデータ・サービス拡張242およびCRIランタイム・サービス246と通信することができる。
CRIデータ・サービス拡張242は、暗号化された資格情報214をキャッシュし、空のコンテナ要求をホストに生成することができる。shimプラグイン拡張248は、生成された空のコンテナ要求を受信することができ、shimプラグイン拡張248はまた、暗号化された資格情報214を用いて任意のデータ・プル要求を受信することができる。shimプラグイン拡張248は、VMプロバイダ250に接触し、鍵ペア212のうちの秘密鍵を使用してワーカ・ノード230の外部のデータ管理システム200にポッド信頼実行環境260を生成するように、VMプロバイダ250をプロンプトすることができる。shimプラグイン拡張248は、新しく生成されたポッド信頼実行環境260と通信することができる。
ポッド信頼実行環境260は、エージェント・サービス270と、コンテナ・ランタイム280とを含むことができる。エージェント・サービス270は、データ・ハンドラ272と、コンテナ・ハンドラ274とを含むことができ、コンテナ・ランタイム280は、CRIデータ・サービス282と、CRIランタイム・サービス284とを含むことができる。エージェント・サービス270のコンテナ・ハンドラ274は、CRIランタイム・サービス284と通信して、復号されたデータを含むデータのストレージのためのコンテナを生成することができる。
ワーカ・ノード230におけるshimプラグイン拡張248は、ポッド信頼実行環境260のエージェント・サービス270におけるデータ・ハンドラ272と通信することができる。データ・ハンドラ272は、暗号化された資格情報214を、鍵ペア212のうちの秘密鍵で復号することができる。データ・ハンドラ272は、CRIデータ・サービス282と通信することができ、この通信は、復号されたデータを、ポッド信頼実行環境260内でのセキュアなストレージのためにCRIデータ・サービス282に転送することを含む。
図3は、本開示のいくつかの実施形態に従ったデータ管理方法300を例証している。データ管理方法300は、データ・プル要求を受信すること(302)と、認可情報が既に存在しているかどうかを識別すること(310)とを含むことができる。認可情報がまだ存在していない場合、データ・プル要求は、CRIにサブミットされ得る(334)。本開示のいくつかの実施形態に従って、認可情報がまだ存在していない場合、CRIおよびデータへのアクセスは失敗する(350)。
認可情報が存在している場合、データ管理方法300は、ユーザが秘密鍵を提供しているかどうかを検出すること(320)によって続行することができる。秘密鍵が提供されていない場合、データへのアクセスは失敗し(350)、正しい秘密鍵が提供されている場合、資格情報(たとえば、ユーザ名とパスワードとの組合せ)を復号すること(330)、および提供された資格情報が適切な資格情報であるかどうかを評価することによって、プロセスは続行することができる。資格情報が適正でない場合、データへのアクセスは失敗し(350)、資格情報が適正である場合、復号された資格情報を使用してデータ・プル要求を生成すること(332)によって、プロセスは続行する。プロセスは、暗号化されたデータへのアクセスを付与するために、データ・プル要求をCRIにサブミットすること(334)を含むことができる。
図4は、本開示のいくつかの実施形態に従ったデータ管理方法400を表している。データ管理方法400は、鍵ペアを生成すること(410)を含むことができる。鍵ペアは、公開鍵と秘密鍵とを含むことができる。データ管理方法400は、鍵ペアのうちの1つの鍵(たとえば、公開鍵)を使用して、セキュアにされるべきデータを暗号化すること(412)を含むことができる。データ管理方法400は、暗号化されたデータを格納すること(414)をさらに含むことができる。
データ管理方法400は、ワークロードを展開すること(420)と、空のバンドルを構築すること(422)とを含むことができる。データ管理方法400は、ポッド信頼実行環境を生成すること(424)を含むことができる。
本開示のいくつかの実施形態において、データ管理方法400は、鍵ペアを生成すること(410)と、データ資格情報シークレットを作成するために、データ資格情報を公開鍵で暗号化すること(412)を含むことができる。データ管理方法400は、データ資格情報シークレットをホスト上のクラスタに格納すること(414)と、クラスタ上にワークロードを展開すること(420)とをさらに含むことができる。データ管理方法400はまた、ホストに空のバンドルを構築すること(422)と、ポッド信頼実行環境を生成すること(424)とを含むことができる。
本開示のいくつかの実施形態において、データ管理方法400は、暗号化されたデータ・プル資格情報を用いてデータ・プル要求をサブミットすることと、復号されたデータを生成するために、ポッド信頼実行環境においてデータ資格情報シークレットを秘密鍵で復号することとを含むことができる。いくつかの実施形態において、データ管理方法400は、データ・プル要求を、ポッド信頼実行環境にshimを用いて転送することをさらに含むことができる。いくつかの実施形態において、データ管理方法400は、復号されたデータを、ポッド信頼実行環境内のCRIイメージ・サービスにサブミットすることをさらに含むことができる。
本開示のいくつかの実施形態において、データ管理方法400は、リアルなコンテナ・バンドルを生成するために、CRIランタイム・サービスを呼び出すことと、リアルなコンテナ・バンドルを起動することとを含むことができる。いくつかの実施形態において、データ管理方法400は、リアルなコンテナ・バンドルにおいてデータ資格情報シークレットを復号することを含むことができる。
本開示のいくつかの実施形態において、データ管理方法400は、コンテナ要求を受信することと、データ資格情報シークレットを用いてプル・データ要求を受信することとを含むことができる。
本開示のいくつかの実施形態において、データ管理方法400を使用して格納されたデータ資格情報は、イメージ資格情報であってよい。
本開示はクラウド・コンピューティングについての詳細な説明を含むものの、本明細書で列挙された教示の実装形態は、クラウド・コンピューティング環境には限定されないことが理解されることになる。むしろ、本開示の実施形態は、現在知られている、または後に開発される任意の他のタイプのコンピューティング環境と併せて実装される能力がある。
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの相互作用で、迅速にプロビジョニングされ、リリースされる、構成可能なコンピューティング・リソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの、便利でオン・デマンドなネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特性と、少なくとも3つのサービス・モデルと、少なくとも4つの展開モデルとを含むことができる。
特性は、以下の通りである。
オン・デマンドなセルフ・サービス:クラウド・コンシューマは、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を、必要に応じて、サービスのプロバイダとの人的相互作用を必要とすることなく自動的に、一方向にプロビジョニングすることができる。
広範なネットワーク・アクセス:能力は、ネットワーク上で利用可能であり、異種類のシンまたはシック・クライアント・プラットフォーム(たとえば、モバイル電話、ラップトップ、およびPDA)による使用を奨励する標準メカニズムを通してアクセスされる。
リソース・プーリング:プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを使用して多数のコンシューマにサービス提供するためにプールされ、異なる物理リソースおよび仮想リソースが、デマンドに応じて、動的に割り当てられ、かつ再割り当てされる。コンシューマは一般に、提供されたリソースの厳密な分配(portion)についての制御または知識を持たないが、より高レベルの抽象概念での分配(たとえば、国、州、またはデータセンタ)を指定することができてもよいという点において、分配独立性の観念が存在する。
迅速な弾力性:能力は、迅速かつ弾力的に、いくつかのケースでは自動的にプロビジョニングされて素早くスケール・アウトし、迅速にリリースされて素早くスケール・インすることができる。コンシューマにとっては、プロビジョニングするために利用可能であるこの能力が、しばしば、無制限で、いつでもいかなる量でも購入できるように見える。
計測されたサービス:クラウド・システムは、サービスのタイプ(たとえば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント)に適切な抽象化の何らかのレベルで計量能力を活用することによって、リソース使用を自動的に制御し、最適化する。リソース使用量は、モニタされ、制御され、報告されて、利用されるサービスのプロバイダおよびコンシューマの両方に透明性を提供することができる。
サービス・モデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):コンシューマに提供される能力は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(たとえば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通して、さまざまなクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を考え得る例外とすると、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション能力さえも含む、基礎を成すクラウド・インフラストラクチャを管理または制御しない。
サービスとしてのプラットフォーム(PaaS):コンシューマに提供される能力は、プロバイダによってサポートされたプログラミング言語およびツールを使用して作成されたコンシューマが作成または取得したアプリケーションを、クラウド・インフラストラクチャ上に展開することである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎を成すクラウド・インフラストラクチャを管理または制御しないものの、コンシューマは、展開されたアプリケーション、および場合により、アプリケーション・ホスティング環境構成に対する制御を有する。
サービスとしてのインフラストラクチャ(IaaS):コンシューマに提供される能力は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをコンシューマが展開し稼働させることができる、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基礎を成すクラウド・インフラストラクチャを管理または制御しないものの、オペレーティング・システム、ストレージ、および展開されたアプリケーションに対する制御を有し、コンシューマは、場合により、選択ネットワーキング・コンポーネント(たとえば、ホストのファイアウォール)の限定された制御を有する。
展開モデルは、以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運営される。クラウド・インフラストラクチャは、その組織またはサード・パーティによって管理されてよく、オン・プレミスまたはオフ・プレミスに存在することができる。
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、関心事(たとえば、ミッション、セキュリティ要件、ポリシ、またはコンプライアンス上の検討事項、あるいはその組合せ)を共有している特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織またはサード・パーティによって管理されてよく、オン・プレミスまたはオフ・プレミスに存在することができる。
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大規模な業界グループに利用可能にされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成であり、このクラウドは、固有のエンティティのままであるものの、データおよびアプリケーションのポータビリティを可能にする標準化技術または独自開発技術(たとえば、クラウド間でロード・バランシングするためのクラウド・バースティング)によって共にバインドされている。
クラウド・コンピューティング環境は、ステートレスであること、低結合性、モジュール性、および意味論的な相互運用性に焦点を合わせたサービス指向である。クラウド・コンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
図5は、本開示の実施形態に従ったクラウド・コンピューティング環境510を例証している。示されるように、クラウド・コンピューティング環境510は、1つまたは複数のクラウド・コンピューティング・ノード500を含み、たとえば、パーソナル・デジタル・アシスタント(PDA)もしくはセルラ電話500A、デスクトップ・コンピュータ500B、ラップトップ・コンピュータ500C、または自動車コンピュータ・システム500N、あるいはその組合せなどの、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが、ノード500と通信することができる。ノード500同士は、互いに通信することができる。ノード500は、上で説明されたプライベート、コミュニティ、パブリック、またはハイブリッド・クラウド、あるいはその組合せなどの、1つもしくは複数のネットワークにおいて、物理的にまたは仮想的にグループ化(図示せず)されてもよい。
これにより、クラウド・コンシューマがローカル・コンピューティング・デバイス上でリソースを維持することを必要としない、サービスとしての、インフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せを、クラウド・コンピューティング環境510が提案することが可能になる。図5に示されたコンピューティング・デバイス500A~Nのタイプは、例証のみであることが意図されており、コンピューティング・ノード500およびクラウド・コンピューティング環境510は、任意のタイプのネットワーク上で、またはネットワーク・アドレス可能な接続上で、あるいはその両方の上で(たとえば、ウェブ・ブラウザを使用して)、任意のタイプのコンピュータ化されたデバイスと通信することができることが理解される。
図6は、本開示の実施形態に従ってクラウド・コンピューティング環境510(図5)によって提供された抽象モデル・レイヤ600を例証している。図6に示されたコンポーネント、レイヤ、および機能は、例証のみであることが意図され、本開示の実施形態は、それらに限定されないことをあらかじめ理解すべきである。下に表すように、以下のレイヤおよび対応する機能が提供される。
ハードウェアおよびソフトウェア・レイヤ615は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム602と、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ604と、サーバ606と、ブレード・サーバ608と、ストレージ・デバイス611と、ネットワークおよびネットワーキング・コンポーネント612とを含む。いくつかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア614と、データベース・ソフトウェア616とを含む。
仮想化レイヤ620は、仮想エンティティの以下の例、すなわち、仮想サーバ622と、仮想ストレージ624と、仮想プライベート・ネットワークを含む仮想ネットワーク626と、仮想アプリケーションおよびオペレーティング・システム628と、仮想クライアント630とを、そこから提供することができる抽象レイヤを提供する。
一例において、管理レイヤ640は、下で説明される機能を提供することができる。リソース・プロビジョニング642は、クラウド・コンピューティング環境内でタスクを実施するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。計量および価格設定644は、リソースがクラウド・コンピューティング環境内で利用されるときのコスト・トラッキング、ならびにこれらのリソースの消費についての課金またはインボイス作成を提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマおよびタスクについてのアイデンティティ検証、ならびにデータおよび他のリソースのための保護を提供する。ユーザ・ポータル646は、クラウド・コンピューティング環境へのアクセスを、コンシューマおよびシステム管理者に提供する。サービス・レベル管理648は、求められたサービス・レベルが満たされるように、クラウド・コンピューティングのリソース配分および管理を提供する。サービス・レベル合意書(SLA)計画および履行650は、SLAに従って今後の要件が予想されるクラウド・コンピューティング・リソースについての事前手配およびその調達を提供する。
ワークロード・レイヤ660は、クラウド・コンピューティング環境がそのために利用される機能性の例を提供する。このレイヤから提供されるワークロードおよび機能の例は、マッピングおよびナビゲーション662と、ソフトウェア開発およびライフサイクル管理664と、仮想クラスルーム教育配信667と、データ解析処理668と、トランザクション処理670と、クラスタ・データ管理672とを含む。
図7は、本開示の実施形態に従って、本明細書で説明される方法、ツール、およびモジュール、ならびに任意の関連機能のうちの1つまたは複数を(たとえば、コンピュータの1つもしくは複数のプロセッサ回路またはコンピュータ・プロセッサを使用して)実装する際に使用される例示的なコンピュータ・システム701の高レベル・ブロック図を例証している。いくつかの実施形態において、コンピュータ・システム701の主要なコンポーネントは、1つまたは複数の中央処理ユニット(CPU)702A、702B、702C、および702Dを含むプロセッサ702と、メモリ・サブシステム704と、端末インターフェース712と、ストレージ・インターフェース716と、I/O(入力/出力)デバイス・インターフェース714と、ネットワーク・インターフェース718とを含むことができ、それらのすべては、直接、またはメモリ・バス703、I/Oバス708、およびI/Oバス・インターフェース・ユニット710を介したコンポーネント間通信の場合は間接的に、通信可能に結合されていてよい。
コンピュータ・システム701は、本明細書では総称してCPU702と呼ばれる、1つまたは複数の汎用プログラマブルCPU702A、702B、702C、および702Dを収容することができる。いくつかの実施形態において、コンピュータ・システム701は、比較的大規模なシステムに典型的な多数のプロセッサを収容することができ、しかしながら、他の実施形態において、コンピュータ・システム701は、代替として単一CPUシステムであってもよい。各CPU702は、メモリ・サブシステム704に格納された命令を実行することができ、1つまたは複数のレベルのオン・ボード・キャッシュを含むことができる。
システム・メモリ704は、ランダム・アクセス・メモリ(RAM)722またはキャッシュ・メモリ724などの揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム701は、他のリムーバブル/非リムーバブル、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。例のみとして、「ハード・ドライブ」などの非リムーバブルな不揮発性の磁気媒体から読み出し、そこに書き込むためのストレージ・システム726が提供され得る。示されてはいないが、リムーバブルな不揮発性の磁気ディスク(たとえば、「フロッピ(R)ディスク」)から読み出し、そこに書き込むための磁気ディスク・ドライブ、または、CD-ROM、DVD-ROM、もしくは他の光学媒体などのリムーバブルな不揮発性の光学ディスクから読み出すか、そこに書き込むための光学ディスク・ドライブが提供されてもよい。加えて、メモリ704は、フラッシュ・メモリ、たとえば、フラッシュ・メモリ・スティック・ドライブまたはフラッシュ・ドライブを含むことができる。メモリ・デバイスは、1つまたは複数のデータ媒体インターフェースによって、メモリ・バス703に接続され得る。メモリ704は、さまざまな実施形態の機能を遂行するように構成されたプログラム・モジュールのセット(たとえば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
1つまたは複数のプログラム/ユーティリティ728は、そのそれぞれがプログラム・モジュール730の少なくとも1つのセットを有しており、メモリ704に格納され得る。プログラム/ユーティリティ728は、ハイパーバイザ(仮想マシン・モニタともまた呼ばれる)と、1つまたは複数のオペレーティング・システムと、1つまたは複数のアプリケーション・プログラムと、他のプログラム・モジュールと、プログラム・データとを含むことができる。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データのそれぞれ、またはそれらの何らかの組合せは、ネットワーキング環境の実装形態を含むことができる。プログラム728、またはプログラム・モジュール730、あるいはその両方は、一般に、さまざまな実施形態の機能または方法論を実施する。
図7には、メモリ・バス703がCPU702とメモリ・サブシステム704とI/Oバス・インターフェース710との間に直接通信経路を提供する単一のバス構造として示されているものの、いくつかの実施形態において、メモリ・バス703は、多数の異なるバスまたは通信経路を含むことができ、それらが、階層、スター、またはウェブ構成におけるポイント・ツー・ポイントのリンク、多数の階層バス、並列および冗長経路、あるいは任意の他の適切なタイプの構成などの、さまざまな形態のうちのいずれかで配列されてもよい。さらに、I/Oバス・インターフェース710およびI/Oバス708は単一のそれぞれのユニットとして示されているものの、いくつかの実施形態において、コンピュータ・システム701は、多数のI/Oバス・インターフェース・ユニット710、多数のI/Oバス708、またはその両方を収容してもよい。さらに、種々のI/Oデバイスに延びるさまざまな通信経路からI/Oバス708を分離する多数のI/Oインターフェース・ユニット710が示されているものの、他の実施形態においては、I/Oデバイスのうちのいくつかまたはすべてが、1つまたは複数のシステムI/Oバス708に直接接続されてもよい。
いくつかの実施形態において、コンピュータ・システム701は、直接的なユーザ・インターフェースをほとんどもしくは全く持たず、しかし他のコンピュータ・システム(クライアント)からの要求を受信する、マルチ・ユーザ・メインフレーム・コンピュータ・システム、シングル・ユーザ・システム、サーバ・コンピュータ、または同様のデバイスであってよい。さらに、いくつかの実施形態において、コンピュータ・システム701は、デスクトップ・コンピュータ、ポータブル・コンピュータ、ラップトップもしくはノートブック・コンピュータ、タブレット・コンピュータ、ポケット・コンピュータ、電話、スマートフォン、ネットワーク・スイッチもしくはルータ、または任意の他の適切なタイプの電子デバイスとして実装されてもよい。
図7は、例となるコンピュータ・システム701の代表的な主要コンポーネントを表すように意図されていることに留意されたい。しかしながら、いくつかの実施形態においては、個々のコンポーネントが、図7に表現されたものよりも複雑であることも、または複雑ではないこともあり、図7に示されたもの以外のコンポーネント、または図7に示されたものに加えたコンポーネントが存在してもよく、そのようなコンポーネントの数、タイプ、および構成は多様であってよい。
本開示は、あらゆる可能な技術的詳細レベルの統合におけるシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであってよい。コンピュータ・プログラム製品は、プロセッサに本開示の態様を遂行させるためのコンピュータ可読プログラム命令を有する(1つまたは複数の)コンピュータ可読ストレージ媒体を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のために命令を保有および格納することができる有形のデバイスであってよい。コンピュータ可読ストレージ媒体は、たとえば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または上記の任意の好適な組合せであってよいが、それらに限定はされない。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストには、以下、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック(R)、フロッピ(R)・ディスク、命令がその上に記録されたパンチ・カードまたは溝における隆起構造などの機械的にエンコードされたデバイス、および上記の任意の好適な組合せが含まれる。コンピュータ可読ストレージ媒体は、本明細書で使用されるとき、たとえば、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を通して伝播する電磁波(たとえば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通して伝送される電気信号などの、一過性の信号自体であるものと解釈されるべきではない。
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から、それぞれのコンピューティング/処理デバイスに、あるいは、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはワイヤレス・ネットワーク、あるいはその組合せのネットワークを介して、外部コンピュータまたは外部ストレージ・デバイスに、ダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体におけるストレージのためにコンピュータ可読プログラム命令を転送する。
本開示の動作を遂行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいは、Smalltalk(R)、C++、その他などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む、1つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンド・アロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、または完全にリモート・コンピュータもしくはサーバ上で実行することができる。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続されてもよいし、または外部コンピュータへの接続が(たとえば、インターネット・サービス・プロバイダを使用してインターネットを通して)行われてもよい。いくつかの実施形態において、たとえば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本開示の態様を実施するために、電子回路を個人化するためのコンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行することができる。
本開示の態様は、本開示の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の、フローチャート図またはブロック図あるいはその両方を参照して本明細書で説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せが、コンピュータ可読プログラム命令によって実装されることが理解されるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装するための手段を作成するように、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを生み出すものであってよい。これらのコンピュータ可読プログラム命令はまた、命令がその中に格納されたコンピュータ可読ストレージ媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む製造物品を含むように、コンピュータ可読ストレージ媒体に格納されて、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに、特定のやり方で機能するように指示することができてよい。
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装するように、コンピュータ実装プロセスを生み出すために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされて、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実施させてもよい。
図におけるフローチャートおよびブロック図は、本開示のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の考え得る実装形態のアーキテクチャ、機能、および動作を例証している。このことに関して、フローチャートまたはブロック図における各ブロックは、指定された論理的機能を実装するための1つもしくは複数の実行可能な命令を含むモジュール、セグメント、または命令の部分を表現することができる。いくつかの代替実装形態において、ブロックに記された機能は、図に記された順序以外で行われてもよい。たとえば、関与する機能に応じて、連続して示された2つのブロックが、実際には、1つのステップとして実現されてもよいし、部分的もしくは全体的に時間的に重複するやり方で、同時に、実質的に同時に実行されてもよいし、またはそのブロックが時に逆の順序で実行されてもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能もしくは動作を実施する、または特殊目的ハードウェアとコンピュータ命令との組合せを遂行する、特殊目的ハードウェア・ベースのシステムによって実装されてもよいことにもまた留意されるであろう。
本開示が具体的な実施形態に関して説明されてきたが、その変更形態および修正形態は、当業者には明らかになることが予想される。本開示のさまざまな実施形態の説明は、例証の目的で提示されてきたが、網羅的であること、または開示された実施形態に限定されることは意図されていない。説明された実施形態の範囲から逸脱することなく、多くの修正形態および変形形態が当業者には明らかであろう。本明細書で使用される専門用語は、実施形態の原理、実際の適用、または市場で見られる技術に対する技術的改善を最もよく明らかにするために、または本明細書で開示された実施形態を他の当業者が理解するのを可能にするために選ばれたものである。したがって、以下の特許請求の範囲は、本開示の範囲内に入るすべてのそのような変更形態および修正形態を包含するように解釈することが意図されている。

Claims (20)

  1. システムであって、前記システムが、
    メモリと、
    前記メモリと通信するプロセッサと
    を含み、前記プロセッサが動作を実施するように構成されており、
    前記動作が、
    鍵ペアを生成することと、
    データ資格情報シークレットを作成するために、データ資格情報を公開鍵で暗号化することと、
    前記データ資格情報シークレットをホスト上のクラスタに格納することと、
    前記クラスタ上にワークロードを展開することと、
    前記ホストに空のバンドルを構築することと、
    ポッド信頼実行環境を生成することと
    を含む、システム。
  2. 前記動作が、
    暗号化されたデータ・プル資格情報を用いてデータ・プル要求をサブミットすることと、
    復号されたデータを生成するために、前記ポッド信頼実行環境において前記データ資格情報シークレットを秘密鍵で復号することと
    をさらに含む、請求項1に記載のシステム。
  3. 前記動作が、
    前記データ・プル要求を、前記ポッド信頼実行環境にshimを用いて転送すること
    をさらに含む、請求項2に記載のシステム。
  4. 前記動作が、
    リアルなコンテナ・バンドルを生成するために、CRIランタイム・サービスを呼び出すことと、
    前記リアルなコンテナ・バンドルを起動することと
    をさらに含む、請求項1に記載のシステム。
  5. 前記動作が、
    コンテナ要求を受信することと、
    前記データ資格情報シークレットを用いてプル・データ要求を受信することと
    をさらに含む、請求項1に記載のシステム。
  6. 前記データ資格情報がコンテナ・イメージ資格情報である、請求項1に記載のシステム。
  7. メモリと、前記メモリと通信するプロセッサを含むコンピュータの情報処理による方法であって、前記方法が、
    鍵ペアを生成することと、
    データ資格情報シークレットを作成するために、データ資格情報を公開鍵で暗号化することと、
    前記データ資格情報シークレットをホスト上のクラスタに格納することと、
    前記クラスタ上にワークロードを展開することと、
    前記ホストに空のバンドルを構築することと、
    ポッド信頼実行環境を生成することと
    を含む、方法。
  8. 暗号化されたデータ・プル資格情報を用いてデータ・プル要求をサブミットすることと、
    復号されたデータを生成するために、前記ポッド信頼実行環境において前記データ資格情報シークレットを秘密鍵で復号することと
    をさらに含む、請求項7に記載の方法。
  9. 前記データ・プル要求を、前記ポッド信頼実行環境にshimを用いて転送すること
    をさらに含む、請求項8に記載の方法。
  10. 前記復号されたデータを、前記ポッド信頼実行環境内のCRIイメージ・サービスにサブミットすること
    をさらに含む、請求項8に記載の方法。
  11. リアルなコンテナ・バンドルを生成するために、CRIランタイム・サービスを呼び出すことと、
    前記リアルなコンテナ・バンドルを起動することと
    をさらに含む、請求項7に記載の方法。
  12. 前記リアルなコンテナ・バンドルにおいて前記データ資格情報シークレットを復号すること
    をさらに含む、請求項11に記載の方法。
  13. コンテナ要求を受信することと、
    前記データ資格情報シークレットを用いてプル・データ要求を受信することと
    をさらに含む、請求項7に記載の方法。
  14. 前記データ資格情報がコンテナ・イメージ資格情報である、請求項7に記載の方法。
  15. コンピュータ・プログラム製品であって、
    前記コンピュータ・プログラム製品が、プログラム命令を具現化したコンピュータ可読ストレージ媒体を含み、
    前記プログラム命令が、プロセッサに機能を実施させるように前記プロセッサによって実行可能であり、
    前記機能が、
    鍵ペアを生成することと、
    データ資格情報シークレットを作成するために、データ資格情報を公開鍵で暗号化することと、
    前記データ資格情報シークレットをホスト上のクラスタに格納することと、
    前記クラスタ上にワークロードを展開することと、
    前記ホストに空のバンドルを構築することと、
    ポッド信頼実行環境を生成することと
    を含む、コンピュータ・プログラム製品。
  16. 前記機能が、
    暗号化されたデータ・プル資格情報を用いてデータ・プル要求をサブミットすることと、
    復号されたデータを生成するために、前記ポッド信頼実行環境において前記データ資格情報シークレットを秘密鍵で復号することと
    をさらに含む、請求項15に記載のコンピュータ・プログラム製品。
  17. 前記機能が、
    前記データ・プル要求を、前記ポッド信頼実行環境にshimを用いて転送すること
    をさらに含む、請求項16に記載のコンピュータ・プログラム製品。
  18. 前記機能が、
    リアルなコンテナ・バンドルを生成するために、CRIランタイム・サービスを呼び出すことと、
    前記リアルなコンテナ・バンドルを起動することと
    をさらに含む、請求項15に記載のコンピュータ・プログラム製品。
  19. 前記機能が、
    コンテナ要求を受信することと、
    前記データ資格情報シークレットを用いてプル・データ要求を受信することと
    をさらに含む、請求項15に記載のコンピュータ・プログラム製品。
  20. 前記データ資格情報がコンテナ・イメージ資格情報である、請求項15に記載のコンピュータ・プログラム製品。
JP2024512104A 2021-09-10 2022-07-01 コンテナ・システムのデータ管理方法、およびシステム Active JP7843837B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/471,533 US11989282B2 (en) 2021-09-10 2021-09-10 Open-source container data management
US17/471,533 2021-09-10
PCT/CN2022/103239 WO2023035742A1 (en) 2021-09-10 2022-07-01 Open-source container data management

Publications (2)

Publication Number Publication Date
JP2024533068A JP2024533068A (ja) 2024-09-12
JP7843837B2 true JP7843837B2 (ja) 2026-04-10

Family

ID=85479593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024512104A Active JP7843837B2 (ja) 2021-09-10 2022-07-01 コンテナ・システムのデータ管理方法、およびシステム

Country Status (4)

Country Link
US (1) US11989282B2 (ja)
JP (1) JP7843837B2 (ja)
CN (1) CN117813605A (ja)
WO (1) WO2023035742A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12273442B2 (en) * 2022-08-17 2025-04-08 Saudi Arabian Oil Company Automating the creation and maintenance of containerized applications' custom routes and associated SSL certificates
CN116011000B (zh) * 2023-03-27 2023-06-20 北京信安世纪科技股份有限公司 访问方法、装置、及计算设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008259069A (ja) 2007-04-06 2008-10-23 Matsushita Electric Ind Co Ltd 鍵管理システムおよび鍵管理方法
US20180137299A1 (en) 2016-11-14 2018-05-17 Google Llc System of enclaves
WO2020261134A1 (en) 2019-06-27 2020-12-30 International Business Machines Corporation Distribution of security credentials

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040168081A1 (en) 2003-02-20 2004-08-26 Microsoft Corporation Apparatus and method simplifying an encrypted network
US9418040B2 (en) * 2005-07-07 2016-08-16 Sciencelogic, Inc. Dynamically deployable self configuring distributed network management system
US9515997B1 (en) 2013-07-19 2016-12-06 Amazon Technologies, Inc. Inline data encryption
US10050951B2 (en) * 2015-07-20 2018-08-14 Cisco Technology, Inc. Secure access to virtual machines in heterogeneous cloud environments
US11329980B2 (en) * 2015-08-21 2022-05-10 Veridium Ip Limited System and method for biometric protocol standards
US10169591B2 (en) * 2015-12-07 2019-01-01 Amazon Technologies, Inc. Chained security systems
EP3267351A1 (en) 2016-07-07 2018-01-10 Gemalto Sa Method for securely managing a docker image
US10855464B2 (en) * 2016-11-23 2020-12-01 Vmware, Inc. Methods and apparatus to manage credentials in hyper-converged infrastructures
US11314888B2 (en) * 2018-06-29 2022-04-26 Vmware, Inc. Multi-key, cloud-specific security
US11017074B2 (en) 2018-09-12 2021-05-25 Aqua Security Software, Ltd. Credential safety management for software containers
US11258773B2 (en) * 2019-05-13 2022-02-22 Verizon Patent And Licensing Inc. System and method for providing a privacy layer to secure client data in a network
CA3159014A1 (en) * 2019-11-29 2021-06-03 Sri Ram Kishore Vemulpali Intelligent service layer for separating application from physical networks and extending service layer intelligence

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008259069A (ja) 2007-04-06 2008-10-23 Matsushita Electric Ind Co Ltd 鍵管理システムおよび鍵管理方法
US20180137299A1 (en) 2016-11-14 2018-05-17 Google Llc System of enclaves
WO2020261134A1 (en) 2019-06-27 2020-12-30 International Business Machines Corporation Distribution of security credentials
JP2022539055A (ja) 2019-06-27 2022-09-07 インターナショナル・ビジネス・マシーンズ・コーポレーション セキュリティ資格情報の配布

Also Published As

Publication number Publication date
US20230082851A1 (en) 2023-03-16
US11989282B2 (en) 2024-05-21
WO2023035742A1 (en) 2023-03-16
CN117813605A (zh) 2024-04-02
JP2024533068A (ja) 2024-09-12

Similar Documents

Publication Publication Date Title
US9426155B2 (en) Extending infrastructure security to services in a cloud computing environment
JP7546675B2 (ja) セキュア・ゲストへのセキュリティ・モジュールのセキュア・オブジェクトのバインディング
JP7397557B2 (ja) セキュア実行ゲスト所有者環境制御
CN113557509A (zh) 将安全客户机的安全密钥绑定到硬件安全模块
JP7578368B2 (ja) セキュリティ・モジュールの予約方法、システム
CN114586032B (zh) 安全的工作负载配置
JP7445358B2 (ja) セキュア・インタフェース・コントロールのためのセキュア実行ゲスト所有者コントロール
JP2023551527A (ja) 準同型暗号化を使用したセキュアなコンピューティング・リソース配置
JP2024527003A (ja) 機密データ暗号化
US12254099B2 (en) Autoencryption system for data in a container
JP7762473B2 (ja) 複数の非集中ポリシにおいて機密性を維持すること(複数の非集中ポリシにおいてメタデータの機密性を維持する方法、システム及びコンピュータプログラム)
JP2024520287A (ja) 鍵管理方法、システム、プログラム
CN117795514A (zh) 安全访客的证明
JP7843837B2 (ja) コンテナ・システムのデータ管理方法、およびシステム
JP7764092B2 (ja) システム、方法、およびコンピュータ・プログラム製品(データ・セントリック・オブジェクトの複数段階保護)
JP2024528834A (ja) メタデータを介した、機密データのセキュアなゲストへの提供
US12099614B2 (en) Secrets swapping in code
US11809568B2 (en) Hypervisor having local keystore
US12126620B2 (en) Account delegation via browser supplement module
WO2022078069A1 (en) Secure data storage device access control and sharing
US20210281561A1 (en) Certification for connection of virtual communication endpoints
JP2024505417A (ja) クラスタ・リソース署名検証
JP7849130B2 (ja) データへの条件付きアクセス方法、システム、プログラム
US12355843B2 (en) Protecting API keys for accessing services
WO2025233160A1 (en) Controlling workload execution on trusted execution environments

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240402

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20251209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20251216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20260305

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260317

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260331

R150 Certificate of patent or registration of utility model

Ref document number: 7843837

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150