(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-12
(54)【発明の名称】コンテナ・システムのデータ管理方法、およびシステム
(51)【国際特許分類】
G06F 21/60 20130101AFI20240905BHJP
G06F 21/78 20130101ALI20240905BHJP
【FI】
G06F21/60 320
G06F21/60 340
G06F21/78
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024512104
(86)(22)【出願日】2022-07-01
(85)【翻訳文提出日】2024-02-22
(86)【国際出願番号】 CN2022103239
(87)【国際公開番号】W WO2023035742
(87)【国際公開日】2023-03-16
(32)【優先日】2021-09-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】リュウ、ダリ
(72)【発明者】
【氏名】フオ、チーフォン
(72)【発明者】
【氏名】ワン、ユアンユアン
(72)【発明者】
【氏名】リー、レイ
(72)【発明者】
【氏名】リュウ、ヤンソン
(57)【要約】
コンテナ・システムのデータ管理方法、およびシステムが提供される。システムはメモリとプロセッサを含み、プロセッサは、鍵ペアを生成し、データ資格情報シークレットを作成するためにデータ資格情報を公開鍵で暗号化するように構成される。プロセッサの動作はデータ資格情報シークレットをホスト上のクラスタに格納し、クラスタ上にワークロードを展開する。またホストに空のバンドルを構築し、ポッド信頼実行環境を生成する。
【特許請求の範囲】
【請求項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に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、デジタル・ストレージ管理に関し、より詳細には、オープン・ソース・コンテナのデータ管理に関する。
【背景技術】
【0002】
クラウド・コンピューティングは、展開のためのコンテナ・システムをますます実装している。オープン・ソース・コンテナ環境は、適応型ロード・バランシング、サービス登録、展開、動作、リソース・スケジューリング、および容量スケーリングを提案している。オープン・ソース・コンテナ・クラスタは、ノードを利用し、ノードは、データをプルし、保有して、そのデータを使用することができる。
【発明の概要】
【0003】
本開示の実施形態は、オープン・ソース・コンテナ・システムにおけるイメージ管理のためのシステム、方法、およびコンピュータ・プログラム製品を含む。
【0004】
本開示に従ったシステムは、メモリと、メモリと通信するプロセッサとを含むことができる。プロセッサは、鍵ペアを生成することと、データ資格情報シークレットを作成するために、データ資格情報を公開鍵で暗号化することとを含む動作を実施するように構成され得る。動作は、データ資格情報シークレットをホスト上のクラスタに格納することと、クラスタ上にワークロードを展開することとをさらに含むことができる。動作はまた、ホストに空のバンドルを構築することと、ポッド信頼実行環境(pod trusted execution environment)を生成することとを含むことができる。
【0005】
本開示のいくつかの実施形態において、動作は、暗号化されたデータ・プル資格情報を用いてデータ・プル要求をサブミットすることと、復号されたデータを生成するために、ポッド信頼実行環境においてデータ資格情報シークレットを秘密鍵で復号することとを含むことができる。いくつかの実施形態において、動作は、データ・プル要求を、ポッド信頼実行環境にshimを用いて転送することをさらに含むことができる。いくつかの実施形態において、動作は、復号されたデータを、ポッド信頼実行環境内のCRIイメージ・サービスにサブミットすることをさらに含むことができる。
【0006】
本開示のいくつかの実施形態において、動作は、リアルなコンテナ・バンドルを生成するために、CRIランタイム・サービスを呼び出すことと、リアルなコンテナ・バンドルを起動することとを含むことができる。いくつかの実施形態において、動作は、リアルなコンテナ・バンドルにおいてデータ資格情報シークレットを復号することを含むことができる。
【0007】
本開示のいくつかの実施形態において、動作は、コンテナ要求を受信することと、データ資格情報シークレットを用いてプル・データ要求を受信することとを含むことができる。
【0008】
本開示のいくつかの実施形態において、データ資格情報はイメージ資格情報であってよい。
【0009】
上の概要は、本開示のそれぞれの例証される実施形態またはあらゆる手段を説明することを意図したものではない。
【0010】
本出願に含まれる図面は、本明細書の中に組み込まれており、その一部を形成している。図面は、本開示の実施形態を例証しており、本説明と共に本開示の原理を明らかにするために役立つ。図面は、一定の実施形態を例証しているにすぎず、本開示を限定するものではない。
【図面の簡単な説明】
【0011】
【
図1】本開示のいくつかの実施形態に従ったデータ管理システムを例証する図である。
【
図2】本開示のいくつかの実施形態に従ったデータ管理システムを表す図である。
【
図3】本開示のいくつかの実施形態に従ったデータ管理方法を例証する図である。
【
図4】本開示のいくつかの実施形態に従ったデータ管理方法を表す図である。
【
図5】本開示の実施形態に従ったクラウド・コンピューティング環境を例証する図である。
【
図6】本開示の実施形態に従った抽象モデル・レイヤを表す図である。
【
図7】本開示の実施形態に従って、本明細書で説明される方法、ツール、およびモジュール、ならびに任意の関連機能のうちの1つまたは複数を実装する際に使用される例示的なコンピュータ・システムの高レベル・ブロック図である。
【発明を実施するための形態】
【0012】
本発明はさまざまな修正形態および代替形態を受け入れやすく、その細部は、図面に例として示されており、詳細に説明されることになる。しかしながら、その意図は、本発明を説明される特定の実施形態に限定するものではないことが理解されるべきである。それとは反対に、その意図は、本発明の範囲内に入るすべての修正形態、均等形態、および代替形態を包含することである。
【0013】
本開示の態様は、デジタル・ストレージ管理に関し、より詳細には、オープン・ソース・コンテナのイメージ管理に関する。
【0014】
オープン・ソース・コンテナ・システムは、システムによって保持される、またはシステムにおいて使用されるデータを管理するために、コンテナ・ランタイム・インターフェース(CRI)の使用を含むことができる。たとえば、ワークロード・イメージが、コンテナで使用するためにワーカ・ノードの中にプルされることがある。データ(ワークロード・イメージなど)は、他のコンテナにおけるワークロードによって、コンテナ間のセキュリティ・チェックポイントなしに、ワーカ・ホストにおいて直接アクセスされ得る。センシティブなデータ(たとえば、ユーザのイメージにおける情報などのユーザに関する情報)が、無認可のエンティティに晒されることがある。さらに、データは、オープン・ソース・コンテナ・クラスタのetcdに格納されるとき、単にbase64でエンコードされているだけのことがあり、その結果、情報が、他のコンテナに、またはオープン・ソース・コンテナ・クラスタの管理者に見られることがある。結果として、ユーザは、自分のデータをホスト上に格納するのを思いとどまることがある。
【0015】
本開示は、ワークロード・データを保護し、データ・プルのプライバシを維持するように、オープン・ソース・コンテナ・クラスタにおいて使用するためのデータ管理システムおよび方法を提供する。ドキュメント、スプレッドシート、コード・ファイル、データベース、イメージ、その他などのさまざまなタイプのデータを、本開示に従って管理することができる。本開示のいくつかの実施形態において、管理されたデータは、1つまたは複数の管理されたイメージを含むことができる。
【0016】
オープン・ソース・コンテナのデータ管理は、すべてのデータがワーカ・ノードにプルされるように、CRIによりワークロード・データをプルすることがある。たとえば、エンド・ユーザがバックエンド・サービスとしてcontainerdを使用する場合、イメージがk8s.io名前空間に保存されることがあり、そのイメージは、ワーカ・ホストにおいて直接アクセスされ得る。このメカニズムはセキュリティを欠いており、セキュリティの欠如の結果として、コンテナ・イメージ・データをワーカ・ホスト上に保存したくないユーザがいることがある。データ・プル・シークレット(上述した例では、イメージ・プル・シークレット)は、base64でのみエンコードされ、その後クラスタのetcdに格納されていることがあり、結果として、データは、クラスタの管理者によって、またはポッドにおける他のコンテナから見ることが可能である。
【0017】
本開示に従って、エンド・ユーザは、データを信頼できる仮想マシン(VM)に格納して、データ・プル・シークレットを保護することができ、データ・プル・シークレットは、使用前に暗号化することができ、信頼できるVMにおいてのみ復号することが可能である。エンド・ユーザは、データを保護し、データにセキュリティを提供しながら、信頼できるVM上でワークロードを稼働させることができる。
【0018】
本開示に従ったシステムは、メモリと、メモリと通信するプロセッサとを含むことができる。プロセッサは、鍵ペアを生成することと、データ資格情報シークレットを作成するために、データ資格情報を公開鍵で暗号化することとを含む動作を実施するように構成され得る。動作は、データ資格情報シークレットをホスト上のクラスタに格納することと、クラスタ上にワークロードを展開することとをさらに含むことができる。動作はまた、ホストに空のバンドルを生成することと、ポッド信頼実行環境を生成することとを含むことができる。
【0019】
本開示のいくつかの実施形態において、動作は、暗号化されたデータ・プル資格情報を用いてデータ・プル要求をサブミットすることと、復号されたデータを生成するために、ポッド信頼実行環境においてデータ資格情報シークレットを秘密鍵で復号することとを含むことができる。いくつかの実施形態において、動作は、データ・プル要求を、ポッド信頼実行環境にshimを用いて転送することをさらに含むことができる。いくつかの実施形態において、動作は、復号されたデータを、ポッド信頼実行環境内のCRIイメージ・サービスにサブミットすることをさらに含むことができる。
【0020】
本開示のいくつかの実施形態において、動作は、リアルなコンテナ・バンドルを生成するために、CRIランタイム・サービスを呼び出すことと、リアルなコンテナ・バンドルを起動することとを含むことができる。いくつかの実施形態において、動作は、リアルなコンテナ・バンドルにおいてデータ資格情報シークレットを復号することを含むことができる。
【0021】
本開示のいくつかの実施形態において、動作は、コンテナ要求を受信することと、データ資格情報シークレットを用いてプル・データ要求を受信することとを含むことができる。
【0022】
本開示のいくつかの実施形態において、データ資格情報はイメージ資格情報であってよい。
【0023】
図1は、本開示のいくつかの実施形態に従ったデータ管理システム100を例証している。データ管理システム100は、ホスト102と、ゲスト120と、プレースホルダ・データ140と、それらと相互作用する他のコンポーネントとを含む。
【0024】
ホスト102は、ランタイム・サービス112およびデータ・サービスCRIプラグイン118と通信するノード・エージェント110(たとえば、kubelet)を有することができる。ランタイム・サービス112は、CRIサービスCRIプラグイン114と通信することができ、CRIサービスCRIプラグイン114は、データ・サービスCRIプラグイン118およびshim116と通信することができる。
【0025】
データ・サービスCRIプラグイン118は、プレースホルダ・データ140を生成する、またはプレースホルダ・データ140と通信する、あるいはその両方を行うことができる。プレースホルダ・データ140は、クラスタのアプリケーション・プログラミング・インターフェース(API)要件を履行するのに十分な情報であってよい。プレースホルダ・データ140は、ホスト102がコンテンツ・データ130のプライバシおよびセキュリティを守りながら、コンテンツ・データ130のために適正に準備できるような、クラスタ上に格納されることになるコンテンツ・データ130に関連した、もしくは関連していないストック情報または他の情報であってよい。プレースホルダ・データ140は、メタデータ142、コンテンツ144、またはデータ・コンポーネント146、あるいはその組合せ(たとえば、イメージについてのスナップショット、またはドキュメントのページ)を含むことができる。
【0026】
データ・コンポーネント146は、ホスト102上の空のバンドル148と通信することができる。空のバンドル148は、ホスト102上の他のオブジェクトとの直接通信から独立して、ホスト上に存在することができる。たとえば、データ管理のいくつかの方法が、本開示に従って、CRIサービスCRIプラグイン114、またはゲスト120もしくはそのサブコンポーネント、あるいはその組合せと通信するバンドルを有することができるのに対して、空のバンドル148は、CRIサービスCRIプラグイン114からも、ゲスト120およびそのサブコンポーネントからも独立していてよい。
【0027】
shim116は、エージェント122を介して、ゲスト120と通信することができる。エージェント122は、コンテナ124を生成し、本開示に従って格納されることになるコンテンツ・データ130と通信することができる。コンテンツ・データ130は、たとえば、データ・コンポーネント132と、コンテンツ134と、メタデータ136とを含むことができる。エージェント122は、コンテンツ・データ130内のコンテンツ134と直接通信することができる。コンテンツ・データ130は、ゲスト120上でバンドル126の生成をプロンプトすることができ、バンドル126は、エージェント122と通信するコンテナ124と通信することができる。
【0028】
いくつかの実施形態において、ユーザは、鍵ペアを生成し、鍵ペアにおける公開鍵を使用して、dockerイメージ・シークレットを暗号化することができる。ユーザは、暗号化されたイメージ・プル・シークレットをクラスタに格納し、信頼できるイメージ・サービスを使用するようにクラスタを構成することができる。ユーザは、標準的にワークロードを展開することができ、信頼できるイメージ・サービスが、フェイク・コンテナ・イメージ・データをホストに生成し、関連したプル・イメージ要求をメモリにキャッシュすることができる。信頼できるVM shimプラグインが、新しいVMイメージ・サービスにクエリして、メモリにおける関連したプル・イメージ要求を入手することができる。信頼できるVM shimプラグインは、信頼できるVMサービスを呼び出して、信頼できるVMを生成することができ、いかなるエンティティも信頼できるVMに直接アクセスすることができないように、秘密鍵が、信頼できるVMに格納され得る。信頼できるVM shimプラグインは、プル・イメージ要求を、信頼できるVMに転送することができる。信頼できるVMにおいて、暗号化されたイメージ・プル・シークレットは、鍵ペアのうちの秘密鍵を使用して復号され得る。コンテナ・イメージ・データは、信頼できるVMにプルされてよく、信頼できるVM shimプラグインは、プルされたコンテナ・イメージを用いてコンテナを生成することができる。
【0029】
図2は、本開示のいくつかの実施形態に従ったデータ管理システム200を表している。データ管理システム200は、ユーザ210からのサブミッションと、クラスタ220と、VMプロバイダ250と、ポッド信頼実行環境260とを含むことができる。
【0030】
ユーザ210からのサブミッションは、鍵ペア212と、暗号化された資格情報214とを含むことができる。ユーザは、鍵ペア212および暗号化された資格情報214を、クラスタ220にサブミットすることができる。クラスタ220は、Kubernetes(R)クラスタ(k8s(R)クラスタともまた呼ばれてよい)などのオープン・ソース・コンテナ・クラスタ、オープン・シフト・クラスタ、または他のコンテナ・クラスタを含む任意のコンテナ・クラスタであってよい。クラスタ220は、暗号化された資格情報214を格納し(222)、ワーカ・ノード230を展開する(224)ことができる。
【0031】
ワーカ・ノード230は、ノード・エージェントCRIクライアント232と、コンテナ・ランタイム240とを含むことができる。ノード・エージェントCRIクライアント232は、たとえば、kubelet CRIエージェント、または同様のサーバ・プロセスであってよい。コンテナ・ランタイム240は、CRIデータ・サービス拡張242と、CRIデータ・サービス244と、CRIランタイム・サービス246と、shimプラグイン拡張248とを含むことができる。ノード・エージェントCRIクライアント232は、CRIデータ・サービス拡張242およびCRIランタイム・サービス246と通信することができる。
【0032】
CRIデータ・サービス拡張242は、暗号化された資格情報214をキャッシュし、空のコンテナ要求をホストに生成することができる。shimプラグイン拡張248は、生成された空のコンテナ要求を受信することができ、shimプラグイン拡張248はまた、暗号化された資格情報214を用いて任意のデータ・プル要求を受信することができる。shimプラグイン拡張248は、VMプロバイダ250に接触し、鍵ペア212のうちの秘密鍵を使用してワーカ・ノード230の外部のデータ管理システム200にポッド信頼実行環境260を生成するように、VMプロバイダ250をプロンプトすることができる。shimプラグイン拡張248は、新しく生成されたポッド信頼実行環境260と通信することができる。
【0033】
ポッド信頼実行環境260は、エージェント・サービス270と、コンテナ・ランタイム280とを含むことができる。エージェント・サービス270は、データ・ハンドラ272と、コンテナ・ハンドラ274とを含むことができ、コンテナ・ランタイム280は、CRIデータ・サービス282と、CRIランタイム・サービス284とを含むことができる。エージェント・サービス270のコンテナ・ハンドラ274は、CRIランタイム・サービス284と通信して、復号されたデータを含むデータのストレージのためのコンテナを生成することができる。
【0034】
ワーカ・ノード230におけるshimプラグイン拡張248は、ポッド信頼実行環境260のエージェント・サービス270におけるデータ・ハンドラ272と通信することができる。データ・ハンドラ272は、暗号化された資格情報214を、鍵ペア212のうちの秘密鍵で復号することができる。データ・ハンドラ272は、CRIデータ・サービス282と通信することができ、この通信は、復号されたデータを、ポッド信頼実行環境260内でのセキュアなストレージのためにCRIデータ・サービス282に転送することを含む。
【0035】
図3は、本開示のいくつかの実施形態に従ったデータ管理方法300を例証している。データ管理方法300は、データ・プル要求を受信すること(302)と、認可情報が既に存在しているかどうかを識別すること(310)とを含むことができる。認可情報がまだ存在していない場合、データ・プル要求は、CRIにサブミットされ得る(334)。本開示のいくつかの実施形態に従って、認可情報がまだ存在していない場合、CRIおよびデータへのアクセスは失敗する(350)。
【0036】
認可情報が存在している場合、データ管理方法300は、ユーザが秘密鍵を提供しているかどうかを検出すること(320)によって続行することができる。秘密鍵が提供されていない場合、データへのアクセスは失敗し(350)、正しい秘密鍵が提供されている場合、資格情報(たとえば、ユーザ名とパスワードとの組合せ)を復号すること(330)、および提供された資格情報が適切な資格情報であるかどうかを評価することによって、プロセスは続行することができる。資格情報が適正でない場合、データへのアクセスは失敗し(350)、資格情報が適正である場合、復号された資格情報を使用してデータ・プル要求を生成すること(332)によって、プロセスは続行する。プロセスは、暗号化されたデータへのアクセスを付与するために、データ・プル要求をCRIにサブミットすること(334)を含むことができる。
【0037】
図4は、本開示のいくつかの実施形態に従ったデータ管理方法400を表している。データ管理方法400は、鍵ペアを生成すること(410)を含むことができる。鍵ペアは、公開鍵と秘密鍵とを含むことができる。データ管理方法400は、鍵ペアのうちの1つの鍵(たとえば、公開鍵)を使用して、セキュアにされるべきデータを暗号化すること(412)を含むことができる。データ管理方法400は、暗号化されたデータを格納すること(414)をさらに含むことができる。
【0038】
データ管理方法400は、ワークロードを展開すること(420)と、空のバンドルを構築すること(422)とを含むことができる。データ管理方法400は、ポッド信頼実行環境を生成すること(424)を含むことができる。
【0039】
本開示のいくつかの実施形態において、データ管理方法400は、鍵ペアを生成すること(410)と、データ資格情報シークレットを作成するために、データ資格情報を公開鍵で暗号化すること(412)を含むことができる。データ管理方法400は、データ資格情報シークレットをホスト上のクラスタに格納すること(414)と、クラスタ上にワークロードを展開すること(420)とをさらに含むことができる。データ管理方法400はまた、ホストに空のバンドルを構築すること(422)と、ポッド信頼実行環境を生成すること(424)とを含むことができる。
【0040】
本開示のいくつかの実施形態において、データ管理方法400は、暗号化されたデータ・プル資格情報を用いてデータ・プル要求をサブミットすることと、復号されたデータを生成するために、ポッド信頼実行環境においてデータ資格情報シークレットを秘密鍵で復号することとを含むことができる。いくつかの実施形態において、データ管理方法400は、データ・プル要求を、ポッド信頼実行環境にshimを用いて転送することをさらに含むことができる。いくつかの実施形態において、データ管理方法400は、復号されたデータを、ポッド信頼実行環境内のCRIイメージ・サービスにサブミットすることをさらに含むことができる。
【0041】
本開示のいくつかの実施形態において、データ管理方法400は、リアルなコンテナ・バンドルを生成するために、CRIランタイム・サービスを呼び出すことと、リアルなコンテナ・バンドルを起動することとを含むことができる。いくつかの実施形態において、データ管理方法400は、リアルなコンテナ・バンドルにおいてデータ資格情報シークレットを復号することを含むことができる。
【0042】
本開示のいくつかの実施形態において、データ管理方法400は、コンテナ要求を受信することと、データ資格情報シークレットを用いてプル・データ要求を受信することとを含むことができる。
【0043】
本開示のいくつかの実施形態において、データ管理方法400を使用して格納されたデータ資格情報は、イメージ資格情報であってよい。
【0044】
本開示はクラウド・コンピューティングについての詳細な説明を含むものの、本明細書で列挙された教示の実装形態は、クラウド・コンピューティング環境には限定されないことが理解されることになる。むしろ、本開示の実施形態は、現在知られている、または後に開発される任意の他のタイプのコンピューティング環境と併せて実装される能力がある。
【0045】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの相互作用で、迅速にプロビジョニングされ、リリースされる、構成可能なコンピューティング・リソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの、便利でオン・デマンドなネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特性と、少なくとも3つのサービス・モデルと、少なくとも4つの展開モデルとを含むことができる。
【0046】
特性は、以下の通りである。
【0047】
オン・デマンドなセルフ・サービス:クラウド・コンシューマは、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を、必要に応じて、サービスのプロバイダとの人的相互作用を必要とすることなく自動的に、一方向にプロビジョニングすることができる。
【0048】
広範なネットワーク・アクセス:能力は、ネットワーク上で利用可能であり、異種類のシンまたはシック・クライアント・プラットフォーム(たとえば、モバイル電話、ラップトップ、およびPDA)による使用を奨励する標準メカニズムを通してアクセスされる。
【0049】
リソース・プーリング:プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを使用して多数のコンシューマにサービス提供するためにプールされ、異なる物理リソースおよび仮想リソースが、デマンドに応じて、動的に割り当てられ、かつ再割り当てされる。コンシューマは一般に、提供されたリソースの厳密な分配(portion)についての制御または知識を持たないが、より高レベルの抽象概念での分配(たとえば、国、州、またはデータセンタ)を指定することができてもよいという点において、分配独立性の観念が存在する。
【0050】
迅速な弾力性:能力は、迅速かつ弾力的に、いくつかのケースでは自動的にプロビジョニングされて素早くスケール・アウトし、迅速にリリースされて素早くスケール・インすることができる。コンシューマにとっては、プロビジョニングするために利用可能であるこの能力が、しばしば、無制限で、いつでもいかなる量でも購入できるように見える。
【0051】
計測されたサービス:クラウド・システムは、サービスのタイプ(たとえば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント)に適切な抽象化の何らかのレベルで計量能力を活用することによって、リソース使用を自動的に制御し、最適化する。リソース使用量は、モニタされ、制御され、報告されて、利用されるサービスのプロバイダおよびコンシューマの両方に透明性を提供することができる。
【0052】
サービス・モデルは以下の通りである。
【0053】
サービスとしてのソフトウェア(SaaS):コンシューマに提供される能力は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(たとえば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通して、さまざまなクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を考え得る例外とすると、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション能力さえも含む、基礎を成すクラウド・インフラストラクチャを管理または制御しない。
【0054】
サービスとしてのプラットフォーム(PaaS):コンシューマに提供される能力は、プロバイダによってサポートされたプログラミング言語およびツールを使用して作成されたコンシューマが作成または取得したアプリケーションを、クラウド・インフラストラクチャ上に展開することである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎を成すクラウド・インフラストラクチャを管理または制御しないものの、コンシューマは、展開されたアプリケーション、および場合により、アプリケーション・ホスティング環境構成に対する制御を有する。
【0055】
サービスとしてのインフラストラクチャ(IaaS):コンシューマに提供される能力は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをコンシューマが展開し稼働させることができる、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基礎を成すクラウド・インフラストラクチャを管理または制御しないものの、オペレーティング・システム、ストレージ、および展開されたアプリケーションに対する制御を有し、コンシューマは、場合により、選択ネットワーキング・コンポーネント(たとえば、ホストのファイアウォール)の限定された制御を有する。
【0056】
展開モデルは、以下の通りである。
【0057】
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運営される。クラウド・インフラストラクチャは、その組織またはサード・パーティによって管理されてよく、オン・プレミスまたはオフ・プレミスに存在することができる。
【0058】
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、関心事(たとえば、ミッション、セキュリティ要件、ポリシ、またはコンプライアンス上の検討事項、あるいはその組合せ)を共有している特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織またはサード・パーティによって管理されてよく、オン・プレミスまたはオフ・プレミスに存在することができる。
【0059】
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大規模な業界グループに利用可能にされ、クラウド・サービスを販売する組織によって所有される。
【0060】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成であり、このクラウドは、固有のエンティティのままであるものの、データおよびアプリケーションのポータビリティを可能にする標準化技術または独自開発技術(たとえば、クラウド間でロード・バランシングするためのクラウド・バースティング)によって共にバインドされている。
【0061】
クラウド・コンピューティング環境は、ステートレスであること、低結合性、モジュール性、および意味論的な相互運用性に焦点を合わせたサービス指向である。クラウド・コンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0062】
図5は、本開示の実施形態に従ったクラウド・コンピューティング環境510を例証している。示されるように、クラウド・コンピューティング環境510は、1つまたは複数のクラウド・コンピューティング・ノード500を含み、たとえば、パーソナル・デジタル・アシスタント(PDA)もしくはセルラ電話500A、デスクトップ・コンピュータ500B、ラップトップ・コンピュータ500C、または自動車コンピュータ・システム500N、あるいはその組合せなどの、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが、ノード500と通信することができる。ノード500同士は、互いに通信することができる。ノード500は、上で説明されたプライベート、コミュニティ、パブリック、またはハイブリッド・クラウド、あるいはその組合せなどの、1つもしくは複数のネットワークにおいて、物理的にまたは仮想的にグループ化(図示せず)されてもよい。
【0063】
これにより、クラウド・コンシューマがローカル・コンピューティング・デバイス上でリソースを維持することを必要としない、サービスとしての、インフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せを、クラウド・コンピューティング環境510が提案することが可能になる。
図5に示されたコンピューティング・デバイス500A~Nのタイプは、例証のみであることが意図されており、コンピューティング・ノード500およびクラウド・コンピューティング環境510は、任意のタイプのネットワーク上で、またはネットワーク・アドレス可能な接続上で、あるいはその両方の上で(たとえば、ウェブ・ブラウザを使用して)、任意のタイプのコンピュータ化されたデバイスと通信することができることが理解される。
【0064】
図6は、本開示の実施形態に従ってクラウド・コンピューティング環境510(
図5)によって提供された抽象モデル・レイヤ600を例証している。
図6に示されたコンポーネント、レイヤ、および機能は、例証のみであることが意図され、本開示の実施形態は、それらに限定されないことをあらかじめ理解すべきである。下に表すように、以下のレイヤおよび対応する機能が提供される。
【0065】
ハードウェアおよびソフトウェア・レイヤ615は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム602と、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ604と、サーバ606と、ブレード・サーバ608と、ストレージ・デバイス611と、ネットワークおよびネットワーキング・コンポーネント612とを含む。いくつかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア614と、データベース・ソフトウェア616とを含む。
【0066】
仮想化レイヤ620は、仮想エンティティの以下の例、すなわち、仮想サーバ622と、仮想ストレージ624と、仮想プライベート・ネットワークを含む仮想ネットワーク626と、仮想アプリケーションおよびオペレーティング・システム628と、仮想クライアント630とを、そこから提供することができる抽象レイヤを提供する。
【0067】
一例において、管理レイヤ640は、下で説明される機能を提供することができる。リソース・プロビジョニング642は、クラウド・コンピューティング環境内でタスクを実施するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。計量および価格設定644は、リソースがクラウド・コンピューティング環境内で利用されるときのコスト・トラッキング、ならびにこれらのリソースの消費についての課金またはインボイス作成を提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマおよびタスクについてのアイデンティティ検証、ならびにデータおよび他のリソースのための保護を提供する。ユーザ・ポータル646は、クラウド・コンピューティング環境へのアクセスを、コンシューマおよびシステム管理者に提供する。サービス・レベル管理648は、求められたサービス・レベルが満たされるように、クラウド・コンピューティングのリソース配分および管理を提供する。サービス・レベル合意書(SLA)計画および履行650は、SLAに従って今後の要件が予想されるクラウド・コンピューティング・リソースについての事前手配およびその調達を提供する。
【0068】
ワークロード・レイヤ660は、クラウド・コンピューティング環境がそのために利用される機能性の例を提供する。このレイヤから提供されるワークロードおよび機能の例は、マッピングおよびナビゲーション662と、ソフトウェア開発およびライフサイクル管理664と、仮想クラスルーム教育配信667と、データ解析処理668と、トランザクション処理670と、クラスタ・データ管理672とを含む。
【0069】
図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を介したコンポーネント間通信の場合は間接的に、通信可能に結合されていてよい。
【0070】
コンピュータ・システム701は、本明細書では総称してCPU702と呼ばれる、1つまたは複数の汎用プログラマブルCPU702A、702B、702C、および702Dを収容することができる。いくつかの実施形態において、コンピュータ・システム701は、比較的大規模なシステムに典型的な多数のプロセッサを収容することができ、しかしながら、他の実施形態において、コンピュータ・システム701は、代替として単一CPUシステムであってもよい。各CPU702は、メモリ・サブシステム704に格納された命令を実行することができ、1つまたは複数のレベルのオン・ボード・キャッシュを含むことができる。
【0071】
システム・メモリ704は、ランダム・アクセス・メモリ(RAM)722またはキャッシュ・メモリ724などの揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム701は、他のリムーバブル/非リムーバブル、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。例のみとして、「ハード・ドライブ」などの非リムーバブルな不揮発性の磁気媒体から読み出し、そこに書き込むためのストレージ・システム726が提供され得る。示されてはいないが、リムーバブルな不揮発性の磁気ディスク(たとえば、「フロッピ(R)ディスク」)から読み出し、そこに書き込むための磁気ディスク・ドライブ、または、CD-ROM、DVD-ROM、もしくは他の光学媒体などのリムーバブルな不揮発性の光学ディスクから読み出すか、そこに書き込むための光学ディスク・ドライブが提供されてもよい。加えて、メモリ704は、フラッシュ・メモリ、たとえば、フラッシュ・メモリ・スティック・ドライブまたはフラッシュ・ドライブを含むことができる。メモリ・デバイスは、1つまたは複数のデータ媒体インターフェースによって、メモリ・バス703に接続され得る。メモリ704は、さまざまな実施形態の機能を遂行するように構成されたプログラム・モジュールのセット(たとえば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
【0072】
1つまたは複数のプログラム/ユーティリティ728は、そのそれぞれがプログラム・モジュール730の少なくとも1つのセットを有しており、メモリ704に格納され得る。プログラム/ユーティリティ728は、ハイパーバイザ(仮想マシン・モニタともまた呼ばれる)と、1つまたは複数のオペレーティング・システムと、1つまたは複数のアプリケーション・プログラムと、他のプログラム・モジュールと、プログラム・データとを含むことができる。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データのそれぞれ、またはそれらの何らかの組合せは、ネットワーキング環境の実装形態を含むことができる。プログラム728、またはプログラム・モジュール730、あるいはその両方は、一般に、さまざまな実施形態の機能または方法論を実施する。
【0073】
図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に直接接続されてもよい。
【0074】
いくつかの実施形態において、コンピュータ・システム701は、直接的なユーザ・インターフェースをほとんどもしくは全く持たず、しかし他のコンピュータ・システム(クライアント)からの要求を受信する、マルチ・ユーザ・メインフレーム・コンピュータ・システム、シングル・ユーザ・システム、サーバ・コンピュータ、または同様のデバイスであってよい。さらに、いくつかの実施形態において、コンピュータ・システム701は、デスクトップ・コンピュータ、ポータブル・コンピュータ、ラップトップもしくはノートブック・コンピュータ、タブレット・コンピュータ、ポケット・コンピュータ、電話、スマートフォン、ネットワーク・スイッチもしくはルータ、または任意の他の適切なタイプの電子デバイスとして実装されてもよい。
【0075】
図7は、例となるコンピュータ・システム701の代表的な主要コンポーネントを表すように意図されていることに留意されたい。しかしながら、いくつかの実施形態においては、個々のコンポーネントが、
図7に表現されたものよりも複雑であることも、または複雑ではないこともあり、
図7に示されたもの以外のコンポーネント、または
図7に示されたものに加えたコンポーネントが存在してもよく、そのようなコンポーネントの数、タイプ、および構成は多様であってよい。
【0076】
本開示は、あらゆる可能な技術的詳細レベルの統合におけるシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであってよい。コンピュータ・プログラム製品は、プロセッサに本開示の態様を遂行させるためのコンピュータ可読プログラム命令を有する(1つまたは複数の)コンピュータ可読ストレージ媒体を含むことができる。
【0077】
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のために命令を保有および格納することができる有形のデバイスであってよい。コンピュータ可読ストレージ媒体は、たとえば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または上記の任意の好適な組合せであってよいが、それらに限定はされない。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストには、以下、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック(R)、フロッピ(R)・ディスク、命令がその上に記録されたパンチ・カードまたは溝における隆起構造などの機械的にエンコードされたデバイス、および上記の任意の好適な組合せが含まれる。コンピュータ可読ストレージ媒体は、本明細書で使用されるとき、たとえば、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を通して伝播する電磁波(たとえば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通して伝送される電気信号などの、一過性の信号自体であるものと解釈されるべきではない。
【0078】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から、それぞれのコンピューティング/処理デバイスに、あるいは、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはワイヤレス・ネットワーク、あるいはその組合せのネットワークを介して、外部コンピュータまたは外部ストレージ・デバイスに、ダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体におけるストレージのためにコンピュータ可読プログラム命令を転送する。
【0079】
本開示の動作を遂行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいは、Smalltalk(R)、C++、その他などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む、1つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンド・アロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、または完全にリモート・コンピュータもしくはサーバ上で実行することができる。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続されてもよいし、または外部コンピュータへの接続が(たとえば、インターネット・サービス・プロバイダを使用してインターネットを通して)行われてもよい。いくつかの実施形態において、たとえば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本開示の態様を実施するために、電子回路を個人化するためのコンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行することができる。
【0080】
本開示の態様は、本開示の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の、フローチャート図またはブロック図あるいはその両方を参照して本明細書で説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せが、コンピュータ可読プログラム命令によって実装されることが理解されるであろう。
【0081】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装するための手段を作成するように、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを生み出すものであってよい。これらのコンピュータ可読プログラム命令はまた、命令がその中に格納されたコンピュータ可読ストレージ媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む製造物品を含むように、コンピュータ可読ストレージ媒体に格納されて、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに、特定のやり方で機能するように指示することができてよい。
【0082】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装するように、コンピュータ実装プロセスを生み出すために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされて、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実施させてもよい。
【0083】
図におけるフローチャートおよびブロック図は、本開示のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の考え得る実装形態のアーキテクチャ、機能、および動作を例証している。このことに関して、フローチャートまたはブロック図における各ブロックは、指定された論理的機能を実装するための1つもしくは複数の実行可能な命令を含むモジュール、セグメント、または命令の部分を表現することができる。いくつかの代替実装形態において、ブロックに記された機能は、図に記された順序以外で行われてもよい。たとえば、関与する機能に応じて、連続して示された2つのブロックが、実際には、1つのステップとして実現されてもよいし、部分的もしくは全体的に時間的に重複するやり方で、同時に、実質的に同時に実行されてもよいし、またはそのブロックが時に逆の順序で実行されてもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能もしくは動作を実施する、または特殊目的ハードウェアとコンピュータ命令との組合せを遂行する、特殊目的ハードウェア・ベースのシステムによって実装されてもよいことにもまた留意されるであろう。
【0084】
本開示が具体的な実施形態に関して説明されてきたが、その変更形態および修正形態は、当業者には明らかになることが予想される。本開示のさまざまな実施形態の説明は、例証の目的で提示されてきたが、網羅的であること、または開示された実施形態に限定されることは意図されていない。説明された実施形態の範囲から逸脱することなく、多くの修正形態および変形形態が当業者には明らかであろう。本明細書で使用される専門用語は、実施形態の原理、実際の適用、または市場で見られる技術に対する技術的改善を最もよく明らかにするために、または本明細書で開示された実施形態を他の当業者が理解するのを可能にするために選ばれたものである。したがって、以下の特許請求の範囲は、本開示の範囲内に入るすべてのそのような変更形態および修正形態を包含するように解釈することが意図されている。
【手続補正書】
【提出日】2024-04-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項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に記載のコンピュータ・プログラム製品。
【国際調査報告】