JP6402198B2 - デジタル証明書を用いた仮想マシンイメージの認証 - Google Patents

デジタル証明書を用いた仮想マシンイメージの認証 Download PDF

Info

Publication number
JP6402198B2
JP6402198B2 JP2016555543A JP2016555543A JP6402198B2 JP 6402198 B2 JP6402198 B2 JP 6402198B2 JP 2016555543 A JP2016555543 A JP 2016555543A JP 2016555543 A JP2016555543 A JP 2016555543A JP 6402198 B2 JP6402198 B2 JP 6402198B2
Authority
JP
Japan
Prior art keywords
virtual machine
machine image
vendor
virtual
computer system
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
JP2016555543A
Other languages
English (en)
Other versions
JP2017516179A (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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2017516179A publication Critical patent/JP2017516179A/ja
Application granted granted Critical
Publication of JP6402198B2 publication Critical patent/JP6402198B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Description

関連出願の相互参照
本出願は、2014年3月4日出願の同時係属の米国特許出願第14/196,818号「AUTHENTICATION OF VIRTUAL MACHINE IMAGES USING DIGITAL CERTIFICATES」の優先権を主張し、その内容全体を参照により本明細書に組み込む。
コンピュータ技術は進化し、コンピュータ技術を使用する組織の需要を満たすために進化し続けている。例えば、多くの組織は、とりわけ、1つまたは複数の仮想マシンインスタンスを遠隔で操作するために、仮想コンピュータシステムサービスを利用する。これらの仮想マシンインスタンスは、ソフトウェア構成を含む仮想マシンイメージを用いて作成されてよい。仮想マシンイメージは、仮想マシンインスタンスのオペレーティング環境を規定するオペレーティングシステムを備えてよい。これらの仮想マシンイメージは、様々なソースを通して入手可能にされてよい。多くの利点にもかかわらず、仮想マシンインスタンスの作成に使用される仮想マシンイメージが認証済みであるか否か、または、信頼できるソースによって提供されているか否かを判断するのが難しい場合がある。従って、これらの仮想コンピュータシステムを利用する組織は、悪意のあるソフトウェアを含み得る1つまたは複数の仮想マシンインスタンスを作成するリスクを負うことがあり、ひいては、組織自体のインフラストラクチャのセキュリティを低下させる場合がある。
本発明は、デジタル証明書を用いた仮想マシンイメージの認証に関する。仮想マシンイメージのベンダは、仮想コンピュータシステムサービスにアクセスして、仮想マシンインスタンス作成のためのイメージを選択するために仮想コンピュータシステムサービスの顧客が使用可能なデータストアにデジタル署名された仮想マシンイメージをアップロードする。デジタル証明書が仮想マシンイメージと共にアップロードされる場合、仮想コンピュータシステムサービスは、デジタル証明書が信用して使用できるか否かを判断してよい。デジタル証明書が信用して使用できる場合、仮想コンピュータシステムサービスは、公開暗号鍵を使用してイメージと共に含まれているハッシュ署名を解読し、第1のハッシュ値を取得してよい。サービスは、さらに、ハッシュ関数をイメージ自体に適用して第2のハッシュ値を取得してよい。2つのハッシュ値が一致する場合、仮想マシンイメージは認証済みであるとみなされてよい。
図面を参照して本開示による様々な実施形態を記載する。
様々な実施形態を実施し得る環境の例示的な実施例を示す。 様々な実施形態を実施し得る環境の例示的な実施例を示す。 少なくとも1つの実施形態に係る、仮想コンピュータシステムサービスの1つまたは複数の構成要素を含む環境の例示的な実施例を示す。 少なくとも1つの実施形態に係る、仮想マシンインスタンス作成のための1つまたは複数の信頼できる仮想マシンイメージを選択するためのインタフェースを備える環境の例示的な実施例を示す。 少なくとも1つの実施形態に係る、仮想マシンイメージをマーケットプレイスにアップロードするためのインタフェースを備える環境の例示的な実施例を示す。 少なくとも1つの実施形態に係る、ベンダアカウントを作成し、仮想マシンイメージを利用可能にするために使用するデジタル証明書をベンダに発行するプロセスの例示的な実施例を示す。 少なくとも1つの実施形態に係る、仮想コンピュータシステムサービスによって管理されるマーケットプレイスに仮想マシンイメージを追加するプロセスの例示的な実施例を示す。 少なくとも1つの実施形態に係る、1つまたは複数の適用可能なポリシーに少なくとも部分的に基づいて仮想マシンイメージを起動するプロセスの例示的な実施例を示す。 様々な実施形態を実施し得る環境を示す図である。
以下に様々な実施形態を記載する。説明目的で、実施形態を完全に理解するために、具体的な構成及び詳細を記載する。しかしながら、その具体的な詳細を伴わない実施形態を実践してよいことも当業者には明らかであろう。さらに、実施形態の記載が曖昧にならないように、周知の特徴は省略または簡略化する場合がある。
本明細書に記載、提案した技術は、仮想マシンインスタンスの作成に使用する1つまたは複数の仮想マシンイメージを認証するためのデジタル証明書の使用に関する。ある実施形態においては、実体(例えば、組織)は、仮想コンピュータシステムサービスと、例えば、当該サービスへの適切に構成されたアプリケーションプログラミングインタフェース(API)コールを介して通信して、ベンダアカウント作成を要求することができる。実体は、ベンダまたは他のマシンイメージプロバイダであってよい。ベンダまたは他のマシンイメージプロバイダは、コンピュータリソースサービスプロバイダアカウントを利用して様々な仮想マシンイメージを作成し、提供してよい。コンピュータリソースサービスプロバイダの顧客は、仮想マシンイメージを使用して新しい仮想マシンインスタンスを作成してよい。要求に加えて、ベンダは、例えば、仮想コンピュータシステムサービスに、ベンダのアイデンティティの検証に用いてもよい1つまたは複数の認証情報及び/またはベンダに由来する情報(例えば、デジタル署名)を提供することによって、コンピュータリソースサービスプロバイダと認証を行ってよい。従って、仮想コンピュータシステムサービスがベンダのアイデンティティを検証できる場合、仮想コンピュータシステムサービスは、ベンダによって導入された各仮想マシンイメージにデジタル証明書を添付する許可をベンダに与えてよい。そうすると、デジタル証明書は、仮想コンピュータシステムサービスによって使用されて、ベンダによって導入された各仮想マシンイメージが実際にベンダからのものであることを検証できる。あるいは、ベンダは、自己のデジタル証明書を提供してよく、仮想コンピュータシステムサービスは、そのデジタル証明書をベンダが提供する仮想マシンイメージを検証するためにトラストストア内に永続的に記憶してよい。ベンダは、1つまたは複数の仮想マシンイメージを作成し、これら1つまたは複数の仮想マシンイメージにデジタル署名し、承認されたデジタル証明書を備えてよい。
ある実施形態においては、ベンダは、1つまたは複数の仮想マシンイメージを仮想コンピュータシステムサービスにアップロードしてよい。1つまたは複数の仮想マシンイメージは、デジタル証明書と共に仮想コンピュータシステムサービスにアップロードしてよく、仮想コンピュータシステムサービスは、そのデジタル証明書を利用して、1つまたは複数の仮想マシンイメージをマーケットプレイスに追加してよいか否かを判断してよい。例えば、1つまたは複数の仮想マシンイメージと共に含まれるデジタル証明書がベンダによって作成された場合、仮想コンピュータシステムサービスは、トラストストアにアクセスして、デジタル証明書が信頼し得るか否かを判断してよい。あるいは、仮想コンピュータシステムサービスが、仮想マシンイメージの署名に使用するために、事前にデジタル証明書をベンダに提供している場合、仮想コンピュータシステムサービスは、このデジタル証明書を備える仮想マシンイメージはいずれもマーケットプレイスに追加可能にしてよい。1つまたは複数の仮想マシンイメージをマーケットプレイスに追加する場合、仮想コンピュータシステムサービスは、これらの仮想マシンイメージは信頼できるベンダからであることを示す指示(例えば、アイコン、メッセージ等)をマーケットプレイスのエントリの隣に備えてよい。
ある実施形態において、仮想コンピュータシステムサービスは、仮想マシンイメージが認証済みであることを確実にするために、ベンダのデジタル証明書の信頼性を個別に検証するオプションを顧客に提供してよい。例えば、顧客が、コンピュータリソースサービスプロバイダのマーケットプレイス内の複数の仮想マシンイメージから仮想マシンイメージを選択する場合、顧客は、仮想コンピュータシステムサービスによって提供された実行可能なコードまたはアプリケーションの1つまたは複数のモジュールへのアクセスを許可されて、仮想マシンイメージが認証済みであることを検証してよい。ある実施形態において、顧客は、これらの1つまたは複数のアプリケーションを使用して、仮想マシンイメージ自体のハッシュ値を計算し、第1のハッシュ値(「ダイジェスト」と呼ばれることが多い)を取得してよい。顧客は、これらの1つまたは複数のアプリケーションをさらに利用してデジタル証明書からベンダの公開暗号鍵を取得して、仮想マシンイメージに含まれた署名を解読し、第2のハッシュ値を取得してよい。これら2つのハッシュ値が一致する場合、顧客は、デジタル署名が有効であり、仮想マシンインスタンス作成に使用する仮想マシンイメージは信頼できると判断してよい。
ある実施形態において、仮想コンピュータシステムサービスの顧客は、マーケットプレイスから仮想マシンイメージを選択して、新しい仮想マシンインスタンスを起動してよい。従って、仮想コンピュータシステムサービスは、1つまたは複数の顧客、及び/または、仮想マシンイメージからの仮想マシンインスタンスの起動を制限する仮想マシンイメージポリシーを評価してよい。例えば、顧客は、仮想マシンインスタンスを起動できる仮想ネットワーク内のサブネットまたはサブネット内の特徴を特定するポリシー(例えば、サブネットがサブネットに接続されたインターネットゲートウェイを有するか否か、サブネットが一定のラベルでタグ付けされているか否か、サブネットが一定の種類の、または、一定のベンダからのインスタンスを有するか否か等に基づいた制限)を追加することができる。同じまたは別の構成において、仮想マシンイメージ自体が、イメージを用いたインスタンスの作成への制限に替わる、ベンダが設定したポリシーセットを含んでよい。仮想コンピュータシステムサービスが、顧客の評価及び/または仮想マシンイメージポリシーに少なくとも部分的に基づいて、選択した仮想マシンイメージを用いて顧客が仮想マシンインスタンスを生成してよいと判断する場合、仮想コンピュータシステムサービスは、物理ホストに仮想マシンイメージをインスタンス化して、顧客が新しく作成された仮想マシンインスタンスを使用できるようにしてよい。
このように、コンピュータリソースサービスプロバイダと、仮想マシンイメージを利用して1つまたは複数の仮想マシンインスタンスを作成する顧客とに仮想マシンイメージの認証方法を提供するために、ベンダは、プライベート暗号鍵を利用して仮想マシンイメージにデジタル署名し、公開暗号鍵を含むデジタル証明書を備えてよい。さらに、本明細書に記載及び提案した技術は、追加の技術的利点を促進する。例えば、ある実施形態においては、仮想コンピュータシステムサービスは、デジタル署名に少なくとも部分的に基づいて仮想マシンイメージの信頼性を検証できるので、どのイメージが暗号学的に検証可能な形で認証済みであり得るかということに少なくとも部分的に基づいて仮想マシンイメージをフィルタできてよい。こうすると、コンピュータリソースサービスプロバイダの顧客は、選択した仮想マシンイメージの信頼性をさらに検証する必要なしにマーケットプレイスから認証済みの仮想マシンイメージを取得できてよい。
図1は、様々な実施形態を実践し得る環境100の例示的な実施例を示す。環境100において、コンピュータリソースサービスプロバイダ102は、様々なコンピュータリソースサービスをコンピュータリソースサービスプロバイダの顧客に提供してよい。コンピュータリソースサービスプロバイダ102は、1つまたは複数の顧客のために様々なコンピュータリソースをホストする組織であってよい。例えば、コンピュータリソースサービスプロバイダは、ハードウェアサーバ、データ記憶装置、ネットワーク装置等の様々なコンピュータハードウェアリソースと、サーバラック、ネットワークケーブル等の他の機器とをホストするのに使用される1つまたは複数の設備を運営してよい。コンピュータリソースサービスプロバイダ102は、そのコンピュータハードウェアリソースを利用して1つまたは複数のサービスを運営してよい。このようなサービスは、コンピュータリソースサービスプロバイダの顧客がコンピュータリソースを遠隔で管理することを可能にして顧客の操作を支援し、顧客の物理的機器への投資の必要を低減または排除するサービスを含んでよい。サービスの例は、様々なデータストレージサービス(オブジェクトベースのデータストレージサービス、アーカイバルデータストレージサービス、データベースサービス等)、プログラム実行サービス、及び、他のサービスを含むが、それらに限定されない。サービスを顧客が用いて、ウェブサイトの操作、組織を支援する企業システムの操作、分散計算、及び/または、他のアクティビティ等、広範なアクティビティを支援してよい。
従って、図1に示すように、環境100は、顧客104を含む。顧客104は、個人または組織であってよく、コンピュータリソースサービスプロバイダ102によって提供された1つまたは複数のサービスを利用して、コンピュータリソースを遠隔で管理し、ウェブページ開発またはデータベース管理等、顧客の操作を支援できる。顧客104は、コンピュータシステムサービスプロバイダ102が提供した仮想コンピュータシステムサービスに顧客のコンピュータ装置を通して1つまたは複数の要求を提供して、顧客のニーズの支援に使用し得る仮想マシンインスタンスを構成してよい。例えば、ある実施形態においては、顧客104は、仮想コンピュータシステムサービスに提供されたマーケットプレイスにアクセスして、仮想マシンイメージデータストア106から適切な仮想マシンイメージを選択してよい。選択した仮想マシンイメージは、仮想マシンインスタンスの支援に使用し得るオペレーティングシステム及び追加のアプリケーションを含んでよい。この選択した仮想マシンイメージは、新しい仮想マシンインスタンスの作成に顧客104が利用し得る仮想マシンイメージリストに追加してよい。従って、顧客104がリストから適切な仮想マシンイメージを選択すると、仮想コンピュータシステムサービスは、コンピュータリソースサービスプロバイダ102が提供した物理ホストに、この仮想マシンイメージをインスタンス化して、顧客104が新しく作成された仮想マシンインスタンスを利用できるようにしてよい。
仮想マシンイメージデータストア106内に記憶された仮想マシンイメージは、複数のソースからのものであってよい。例えば、コンピュータリソースサービスプロバイダ102は、顧客のコンピュータニーズの全てに対して1つのソースを顧客104に提供するために、仮想マシンインスタンス作成のための1つまたは複数の仮想マシンイメージを作成してよい。さらに、仮想コンピュータシステムサービスは、自身の顧客及び第三者ベンダを含む他の実体が、仮想マシンイメージを作成して、仮想マシンイメージデータストア106にアップロードできるようにして、仮想マシンインスタンス作成のための仮想マシンイメージの選択をより多様に顧客に提供してよい。
従って、図1に示すように、環境100はベンダ108を含む。ベンダ108は、個人または組織であってよく、コンピュータリソースサービスプロバイダ102によって提供された仮想コンピュータシステムサービスを利用して、1つまたは複数の仮想マシンイメージを作成し、及び/または購入可能にする。ベンダ108は、コンピュータシステムサービスプロバイダ102が提供した仮想コンピュータシステムサービスにベンダのコンピュータ装置を通して1つまたは複数の要求を提出して、仮想マシンイメージを仮想マシンイメージデータストア106にアップロードするのに使用可能なベンダアカウントの作成を要求してよい。1つまたは複数の要求内に、ベンダ108は、認証情報を提供してよく、仮想コンピュータシステムサービスは、その認証情報を用いてベンダ108のアイデンティティを検証してよい。ベンダ108のアイデンティティが検証されると、仮想コンピュータシステムサービスは、デジタル証明書をベンダ108に提供してよく、ベンダ108は、仮想マシンイメージデータストア106にアップロードしてよいデジタル署名された仮想マシンイメージにデジタル証明書を添付してよい。あるいは、ベンダ108は、仮想マシンイメージを仮想マシンイメージデータストア106にアップロードするのに使用してよい信頼できるネットワーク接続にアクセスを許可されてよい。従って、仮想コンピュータシステムサービスは、これらの各仮想マシンイメージにデジタル署名して、これらの各仮想マシンイメージが認証済みであることを確認してよい。
顧客104が仮想マシンイメージデータストア106から仮想マシンイメージを選択する時、仮想コンピュータシステムサービスは、顧客104がこの仮想マシンイメージを利用して新しい仮想マシンインスタンスを作成するのを許可されているか否かを判断してよい。例えば、顧客104は、一定のベンダが提供するリソースへのアクセスレベルを規定する1つまたは複数のポリシーを作成してよい。これは、一定のベンダからの仮想マシンイメージを使用して顧客104の仮想マシンインスタンスを生成できるようにすることを含んでよい。あるいは、ポリシーは、リソースを使用すべきでないベンダのリストを含んでよい。ある実施形態においては、ベンダ108は、1つまたは複数のポリシーをベンダ108の仮想マシンイメージに添付して、どの実体がこれらの仮想マシンイメージを利用してよいかを判断する。例えば、顧客104が、現在、ベンダ108の競合者からの1つまたは複数のリソース、または、ベンダ108が提供する仮想マシンイメージと競合する1つまたは複数のリソースを利用している場合、ベンダ108は、この顧客104がベンダ108の仮想マシンイメージを利用するのを禁止するポリシーを生成してよい。従って、顧客104が規定されたポリシー及び/または選択した仮想マシンイメージ自体に含まれたポリシーに少なくとも部分的に基づいて、仮想コンピュータシステムサービスは、選択した仮想マシンイメージが、顧客104のための新しい仮想マシンインスタンスの支援に用いられてよいか否かを判断してよい。
図2は、本開示の様々な実施形態を実践してよい環境200の例示的な実施例を示す。環境200において、コンピュータリソースサービスプロバイダ202は、顧客204に様々なサービスを提供してよい。顧客204は、コンピュータリソースサービスプロバイダ202が提供した様々なサービスを利用して、1つまたは複数のウェブサーバまたはアプリケーションを遠隔で生成、テスト、及び維持し得る組織であってよい。図2に示すように、顧客204は、インターネット等の1つまたは複数の通信ネットワーク206を通して、コンピュータリソースサービスプロバイダ202と通信してよい。顧客204からコンピュータリソースサービスプロバイダ202への一部の通信によって、コンピュータリソースサービスプロバイダ202は、本明細書に記載の様々な技術またはその変形に従って動作してよい。
上記のように、コンピュータリソースサービスプロバイダ202は、その顧客に様々なコンピュータリソースサービスを提供してよい。例えば、この特定の例示的な実施例においては、コンピュータリソースサービスプロバイダ202は、少なくとも2種類のサービスを提供する。コンピュータリソースサービスプロバイダが提供するサービスは、この実施例においては、仮想コンピュータシステムサービス208、データストレージサービス210、アイデンティティ管理サービス212、及び、1つまたは複数の他のサービス214を含むが、本開示の実施形態の全てが、このようなサービスを全て含むわけではなく、本明細書に記載したサービスに加えて、または、その代わりに追加のサービスが提供されてもよい。
仮想コンピュータシステムサービス208は、コンピュータリソースサービスプロバイダ202の顧客204のために、仮想コンピュータシステム上に仮想マシンインスタンスを作成するように構成されたコンピュータリソースのコレクションであってよい。コンピュータリソースサービスプロバイダ202の顧客204は、仮想コンピュータシステムサービス208とインタラクトして、コンピュータリソースサービスプロバイダ202によってホスト及び運営される物理的コンピュータ装置(例えば、物理ホスト)上でインスタンス化される仮想コンピュータシステムをプロビジョニング及び操作してよい。仮想コンピュータシステムは、ウェブサイトを支援するサーバとして動作する等、様々な目的に使用されてよい。仮想コンピュータシステムの他のアプリケーションは、データベースアプリケーション、電子商取引アプリケーション、ビジネスアプリケーション、及び/または、他のアプリケーションを支援するものであってよい。
顧客204が、仮想コンピュータシステムサービス208とインタラクトして仮想マシンインスタンスをプロビジョニングする時、顧客204は様々なリソースにアクセスしてよい。例えば、仮想マシンインスタンスは、仮想マシンイメージをプロビジョニングしてよく、仮想マシンイメージは、オペレーティングシステム及び顧客のニーズに応じた様々なアプリケーションを含んでよい。従って、仮想コンピュータシステムサービス208は、顧客204が、複数の仮想マシンイメージから仮想マシンイメージを選択できるようにしてよい。仮想コンピュータシステムサービス208は、顧客204が選択した仮想マシンイメージを利用して新しい仮想マシンインスタンスを作成するのを許可されているか否かを判断するように構成されてよい。上記のように、仮想コンピュータシステムサービス208は、1つまたは複数の顧客204及び/または仮想マシンイメージポリシーを評価して、顧客204が仮想マシンイメージを用いて仮想マシンインスタンスを作成することを許可されているか禁じられているかを判断してよい。例えば、以下により詳細に記載するように、仮想コンピュータシステムサービス208は、アイデンティティ管理サービス212とインタラクトして、これらの1つまたは複数の顧客204及び/または仮想マシンイメージポリシーを識別してよく、これらのポリシーに少なくとも部分的に基づいて、顧客204が、選択した仮想マシンイメージを用いて仮想マシンインスタンスを作成してよいか否かを判断してよい。
仮想コンピュータシステムサービス208は、1つまたは複数のベンダが様々な仮想マシンイメージを仮想マシンイメージデータストアにアップロードするのをさらに許可してよく、1つまたは複数の顧客は、その様々な仮想マシンイメージを用いて仮想マシンインスタンスを作成してよい。例えば、ある実施形態においては、ベンダは、仮想コンピュータシステムサービス208とインタラクトして、仮想マシンイメージを仮想マシンイメージデータストアにアップロードするのに使用可能なベンダアカウントを作成してよい。ベンダは、要求内にアカウント作成のための認証情報を備えてよく、仮想コンピュータシステムサービス208は、その認証情報を利用して、ベンダのアイデンティティを検証してよい。次に、仮想コンピュータシステムサービス208は、仮想マシンイメージデータストアにアップロードされるデジタル署名された仮想マシンイメージにベンダが添付するデジタル証明書をベンダに与えてよい。
ベンダが、仮想マシンイメージデータストアに仮想マシンイメージのアップロードを試みる時、仮想コンピュータシステムサービス208は、仮想マシンイメージがデジタル署名されているか否かを判断してよく、デジタル署名されている場合、その署名を解読して、仮想マシンイメージのハッシュが解読された署名と一致するか否かを判断してよい。一致する場合、仮想コンピュータシステムサービス208は、仮想マシンイメージを認証して、その仮想マシンイメージを顧客がマーケットプレイスを通して利用できるようにしてよい。従って、顧客204は、仮想コンピュータシステムサービス208が提供したマーケットプレイスを利用して、信頼できる仮想マシンイメージを選択してよく、必要に応じて、選択した仮想マシンイメージ内に含まれるベンダのデジタル署名の検証プロセスを行うことによって、仮想マシンイメージの信頼性を個人的に検証してよい。仮想マシンイメージのハッシュの取得を、説明目的で本開示を通して広く使用するが、仮想マシンイメージの認証を行うのに十分なイメージの一部のハッシュを取得してよい。例えば、仮想コンピュータシステムサービス208は、仮想マシンイメージ全体を認証するために、重要であるとみなされる仮想マシンイメージの実行可能な部分または他の部分のハッシュ値を計算するよう構成されてよい。
データストレージサービス210は、顧客204のためにデータを記憶するように集合的に働くコンピュータリソースのコレクションを含んでよい。データストレージサービス210に記憶されたデータは、データオブジェクトに編成されてよい。データオブジェクトは、おそらく、サイズに関して一定の制約以外は任意のサイズを有してよい。従って、データストレージサービス210は、様々なサイズの多くのデータオブジェクトを記憶してよい。データストレージサービス210は、データオブジェクトをデータオブジェクトの識別子に関連付けるキー値ストアとして働いてよく、顧客204は、その識別子を用いて、データストレージサービス210に記憶されたデータオブジェクトに関連する取り出しまたは他の操作を行ってよい。データストレージサービス210へのアクセスは、1つまたは複数のアクションをデータストレージサービス210によって実行させるように適切に構成された1つまたは複数のAPIコールを介して行われてよい。
アイデンティティ管理サービス212は、コンピュータリソースサービスプロバイダ202が提供する図2に示すサービス等の他のサービスへのアクセスレベルと、顧客及び他のベンダが提供するリソースへのアクセスレベルを顧客が規定できるようにする様々なサービスを提供してよい。従って、顧客204は、アイデンティティ管理サービス212にアクセスして、コンピュータリソースサービスプロバイダ202が提供するサービスを利用可能な1つまたは複数のユーザ及びグループを作成、管理してよい。顧客204は、アイデンティティ管理サービス212を利用して1つまたは複数のポリシーを生成してよく、一定のベンダが提供する仮想マシンイメージへのアクセスレベルを規定するためにそのポリシーが使用されてよい。
顧客204または他のユーザが、仮想コンピュータシステムサービス208を利用して仮想マシンイメージを選択し、新しい仮想マシンインスタンスを生成する時、仮想コンピュータシステムサービス208は、アイデンティティ管理サービス212にアクセスして、顧客204または他のユーザが選択した仮想マシンイメージの利用を許可されているか否かを判断してよい。アイデンティティ管理サービス212は、要求者及びイメージに添付されたポリシーの全てと、既に顧客の仮想ネットワーク内にある仮想コンピュータシステムの起動に使用されたイメージに添付されたポリシーとを、データストアから取得できる。アイデンティティ管理サービス212は、次に、ポリシーを評価して、要求の許可または拒絶を判断できる。ある実施形態例においては、ポリシーは、イメージが、一定のベンダからのイメージに添付されたデジタル署名を有する限り、一定のベンダからの仮想マシンイメージを顧客204または他のユーザの仮想マシンインスタンスの生成に使用できるようにするポリシーステートメントのセットを含み得る。同様に、ポリシーステートメントは、リソースを使用すべきでないベンダのリスト、または、仮想ネットワークの特徴に基づいた他の制限を含んでよい。仮想マシンイメージのベンダは、その仮想マシンイメージに関連付けられて、どの実体がこれらの仮想マシンイメージを利用して仮想マシンインスタンスを生成してよいかを判断する1つまたは複数のポリシーを生成できる。例えば、顧客204が、ベンダの競合者からの1つまたは複数のリソース、または、ベンダが提供する仮想マシンイメージと競合し得る1つまたは複数のリソースを利用している場合、ベンダは、この顧客204がこれらの仮想マシンイメージを利用するのを禁止するポリシーを生成してよい。
コンピュータリソースサービスプロバイダ202は、さらに、顧客204のニーズに基づいて、1つまたは複数の他のサービス214を維持してよい。例えば、コンピュータリソースサービスプロバイダ202は、その顧客204のためにデータベースサービスを維持してよい。データベースサービスは、1つまたは複数の顧客204のために1つまたは複数のデータベースを実行するように集合的に動作するコンピュータリソースのコレクションであってよい。コンピュータリソースサービスプロバイダ202の顧客204は、サービスへの適切に構成されたAPIコールを利用することによって、データベースサービスからのデータベースを操作及び管理してよい。こうすると、顧客204が、データベースを維持し、その操作を拡大縮小することが可能になる。他のサービスは、オブジェクトレベルのデータストレージサービス、オブジェクトレベルのアーカイバルデータストレージサービス、他のサービスを管理するサービス、及び/または、他のサービスを含むが、それらに限定されない。
上記のように、仮想コンピュータシステムサービスは、1つまたは複数の顧客によって使用されて様々な用途のための仮想マシンインスタンスをプロビジョニングしてよい。一定の機能(例えば、1つまたは複数のデータベースの維持、クライアント情報の記憶、ウェブアプリケーションの開発等)を顧客が行うのを可能にし得るオペレーティングシステム及び様々なアプリケーションを含む仮想マシンイメージを選択するために、仮想コンピュータシステムサービスは、顧客のマーケットプレイスへのアクセスを許可してよい。この仮想マシンイメージを使用して、仮想マシンインスタンスを作成してよい。従って、図3は、少なくとも1つの実施形態による仮想コンピュータシステムサービス302の様々な構成要素を備える環境300の例示的な実施例を示す。仮想コンピュータシステムサービス302は、顧客が仮想コンピュータシステムサービス302にアクセスできるようにするインタフェース304を顧客に提供してよい。顧客は、インターネット等の1つまたは複数の通信ネットワークを通してインタフェース304を利用してよい。インタフェース304は、顧客が仮想コンピュータシステムサービス302へのアクセスの権利を有することを保証する一定のセキュリティセーフガードを含んでよい。例えば、仮想コンピュータシステムサービス302にアクセスするために、顧客は、インタフェース304を用いる際、ユーザネーム及び対応するパスワードまたは暗号鍵を提供することが必要でとすることがある。さらに、インタフェース304に提出された要求(例えば、APIコール)は、認証システム(図示せず)等、仮想コンピュータシステムサービス302によって電子署名が検証可能なように、暗号鍵を用いて生成された電子署名を必要とすることがある。
顧客は、インタフェース304を介して仮想コンピュータシステムサービス302にアクセスすると、仮想コンピュータシステムサービス302は、インタフェース304を介して管理サブシステム306と顧客がインタラクトできるようにしてよい。例えば、管理サブシステム306は、顧客が仮想マシンインスタンスを遠隔でプロビジョニングできるようにしてよい。顧客は、インタフェース304及び管理サブシステム306を使用して、オペレーティングシステムと顧客のニーズに適した様々なアプリケーションとを含む仮想マシンインスタンスを生成してよい。オペレーティングシステム及び様々なアプリケーションは、仮想マシンイメージデータストア308内にマシンイメージの形態でデータストレージに保持されてよい。仮想コンピュータシステムサービス302は、管理サブシステム306に特定されるように、具体的な顧客の好みに基づいて仮想マシンイメージデータストア308内に様々なマシンイメージを保持してよい。顧客が、管理サブシステム306を介して、仮想マシンインスタンスをプロビジョニングする要求を提出する時、仮想コンピュータシステムサービス302は、顧客が要求したマシンイメージを識別して、マシンイメージの処理に必要なリソース(例えば、マシンイメージの構成要素の操作に必要なプロセッサ及びランダムアクセスメモリ(RAM))を割り当ててよい。マシンイメージは、インスタンスの物理ホスト312として働いてよい1つまたは複数の物理的記憶装置(例えば、1つまたは複数のサーバまたはハードドライブ)上でインスタンス化されてよい。
マシンイメージデータストア308内に記憶されたマシンイメージは、コンピュータリソースサービスプロバイダが提供するマーケットプレイス316を介して、仮想マシンイメージの1つまたは複数のベンダによって提供されてよい。ある実施形態において、ベンダは、マーケットプレイス316にアクセスして、仮想マシンイメージの生成、アップロードに使用してよい新しいベンダアカウントを生成する。この新しいベンダアカウントを生成するために、ベンダは、マーケットプレイス316がベンダのアイデンティティ検証のために使用可能な認証情報のセットをマーケットプレイス316に提供することを要求されてよい。従って、マーケットプレイス316は、アイデンティティ管理サービス314にアクセスして、認証情報のセットを利用してベンダのアイデンティティを検証してよい。マーケットプレイス316が、アイデンティティ管理サービス314を通して、ベンダのアイデンティティを検証できる場合、マーケットプレイス316は、トラストストア310にアクセスして、ベンダに割り当てられてよいデジタル証明書を取得してよい。トラストストア310は、複数のデジタル証明書を記憶する1つまたは複数の物理的記憶装置を備えるデータストアであってよい。このデジタル証明書は、デジタル証明書とデジタル署名された仮想マシンイメージが仮想マシンイメージデータストア308にアップロードされるように、ベンダによって作成された任意のデジタル署名された仮想マシンイメージに添付されてよい。あるいは、ベンダは、検証されると、ベンダ自身のデジタル証明書または他の暗号鍵をトラストストア310に提供してよく、管理サブシステム306またはマーケットプレイス316は、ベンダ自身のデジタル証明書または他の暗号鍵にアクセス、利用して、アップロードされた仮想マシンイメージの信頼性を検証してよい。
ある実施形態において、ベンダは、アップロードされた各仮想マシンイメージに関して、1つまたは複数の顧客及び/または仮想マシンイメージポリシーをアイデンティティ管理サービス314にさらにアップロードして、コンピュータリソースサービスプロバイダの1つまたは複数の顧客に関して、アップロードされた各仮想マシンイメージへのアクセスレベルを規定することができる。従って、顧客が、新しい仮想マシンインスタンスの作成に使用する仮想マシンイメージをマーケットプレイス316から選択する時、仮想コンピュータシステムサービス208は、アイデンティティ管理サービス314と通信して、この顧客に関して、選択した仮想マシンイメージに関して、顧客がインスタンスを起動しようとしている仮想ネットワークに関して等、適用可能なポリシーがあるか否かを判断してよい。これらのポリシーに少なくとも部分的に基づいて、アイデンティティ管理サービス314は、選択した仮想マシンイメージを要求したように利用するという顧客の要求を許可または拒絶してよい。さらに、または、あるいは、顧客が、インタフェース304及び管理サブシステム306を用いて特定の仮想マシンイメージを利用して仮想マシンインスタンスを生成する時、管理サブシステム306は、アイデンティティ管理サービス314にアクセスして1つまたは複数の顧客及び/または仮想マシンイメージポリシーを識別及び評価して、その顧客が選択した仮想マシンイメージを利用して仮想マシンインスタンスを生成することを許可されているか否かを判断してよい。
上記のように、選択した仮想マシンイメージのベンダが、例えば、インターネットゲートウェイを有するサブネット内にインスタンスを起動するイメージの使用を妨げる制限等、そのイメージの使用を制限するポリシーを作成している場合、管理サブシステム306は、顧客が選択した仮想マシンイメージを使用するのを妨げてよい。あるいは、顧客が特定のベンダが提供する仮想マシンイメージの使用を禁止する顧客ポリシーを生成した場合、管理サブシステム306は、顧客アカウントのユーザがこれらの仮想マシンイメージを利用するのを妨げてよい。管理サブシステム306が、顧客は選択した仮想マシンイメージを利用して仮想マシンインスタンスを作成してよいと判断する場合、仮想コンピュータシステムサービス302は、マシンイメージの処理に必要なリソース(例えば、マシンイメージの構成要素の操作に必要なプロセッサ及びRAM)を割り当ててよい。マシンイメージは、インスタンスの物理ホスト312として働いてよい1つまたは複数の物理的記憶装置(例えば、1つまたは複数のサーバまたはハードドライブ)上でインスタンス化されてよい。
顧客は、インタフェース304及び管理サブシステム306を使用して仮想マシンインスタンスを生成する時、マーケットプレイス316から仮想マシンイメージを選択してよい。従って、管理サブシステム306は、上記のように、顧客、仮想ネットワーク、及び/または、仮想マシンイメージポリシーを評価して、顧客が選択した仮想マシンイメージの利用を許可されていることを検証してよい。顧客及び/または顧客と関連付けられた特定のユーザが、仮想マシンイメージの利用を許可されている場合、管理サブシステムは、マシンイメージデータストア308から選択した仮想マシンイメージを取得してよい。顧客は、管理サブシステム306が提供した1つまたは複数のアプリケーションを利用して、選択した仮想マシンイメージが認証済みであることを独自に検証してよい。例えば、仮想マシンイメージを対応するデジタル署名と共に顧客に提供する場合、顧客は、これらの1つまたは複数のアプリケーションを利用して、ハッシュ関数を仮想マシンイメージに適用してハッシュ値またはダイジェストを取得してよい。次に、顧客は、暗号鍵を利用してデジタル署名を解読し、署名ハッシュ値を取得したハッシュ値と比較してよい。これらのハッシュ値が一致する場合、顧客は、仮想マシンイメージは認証済みであると検証できてよい。ある実施形態において、各仮想マシンイメージは、1つまたは複数の構成要素を含むことができ、これらの構成要素の少なくとも1つはデジタル署名されている。例えば、各仮想マシンイメージは、仮想マシンイメージの一定の詳細に関連付けられたメタデータを含むマニフェストを含んでよい。特に、仮想マシンイメージが十分なサイズの場合、仮想マシンイメージ全体の代わりに、このマニフェストがデジタル署名されてよい。従って、顧客は、選択した仮想マシンイメージのデジタル署名されたマニフェストに少なくとも部分的に基づいて、仮想マシンイメージの信頼性を検証できてよい。
上記のように、顧客は、マーケットプレイスを利用して1つまたは複数の仮想マシンイメージを取得してよい。仮想コンピュータシステムサービスを通してマーケットプレイスを使用して、新しい仮想マシンインスタンスの作成を要求してよい。インタフェースを介して、顧客は、仮想マシンインスタンス作成のために取得、使用してよい1つまたは複数の仮想マシンイメージのリストを含むマーケットプレイスにアクセスできてよい。従って、図4は、少なくとも1つの実施形態による、仮想コンピュータシステムサービス内で、仮想マシンインスタンス作成に使用してよい1つまたは複数の信頼できる仮想マシンイメージを選択するためのインタフェース402を備える環境400の例示的な実施例を示す。上記のように、ベンダが、仮想コンピュータシステムサービスの顧客が使用するマーケットプレイスまたは他のデータストアに1つまたは複数の仮想マシンイメージをアップロードするためのベンダアカウントの作成を要求する時、仮想コンピュータシステムサービスは、ベンダにデジタル証明書を発行してよく、ベンダは、これらのデジタル署名された仮想マシンイメージにデジタル証明書を添付する。従って、ベンダがベンダアカウントを利用して仮想マシンイメージをアップロードする時、仮想コンピュータシステムサービスは、仮想マシンイメージと、デジタル署名及びデジタル証明書を利用して、イメージが有効であるか否かを判断してよい。デジタル署名が仮想マシンイメージ、仮想マシンイメージの一部、または、ベンダのプライベート鍵で署名された他のデータのハッシュと一致する場合、仮想マシンイメージを信頼してよい。
仮想コンピュータシステムサービスは、その顧客にこれらの信頼できる仮想マシンイメージのみを表示するようインタフェース402を構成してよい。例えば、図4に示すように、インタフェース402は、信頼できるイメージのタブ404を備えてよく、仮想コンピュータシステムサービスの顧客がタブ404を選択すると、マーケットプレイスで入手可能な信頼できる仮想マシンイメージをインタフェース402に表示させてよい。この例示的な実施例において、少なくとも3つの信頼できる仮想マシンイメージがある。これらの仮想マシンイメージは、異なるベンダによって提供されてよく、各ベンダは、ベンダと共に暗号材料を用いて仮想コンピュータシステムサービスによって検証済みであってよい。例えば、ベンダが、ベンダアカウントの作成を要求する時、認証情報のセット(例えば、ユーザネームとパスワード、暗号鍵等)を仮想コンピュータシステムサービスに提供してよい。従って、仮想コンピュータシステムサービスは、この認証情報を利用してベンダのアイデンティティを検証し、アカウントを作成してよいか否かを判断してよい。そうすると、認証情報を用いて、デジタル証明書を作成し、イメージに署名することができる。
さらに、各仮想マシンイメージは、上記のように、デジタル証明書及びデジタル署名と共に仮想コンピュータシステムサービスにアップロードされてよい。デジタル署名は、仮想マシンイメージのハッシュを暗号鍵ペアのプライベート暗号鍵で暗号化することによって作成してよい。仮想マシンイメージを受信すると、仮想コンピュータシステムサービスは、デジタル証明書内に含まれる公開鍵を利用して、デジタル署名を解読して、ハッシュ値を取得してよい。次に、仮想コンピュータシステムサービスは、仮想マシンイメージのハッシュ値を計算し、この値をデジタル署名を解読して取得したハッシュ値と比較して一致するか否かを判断してよい。値が一致する場合、仮想マシンイメージは認証済みとみなされてよい。従って、仮想マシンイメージは、信頼できる仮想マシンイメージのリストに加えられ、リストは、インタフェース402の信頼できるイメージのタブ404の下に表示される。従って、インタフェース402を使用する顧客は、信頼できるイメージのタブ404の下にリストされた仮想マシンイメージは仮想コンピュータシステムサービスによって検証済みであると理解してよい。さらに、仮想コンピュータシステムサービスは、インタフェース402に、これらの信頼できる各仮想マシンイメージと共に指示をさらに表示させる。顧客は、その指示を使用して仮想マシンイメージが認証済みであることを検証してよい。
顧客は、どの仮想マシンイメージを利用して新しい仮想マシンインスタンスを作成したいかを決定すると、インタフェース402を通して、信頼できるイメージのタブ404の下にリストされた仮想マシンイメージの隣の選択ボタン406を利用して、仮想マシンイメージを選択してよい。仮想コンピュータシステムサービスは、顧客が特定の仮想マシンイメージの選択ボタン406を利用したことを検出すると、仮想マシンイメージデータストアからその仮想マシンイメージを取得し、仮想マシンイメージを入手できるようにしてよく、顧客は、仮想コンピュータシステムサービスにアクセスし、取得した仮想マシンイメージのリストから仮想マシンイメージを選択し、仮想マシンイメージを物理ホスト上にインスタンス化して、顧客が新しく作成された仮想マシンインスタンスを利用できるようする。あるいは、仮想コンピュータシステムサービスは、仮想マシンイメージの取得前に、選択した仮想マシンイメージが認証済みであることを独自に検証する方法を顧客に提供してよい。例えば、顧客が、信頼できるイメージのタブ404から仮想マシンイメージを選択する時、仮想コンピュータシステムサービスは、インタフェース402に新しい画面を表示させてよい。新しい画面は、選択した仮想マシンイメージと共に含まれるデジタル署名が有効であるか否かを判断するのに用いてもよい1つまたは複数のアプリケーションを含んでよい。従って、顧客は、これらの1つまたは複数のアプリケーションを利用して、デジタル署名、ひいては、仮想マシンイメージが認証済みであるか否かを判断してよい。
仮想コンピュータシステムサービスは、顧客が使用する1つまたは複数の他のボタンを備えるようにインタフェース402をさらに構成してよい。例えば、図4に示すように、インタフェース402は、キャンセルボタン408を備えてよく、顧客は、キャンセルボタン408を利用して、インタフェース402から出ることによって、顧客のイメージ取得要求をキャンセルしてよい。図4に示すインタフェース402は、説明目的で提示しており、従って、1つまたは複数の追加の要素を備えてもよく、図4に示す1つまたは複数の要素を除いてよいことに留意されたい。例えば、信頼できるイメージのタブ404に加えて、インタフェース402は、仮想コンピュータシステムサービスによって認証されていない、または、デジタル署名を含まない仮想マシンイメージのリストを含む1つまたは複数の追加のタブを備えてよい。従って、顧客は、顧客自身のリスクで、認証されていない仮想マシンイメージを選択可能であってよい。
上記のように、仮想コンピュータシステムサービスは、さらに、1つまたは複数のベンダにインタフェースを提供して、これらのベンダが仮想マシンイメージを仮想マシンイメージデータストアにアップロードできるようにしてよい。従って、図5は、少なくとも1つの実施形態による、仮想マシンイメージを仮想マシンイメージデータストアにアップロードするためのインタフェース502を備える環境500の例示的な実施例を示す。上記のように、ベンダが、仮想マシンイメージを仮想マシンイメージデータストアにアップロードするためにベンダアカウントを作成する要求を仮想コンピュータシステムサービスに提出する時、ベンダは、仮想コンピュータシステムサービスがベンダのアイデンティティ検証に使用し得る追加の認証情報を提供してよい。ベンダのアイデンティティが仮想コンピュータシステムサービスによって検証される場合、仮想コンピュータシステムサービスは、ベンダにデジタル証明書を提供してよく、デジタル証明書は、デジタル署名された仮想マシンイメージと共に仮想マシンイメージデータストアにアップロードされてよい。あるいは、ベンダは、仮想コンピュータシステムサービスにデジタル証明書を提供してよく、仮想コンピュータシステムサービスは、デジタル証明書をトラストストア内に記憶してよい。従って、ベンダがデジタル署名された仮想マシンイメージと共にベンダのデジタル証明書を含む時、仮想コンピュータシステムサービスは、トラストストア内に記憶されたデジタル証明書を利用して、仮想マシンイメージの信頼性を検証してよい。
仮想コンピュータシステムサービスは、ベンダが仮想マシンイメージをアップロードするのに使用可能な1つまたは複数の要素を備えるようにインタフェース502を構成してよい。例えば、インタフェース502は、会社名入力ボックス504を含んでよい。ベンダは会社名入力ボックス504を利用して、ベンダの名前を仮想コンピュータシステムサービスに提供することを要求されてよい。例えば、図5に示すように、ベンダは、会社名入力ボックス504を利用して、ベンダの会社名が「Boom Virtual Machine Images, Inc.」であることを記載している。インタフェース502は、製品名入力ボックス506をさらに備えてよく、ベンダは、製品名入力ボックス506を利用して、仮想マシンイメージデータストアにアップロードする仮想マシンイメージの名前を提供してよい。例えば、図5に示すように、ベンダは、製品名入力ボックス506を利用して、ベンダの仮想マシンイメージに名前、この場合は、「Legion Virtual Machine Image」を与えている。仮想コンピュータシステムの顧客が仮想マシンイメージを提供したベンダのアイデンティティを判断し、かつ、その仮想マシンイメージを仮想マシンイメージデータストア内に記憶された他の仮想マシンイメージと区別できるように、仮想コンピュータシステムサービスは、仮想マシンイメージの会社名と製品名の両方を要求してよい。
仮想マシンイメージ情報を提供するためにベンダが使用可能な1つまたは複数の要素に加えて、仮想コンピュータシステムサービスは、インタフェース502がデジタル証明書メニュー508を備えるように構成してよく、ベンダは、デジタル証明書メニュー508を利用して、仮想マシンイメージデータストアにアップロードするデジタル署名された仮想マシンイメージと共に含まれてよいデジタル証明書を選択してよい。上記のように、ベンダが最初にベンダアカウントを作成する時、仮想コンピュータシステムサービスは、ベンダのアイデンティティを確認し、仮想マシンイメージデータストアにアップロードする任意のデジタル署名された仮想マシンイメージに添付してよいデジタル証明書をこのベンダに与えてよい。あるいは、仮想コンピュータシステムサービスは、仮想マシンイメージデータストアにアップロードする各仮想マシンイメージに関してベンダにデジタル証明書を与えてよい。従って、ベンダは、デジタル証明書メニュー508を利用して、仮想マシンイメージと共に含まれてよい適切なデジタル証明書(例えば、図5に示す「Sherman_VMI_Inc」)を選択してよい。仮想マシンイメージがデジタル署名されると、仮想コンピュータシステムサービスは、デジタル証明書を利用してデジタル署名を解読してハッシュ値を取得するために使用可能な公開鍵を取得してよい。次に、仮想コンピュータシステムサービスは、ハッシュ関数を利用して仮想マシンイメージのハッシュ値を計算して、第2のハッシュ値を取得してよい。これらのハッシュ値が一致する場合、仮想マシンイメージは、認証済みであるとみなされてよい。ある実施形態においては、仮想コンピュータシステムサービスは、デジタル証明書内の公開鍵を利用して、仮想マシンイメージを解読することができる。仮想マシンイメージの解読に成功すると、仮想マシンイメージは、認証済みであるとみなされてよい。
ベンダは、会社名及び仮想マシンイメージ名を提供し、適切なデジタル証明書を選択すると、次へボタン510を利用して、仮想マシンイメージにデジタル署名を行い、選択したデジタル証明書と共に仮想マシンイメージを仮想マシンイメージデータストアにアップロードしてよい。従って、仮想コンピュータシステムサービスは、上記のデジタル署名検証プロセスを実行して、アップロードされた仮想マシンイメージの信頼性を検証してよい。仮想コンピュータシステムサービスは、様々な目的のためにベンダが利用してよいインタフェース502内に1つまたは複数の追加の要素をさらに備えてよい。例えば、図5に示すように、インタフェース502は、キャンセルボタン512を備えてよく、ベンダは、キャンセルボタン512を利用して、インタフェース502を出て、仮想マシンイメージのアップロードプロセスを終了してよい。図5に示すインタフェース502は、説明目的で提示しており、従って、1つまたは複数の追加の要素を備えてもよく、図5に示す1つまたは複数の要素を除いてもよいことに留意されたい。例えば、デジタル証明書メニュー508に加えて、インタフェース502は、ベンダがデジタル証明書なしに仮想マシンイメージをアップロードできるようにしてよい1つまたは複数の追加のボタンを備えてよい。従って、これらの仮想マシンイメージを検証しなくてもよい。
上記のように、ベンダは、ベンダアカウントを作成するために仮想コンピュータシステムサービスと通信してよい。ベンダは、ベンダアカウントを使用して、1つまたは複数の仮想マシンイメージを仮想コンピュータシステムサービスによって管理される仮想マシンイメージデータストアにアップロードしてよい。従って、図6は、少なくとも1つの実施形態による、ベンダアカウントを作成し、仮想マシンイメージを入手可能にするために使用するデジタル証明書をベンダに発行するプロセス600の例示的な実施例を示す。プロセス600は、仮想コンピュータシステムサービスによって実行されてよい。仮想コンピュータシステムサービスは、当該サービスを通して要求を行う任意の実体のアイデンティティを検証し、アップロードする任意のデジタル署名された仮想マシンイメージにベンダが添付してよいデジタル証明書を発行するように構成される。上記のように、ベンダは、仮想コンピュータシステムサービスによって提供されたインタフェースを利用して、ベンダアカウントの作成を要求してよい。顧客がこれらの仮想マシンイメージを利用できるようにするために、このベンダアカウントを使用して、仮想マシンイメージを仮想マシンイメージデータストアにアップロードしてよい。従って、顧客は、ベンダの仮想マシンイメージの使用に対してベンダに支払いを行ってよい。このように、ベンダアカウントの作成は、ベンダの仮想マシンイメージが仮想マシンイメージデータストアにアップロードされる場合、ベンダは、その仮想マシンイメージを収益化できるようにしてよいので、ベンダにとって利益になり得る。従って、仮想コンピュータシステムサービスは、ベンダアカウント作成要求をベンダから受信してよい(602)。
ベンダによる要求は、認証情報を備えてよく、仮想コンピュータシステムサービスは認証情報を使用して、ベンダのアイデンティティを検証してよい(604)。例えば、ベンダが、コンピュータリソースサービスプロバイダの顧客である場合、ベンダは、コンピュータリソースサービスプロバイダによって提供された1つまたは複数のサービスのアクセスに使用されてよいユーザネーム及びパスワードを提供してよい。従って、仮想コンピュータシステムサービスは、ユーザネーム及びパスワードを利用して顧客プロファイルを検索し、ベンダに関する情報を取得してよい。例えば、これは、ベンダ名、ベンダの物理的アドレス、及び、他のベンダ情報を含んでよい。この情報を用いて、仮想コンピュータシステムサービスは、要求を提出したベンダが信頼できるベンダか否かを判断できてよい(606)。信頼できるベンダは、少なくとも特定の期間、アカウントを保持したコンピュータリソースサービスプロバイダの顧客であってよい。あるいは、信頼できるベンダは、ネゴシエーションまたは他の通信等を通してコンピュータリソースサービスプロバイダとの構築したコンピュータリソースサービスプロバイダの顧客であってよく、そうすることによって、コンピュータリソースサービスプロバイダはこの顧客を信頼している。仮想コンピュータシステムサービスは、本開示を通して広く使用されてベンダのアイデンティティ検証する一方、他のサービス、サービスプロバイダ、及び、実体は、仮想コンピュータシステムサービスの代わりに、ベンダのアイデンティティを検証するように構成されてよい。例えば、コンピュータリソースサービスプロバイダは、アイデンティティ管理サービスを維持、運営してよい。アイデンティティ管理サービスは、仮想マシンイメージのベンダを含む、コンピュータリソースサービスプロバイダによって提供された1つまたは複数のサービスの各ユーザの認証情報のセットを提供、保持するように構成される。従って、このアイデンティティ管理サービスは、ベンダから認証情報のセットを受信してベンダのアイデンティティを判断して、ベンダが信頼できるベンダとみなされるか否かを判断するように構成されてよい。
仮想コンピュータシステムサービスの判断でベンダが信頼できるベンダでない場合、仮想コンピュータシステムサービスは、ベンダのベンダアカウント作成要求を拒絶(608)して、ベンダが仮想マシンイメージをアップロードするのを妨げてよい。あるいは、ベンダが、ベンダアカウントなしに仮想マシンイメージをアップロードできるようにしてよい。しかしながら、これらの仮想マシンイメージは、仮想コンピュータシステムサービスによって検証されなくてもよいので、仮想コンピュータシステムサービスは、これらの仮想マシンイメージを、未検証と指定してよい。
仮想コンピュータシステムサービスは、ベンダが信頼できるベンダとみなされると検証できる場合、ベンダが、要求内に、デジタル証明書を備えているか否かを判断してよい(610)。デジタル証明書は、仮想コンピュータシステムサービスによって、仮想マシンイメージデータストアにアップロードされる任意の仮想マシンイメージに含まれるデジタル署名の解読に使用されてよい。従って、仮想コンピュータシステムサービスは、デジタル証明書内の公開鍵を利用してデジタル署名された仮想マシンイメージ内のデジタル署名を解読してよい。仮想コンピュータシステムサービスは、また、ハッシュ関数を仮想マシンイメージに適用してハッシュ値を取得してよい。ハッシュ値が解読されたデジタル署名と一致する場合、仮想マシンイメージは、信頼できるベンダからのものであると見なされてよく、従って、認証済みであってよい。要求がデジタル証明書を含む場合、仮想コンピュータシステムサービスは、ベンダからのデジタル証明書をデータストアに追加してよく(612)、データストアは、ベンダがデジタル署名された仮想マシンイメージをアップロードするまでデジタル証明書を保管してよい。
ベンダからの要求が、仮想マシンイメージと共に含まれたデジタル署名の解読に使用できるデジタル証明書を含まない場合、仮想コンピュータシステムサービスは、ベンダの仮想マシンイメージと共に使用するデジタル証明書をベンダに発行してよい(612)。このデジタル証明書も、ベンダによってアップロードされる時、デジタル署名された仮想マシンイメージ内のデジタル署名の解読に使用するためにデータストア内に記憶されてよい。あるいは、デジタル証明書は仮想コンピュータシステムサービスによって提供されてよいので、このデジタル証明書を備える任意の仮想マシンイメージは、認証済みとみなされてよい。プロセス600は、図6に提示されたアクションより多いまたはそれより少ないアクションを含んでよいことに留意されたい。例えば、ある実施形態において、仮想コンピュータシステムサービスは、新しい仮想マシンイメージをマシンイメージデータストアにアップロードする時、信頼できるベンダのみが仮想コンピュータシステムが発行したデジタル証明書を利用することができるようにする。従って、仮想コンピュータシステムサービスは、ベンダが信頼できるベンダであると判断すると、ベンダがベンダ自身のデジタル証明書を提供したか否かに関わらず、ベンダの仮想マシンイメージと共に使用するデジタル証明書をベンダに発行してよい(614)。
上記のように、ベンダは、仮想コンピュータシステムサービスが提供したインタフェースを利用して、1つまたは複数の仮想マシンイメージを仮想マシンイメージデータストアにアップロードしてよい。このデータストア内の仮想マシンイメージは、マーケットプレイス内に含まれてよく、仮想コンピュータシステムサービスの顧客は、マーケットプレイス内で、仮想マシンイメージを選択して新しい仮想マシンインスタンスを作成してよい。従って、図7は、少なくとも1つの実施形態による、仮想コンピュータシステムサービスによって管理されるマーケットプレイスに仮想マシンイメージを追加するプロセス700の例示的な実施例を示す。プロセス700は、アップロードされた仮想マシンイメージ内に含まれた1つまたは複数のデジタル署名を検証するように構成された仮想コンピュータシステムサービスによって実行されてよい。さらに、仮想コンピュータシステムサービスは、信頼できる仮想マシンイメージ及び未検証の仮想マシンイメージの両方を含み得るマーケットプレイスを管理するように構成されてよい。
上記のように、ベンダは、図5に示すインタフェース等、仮想コンピュータシステムサービスによって提供されるインタフェースを利用して、仮想マシンイメージを仮想マシンイメージデータストアにアップロードしてよい。仮想マシンイメージデータストアは、仮想コンピュータシステムサービスの顧客によって使用されて新しい仮想マシンインスタンスを生成し得る複数の仮想マシンイメージを備えてよい。従って、仮想コンピュータシステムサービスは、アップロードされた仮想マシンイメージをベンダから受信してよい(702)。以下により詳細に記載するように、仮想コンピュータシステムサービスは、1つまたは複数のアクションを実行して、仮想マシンイメージを仮想マシンイメージデータストア及び/またはマーケットプレイスに追加してよいか否かを判断してよく、それによって、アップロードされた仮想マシンイメージへのアクセスを顧客に許可する。
仮想コンピュータシステムサービスは、アップロードされた仮想マシンイメージをベンダから受信すると、アップロードされた仮想マシンイメージが対応するベンダデジタル証明書と共にアップロードされているか否かを判断してよい(704)。上記のように、ベンダがベンダアカウント作成要求を仮想コンピュータシステムサービスに提出すると、仮想コンピュータシステムサービスは、ベンダを信頼できるベンダとみなしてよいか否かを判断してよい。ベンダが信頼できるベンダであると判断される場合、仮想コンピュータシステムサービスは、仮想マシンイメージと共に使用するデジタル証明書をベンダに発行、または、ベンダからデジタル証明書を受信してよく、デジタル証明書は次にトラストストアに追加される。従って、ベンダは、仮想マシンイメージをアップロードする前に、デジタル証明書をデジタル署名された仮想マシンイメージに添付してよい。
アップロードされた仮想マシンイメージが、対応するデジタル証明書と共にアップロードされていない(例えば、仮想マシンイメージはデジタル署名されていない)場合、仮想コンピュータシステムサービスは、仮想マシンイメージへのアクセスを顧客に許可するために、アップロードされた仮想マシンイメージを仮想マシンイメージデータストア及び/またはマーケットプレイスに追加してよいか否かを判断してよい(706)。例えば、仮想マシンイメージがデジタル証明書を含まない場合、アップロードされた仮想マシンイメージの信頼性を検証するのが難しいまたは不可能なことがある。従って、仮想コンピュータシステムサービスは、これらのイメージが悪意のソフトウェアを含むか否かを知る方法がないので、仮想マシンイメージデータストア及び/またはマーケットプレイスにデジタル署名されていない仮想マシンイメージの追加を拒絶するように構成されてよい。仮想コンピュータシステムサービスが、デジタル署名されていない仮想マシンイメージを拒絶するように構成されている場合、インタフェースを通してエラーメッセージを表示してよい(708)。このエラーメッセージは、アップロードされた仮想マシンイメージを拒絶する1つまたは複数の理由を述べる情報を含んでよく、ベンダは、その情報を利用して、ベンダアカウントの取得及び/または有効なデジタル証明書の仮想マシンイメージへの添付、または、仮想コンピュータシステムサービスとの通信の終了のいずれかを試みてよい。
アップロードされた仮想マシンイメージが対応するデジタル証明書と共にアップロードされている場合、仮想コンピュータシステムサービスは、デジタル証明書が信頼できるか否か判断してよい(710)。例えば、ベンダアカウント作成プロセス中、仮想コンピュータシステムサービスが仮想マシンイメージと共に使用するためにベンダにデジタル証明書を提供した場合、仮想コンピュータシステムサービスは、アップロードされた仮想マシンイメージを調べて、仮想マシンイメージがデジタル署名されており、デジタル証明書を含むか否かを判断してよい。あるいは、ベンダアカウント作成プロセス中、ベンダが仮想コンピュータシステムサービスにデジタル証明書を提供し、デジタル証明書が仮想コンピュータシステムサービスが管理するトラストストア内に記憶されている場合、仮想コンピュータシステムサービスは、アップロードされた仮想マシンイメージと共に含まれたデジタル証明書がトラストストア内に事前に記憶されていたか否かを判断してよい。アップロードされた仮想マシンイメージと共に含まれたデジタル証明書が、トラストストア内に事前に記憶されていない場合、デジタル証明書は信頼できない可能性がある。デジタル証明書が、仮想コンピュータシステムサービスが管理するトラストストア内に含まれていないので、信頼できない場合、仮想コンピュータシステムサービスは、仮想マシンイメージデータストア及び/またはマーケットプレイスへの仮想マシンイメージの追加に失敗した1つまたは複数の理由を述べる情報を含み得るエラーメッセージをインタフェースに表示させてよい(708)。
アップロードされた仮想マシンイメージと共に含まれたデジタル証明書が仮想コンピュータシステムサービスによって信頼できると見なされると、仮想コンピュータシステムサービスは、デジタル証明書と共に含まれた公開暗号鍵を利用して、仮想マシンイメージのデジタル署名を検証してよい(712)。例えば、デジタル署名された仮想マシンイメージが、デジタル証明書と共に仮想マシンイメージデータストアにアップロードされる時、仮想コンピュータシステムサービスは、デジタル署名を解読してハッシュ値を取得するために、デジタル証明書から公開暗号鍵を抽出してよい。従って、このハッシュ値を、仮想マシンイメージのダイジェストと比較して、デジタル署名が有効であるか否かを判断してよい(714)。値が一致する場合、仮想マシンイメージは、仮想マシンイメージの信頼できるベンダからのものであると検証されてよい。あるいは、デジタル署名された仮想マシンイメージ及び対応するデジタル証明書は、仮想マシンイメージデータストア内に記憶されてよく、任意の実体は、仮想マシンイメージデータストア内で、仮想マシンイメージを選択し、実行可能なコードの1つまたは複数のモジュールを利用して、仮想マシンイメージが仮想マシンイメージの信頼できるベンダからのものであることを独自に検証してよい。
仮想マシンイメージのデジタル署名が仮想コンピュータシステムによって検証されると、仮想コンピュータシステムサービスは、アップロードされた仮想マシンイメージを仮想マシンイメージデータストア及び/またはマーケットプレイスに追加してよい(716)。さらに、アップロードされた仮想マシンイメージが、デジタル署名されておらず、及び/または、デジタル証明書を含まない場合、仮想マシンイメージデータストア及び/またはマーケットプレイスに追加されてもよい。例えば、仮想コンピュータシステムサービスは、仮想マシンイメージデータストア及び/またはマーケットプレイス内にデジタル署名されていない、または、認証できない(例えば、欠陥のあるデジタル証明書を含む、または、デジタル証明書を全く含まない)仮想マシンイメージを記憶するように構成されてよい。しかしながら、これらの仮想マシンイメージは、仮想コンピュータシステムサービスが認証していないとして分類されてよい。例えば、仮想コンピュータシステムサービスは、これらの各仮想マシンイメージを仮想コンピュータシステムサービスが「未検証」としてラベル付けするよう構成されてよい。このように、仮想マシンイメージデータストア及び/またはマーケットプレイス内に記憶された仮想マシンイメージは、その仮想マシンイメージが仮想マシンイメージのベンダからのものと検証可能か否かに少なくとも部分的に基づいて分類されてよい。ある実施形態において、仮想マシンイメージのベンダが信頼できる通信ネットワークチャネルを通して仮想マシンイメージを仮想マシンイメージデータストアにアップロードする場合、仮想コンピュータシステムサービスは、仮想マシンイメージをデジタル署名してよく、それによって仮想マシンイメージ自体を認証する。
上記のように、仮想コンピュータシステムサービスの顧客及び仮想マシンイメージのベンダは、仮想コンピュータシステムサービスによって使用されて顧客または他のユーザが仮想マシンイメージを利用して新しい仮想マシンインスタンスを生成してよいか否かを判断し得る1つまたは複数のポリシーを規定してよい。従って、図8は、少なくとも1つの実施形態による、1つまたは複数の適用可能なポリシーに少なくとも部分的に基づいて、仮想マシンイメージを起動するプロセス800の例示的な実施例を示す。プロセス800は、仮想コンピュータシステムサービスによって実行されてよく、仮想コンピュータシステムサービスは、1つまたは複数の仮想マシンイメージへのアクセスレベルを規定するための1つまたは複数のポリシーを顧客及びベンダが規定できるように構成される。さらに、仮想コンピュータシステムサービスは、これらのポリシーを評価して、顧客が仮想マシンイメージを利用して新しい仮想マシンインスタンスを作成してよいか否かを判断するように構成されてよい。
上記のように、仮想コンピュータシステムサービスは、仮想コンピュータシステムサービスの顧客にインタフェースを提供するように構成されてよく、顧客は、インタフェースを利用して仮想マシンイメージを起動する1つまたは複数の要求を提出してよい。例えば、図4に示すように、インタフェースは、1つまたは複数の仮想マシンイメージのリストを含んでよく、顧客は、そのリストを使用して、新しい仮想マシンインスタンスの作成に適した仮想マシンイメージを選択してよい。従って、仮想コンピュータシステムサービスは、選択した仮想マシンイメージを起動する要求を受信してよい(802)。
仮想コンピュータシステムサービスは、顧客または他の委任されたユーザから要求を受信すると、顧客及び/または仮想マシンイメージポリシーを評価して(804)、顧客または委任されたユーザが選択した仮想マシンイメージを利用して新しい仮想マシンインスタンスを作成してよいか否かを判断してよい。上記のように、仮想コンピュータシステムサービスは、複数のベンダによって利用可能にされた1つまたは複数の仮想マシンイメージへのアクセスレベルを規定する1つまたは複数のポリシーを顧客が規定できるようにしてよい。例えば、顧客は、顧客または顧客アカウントの他の委任されたユーザが特定のベンダが作成した仮想マシンイメージを利用できないことを特定するポリシーを生成してよい。あるいは、顧客は、仮想マシンインスタンスの作成に仮想マシンイメージを使用してよい信頼すべきベンダのリストを規定するポリシーを生成してよい。
顧客ポリシーに加えて、仮想マシンイメージのベンダは、仮想マシンイメージデータストアにアップロードされる各仮想マシンイメージに1つまたは複数のポリシーを添付してよい。例えば、ベンダは、アップロードされた仮想マシンイメージの利用を許可してはいけない1つまたは複数の顧客を規定する1つまたは複数のポリシーを作成してよい。あるいは、または、追加で、ベンダは、仮想マシンイメージを使用してはいけない条件セットを規定する1つまたは複数のポリシーを作成してよい。例えば、顧客が、特定の仮想コンピュータシステム構成を使用する場合、仮想マシンイメージは、この仮想コンピュータシステムにインスタンス化される時、適切に動作しない場合がある。従って、ポリシーを規定して、このような出来事を防いでよい。
仮想コンピュータシステムサービスは、顧客及び/または仮想マシンイメージポリシーを評価すると、顧客または委任されたユーザが仮想マシンイメージを起動するのを可能にしてよい1つまたは複数のポリシーがあるか否かを判断してよい(806)。例えば、1つまたは複数のポリシーは、特定の顧客または委任されたユーザが仮想マシンイメージを利用して仮想マシンインスタンスを作成してよいという肯定的記載を含んでよい。顧客または委任されたユーザが仮想マシンイメージを起動して仮想マシンインスタンスを明確に作成できるようにするというポリシーが無い場合、仮想コンピュータシステムサービスは、顧客または委任されたユーザが仮想マシンイメージを起動するのを禁じてよい1つまたは複数のポリシーがあるか否かを判断してよい(808)。例えば、上記のように、顧客は、顧客または任意の他の委任されたユーザが顧客アカウントを使用して、1つまたは複数の特定のベンダが作成した仮想マシンイメージを利用するのを禁じる1つまたは複数のポリシーを規定してよい。別の例では、ベンダは、顧客の仮想コンピュータシステム構成が仮想マシンイメージと互換性が無い場合、顧客がこれらの仮想マシンイメージを利用するのを禁じてよい、ベンダの仮想マシンイメージと共に含まれる1つまたは複数のポリシーを生成してよい。
顧客及び/または仮想マシンイメージポリシーが、顧客または委任されたユーザが選択した仮想マシンイメージを利用することを明確に禁じている場合、仮想コンピュータシステムサービスは、インタフェースにエラーメッセージを表示させてよい(810)。エラーメッセージは、顧客または委任されたユーザが選択した仮想マシンイメージを使用してはいけいない1つまたは複数の理由を述べる情報を含んでよい。あるいは、エラーメッセージは、要求が否定されたことを述べる情報のみを含み、要求を否定する追加の理由を含まなくてもよい。
選択した仮想マシンイメージを顧客が明確に利用できるようにする顧客ポリシー及び/または仮想マシンイメージポリシーがある場合、または、顧客若しくは委任されたユーザが選択した仮想マシンイメージを利用するのを禁じるポリシーが規定されていない場合、仮想コンピュータシステムサービスは、選択した仮想マシンイメージを物理ホストにインスタンス化(812)して、顧客または委任されたユーザが新しく作成された仮想マシンインスタンスを利用できるように(814)にしてよい。例えば、仮想コンピュータシステムサービスは、必要なリソース(例えば、マシンイメージの構成要素の操作に必要なプロセッサ及びRAM)を仮想マシンイメージの処理に割り当ててよい。次に、仮想マシンイメージは、仮想マシンインスタンスの物理ホストとして働いてよい1つまたは複数の物理的記憶装置(例えば、1つまたは複数のサーバまたはハードドライブ)上でインスタンス化されてよい。
本開示の実施形態は、以下の条項を考慮して記載することができる。
条項1
仮想マシンイメージを認証するためのコンピュータ実施方法であって、
実行可能命令を用いて構成された1つまたは複数のコンピュータシステムの制御の下、
仮想マシンイメージ、前記仮想マシンイメージのデジタル署名、前記デジタル署名の検証に使用可能な公開暗号鍵を含むデジタル証明書、及び、コンピュータリソースサービスプロバイダの1つまたは複数の顧客に関する前記仮想マシンイメージへのアクセスレベルを規定する1つまたは複数のポリシーを、ベンダから受信することと、
前記デジタル証明書及び前記公開暗号鍵を用いて、前記仮想マシンイメージの前記デジタル署名を検証することと、
前記仮想マシンイメージの前記デジタル署名の検証の結果、前記仮想マシンイメージが認証済みであると検証されたという指示と共に、コンピュータリソースサービスプロバイダマーケットプレイス内で前記仮想マシンイメージを選択可能にすることと、
前記コンピュータリソースサービスプロバイダの前記顧客が前記仮想マシンイメージを選択した結果、前記1つまたは複数のポリシーを評価して、前記顧客が前記選択した仮想マシンイメージの使用を許可されているか否かを判断することと、
前記顧客が前記選択した仮想マシンイメージの使用を許可されていると判断した結果、前記選択した仮想マシンイメージを用いて、仮想マシンをインスタンス化することと、
を含む、前記コンピュータ実施方法。
条項2
前記指示は、仮想マシンイメージのリスト内に前記仮想マシンイメージを含める、条項1に記載のコンピュータ実施方法。
条項3
仮想マシンイメージの前記ベンダが認証済み仮想マシンイメージのアップロードを許可された信頼できるベンダであることを検証すると、前記公開暗号鍵を含む前記デジタル証明書を仮想マシンイメージの前記ベンダに証明機関を通して提供することをさらに含む、条項1または2に記載のコンピュータ実施方法。
条項4
前記公開暗号鍵を含む前記デジタル証明書は、事前に前記ベンダによって提供され、複数のデジタル証明書を記憶するための1つまたは複数の物理的記憶装置を含むデータストア内に記憶されており、前記記憶されたデジタル証明書は、前記デジタル署名検証にも使用できる、先行条項のいずれかに記載のコンピュータ実施方法。
条項5
前記コンピュータリソースサービスプロバイダマーケットプレイスは、選択可能な複数の仮想マシンイメージを含み、前記複数の仮想マシンイメージは、認証済みとして検証された仮想マシンイメージと、認証済みとして検証されていない仮想マシンイメージとを含む、先行条項のいずれかに記載のコンピュータ実施方法。
条項6
前記マーケットプレイスから前記仮想マシンイメージを選択すると、前記仮想マシンイメージの前記デジタル署名を独自に検証するのに使用できる実行可能コードの1つまたは複数のモジュールを前記顧客に提供することをさらに含む、先行条項のいずれかに記載のコンピュータ実施方法。
条項7
1つまたは複数のプロセッサと、
集合的に命令を含むメモリと、
を備えるコンピュータシステムであって、前記命令を前記コンピュータシステムによって実行すると、前記コンピュータシステムは、
ベンダの鍵でデジタル署名されたマシンイメージに基づいた仮想マシンを起動する要求を受信し、
1つまたは複数のポリシーが、前記ベンダによってデジタル署名されたマシンイメージに基づいた仮想マシンの起動を許可すると判断した後、前記仮想マシンを起動する、
前記コンピュータシステム。
条項8
前記ベンダの前記鍵でデジタル署名された前記マシンイメージは、証明機関が発行したデジタル証明書から取得した公開鍵を用いて検証可能である、条項7に記載のコンピュータシステム。
条項9
前記1つまたは複数のポリシーは、前記ベンダによってデジタル署名されたマシンイメージのみが、ユーザに関連付けられた仮想ネットワーク内で利用できることをさらに特定し、前記ユーザは、前記仮想マシンを起動する前記要求を提出したユーザである、条項7または8に記載のコンピュータシステム。
条項10
前記1つまたは複数のポリシーは、1つまたは複数のユーザに関して、前記マシンイメージへのアクセスレベルをさらに規定する、条項7〜9のいずれかに記載のコンピュータシステム。
条項11
前記ベンダの前記鍵でデジタル署名された前記マシンイメージは、検証可能で、前記ベンダの前記鍵でデジタル署名された前記マシンイメージは前記ベンダからのものであると判断するような方法で、前記ベンダの前記鍵でデジタル署名された前記マシンイメージは利用可能にされる、条項7〜10のいずれかに記載のコンピュータシステム。
条項12
前記ベンダの前記鍵でデジタル署名された前記マシンイメージは、コンピュータリソースサービスプロバイダマーケットプレイスから取得され、前記コンピュータリソースサービスプロバイダマーケットプレイスは、前記コンピュータリソースサービスプロバイダの顧客が、前記ベンダの前記鍵でデジタル署名された前記マシンイメージを選択できるように構成されて、前記ベンダの前記鍵でデジタル署名された前記マシンイメージを用いて、前記顧客が使用する前記仮想マシンをインスタンス化できる、条項7〜11のいずれかに記載のコンピュータシステム。
条項13
前記鍵でデジタル署名された前記マシンイメージは、検証可能で、前記ベンダからのものであると判断されるか否かに少なくとも部分的に基づいて、前記鍵でデジタル署名された前記マシンイメージを他のマシンイメージから区別するような方法で、前記鍵でデジタル署名された前記マシンイメージは利用可能にされる、条項7〜12いずれかに記載のコンピュータシステム。
条項14
実行可能命令を集合的に記憶した非一時的コンピュータ可読記憶媒体であって、前記実行可能命令がコンピュータシステムの1つまたは複数のプロセッサによって実行されると、前記コンピュータシステムは、少なくとも、
マシンイメージプロバイダの鍵で署名された1つまたは複数の構成要素を含むマシンイメージを記憶し、
ユーザが前記マシンイメージを選択した結果、前記マシンイメージプロバイダによって署名された仮想マシンの起動に関する1つまたは複数のポリシーに少なくとも部分的に基づいて、前記ユーザが前記マシンイメージを利用して仮想マシンをインスタンス化できるか否かを判断する、
前記非一時的コンピュータ可読記憶媒体。
条項15
前記鍵で署名された前記1つまたは複数の構成要素は、証明機関によって発行されたデジタル証明書から取得された公開鍵を用いて検証可能である、条項14に記載の非一時的コンピュータ可読記憶媒体。
条項16
前記1つまたは複数のポリシーは、前記マシンイメージプロバイダによってデジタル署名された1つまたは複数の構成要素を含むマシンイメージのみを前記ユーザの仮想ネットワーク内で利用できることをさらに特定し、前記ユーザは、前記仮想ネットワーク内の前記仮想マシンを起動する要求を提出したユーザである、条項14〜15のいずれかに記載の非一時的コンピュータ可読記憶媒体。
条項17
前記1つまたは複数のポリシーは、1つまたは複数のユーザに関して、前記マシンイメージプロバイダによって署名された前記マシンイメージへのアクセスレベルをさらに規定する、条項14〜16のいずれかに記載の非一時的コンピュータ可読記憶媒体。
条項18
前記マシンイメージプロバイダの前記鍵で署名された前記1つまたは複数の構成要素が検証可能で、前記マシンイメージが前記マシンイメージプロバイダからのものであると判断するような方法で、前記マシンイメージは記憶される、条項14〜17のいずれかに記載の非一時的コンピュータ可読記憶媒体。
条項19
前記マシンイメージは、コンピュータリソースサービスプロバイダマーケットプレイス内に記憶され、前記コンピュータリソースサービスプロバイダマーケットプレイスは、前記コンピュータリソースサービスプロバイダの顧客が前記マシンイメージを選択できるように構成されて、前記マシンイメージを用いて前記顧客が使用する仮想マシンをインスタンス化できる、条項14〜18のいずれかに記載の非一時的コンピュータ可読記憶媒体。
条項20
前記マシンイメージプロバイダの前記鍵で署名された前記マシンイメージの前記1つまたは複数の構成要素が検証可能で、前記マシンイメージが前記マシンイメージプロバイダからのものであると判断されるか否かに少なくとも部分的に基づいて、前記マシンイメージを他のマシンイメージから区別するように、前記マシンイメージは記憶される、条項14〜19のいずれかに記載の非一時的コンピュータ可読記憶媒体。
図9は、様々な実施形態による態様を実施する環境900の例の態様を示す。理解されるように、ウェブベース環境を説明目的で用いるが、必要に応じて、異なる環境を使用して、様々な実施形態を実施してよい。環境は、クライアント電子装置902を備える。クライアント電子装置902は、適切なネットワーク904を介して、要求、メッセージまたは情報を送信及び/または受信するように動作可能な、また、ある実施形態においては、装置のユーザに情報を返信するように動作可能な任意の適切な装置を含んでよい。このようなクライアント装置の例は、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージング装置、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、パーソナルデータアシスタント、埋め込み式コンピュータシステム、電子ブックリーダ等を含む。ネットワークは、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、衛星ネットワーク、もしくは、このような任意の他のネットワーク、及び/または、それらの組み合わせ等、任意の適切なネットワークを含んでよい。このようなシステムに用いられる構成要素は、選択したネットワーク及び/または環境の種類によって少なくとも部分的に決まり得る。このようなネットワークを介した通信のためのプロトコル及び構成要素は、周知であり、ここに詳細に記載しない。ネットワークを介した通信は、有線もしくは無線接続、及び、それらの組み合わせによって可能にされてよい。この例においては、環境は、要求を受信して要求に応答してコンテンツを供給するウェブサーバ906を備えるので、ネットワークはインターネットを含むが、他のネットワークの場合、当業者には明らかなように、同様の目的を果たす代替装置を使用してよい。
説明的な環境は、少なくとも1つのアプリケーションサーバ908及びデータストア910を備える。幾つかのアプリケーションサーバ、層、もしくは、他の要素、プロセス、または、構成要素があってよく、それらは、チェーンまたは構成されてよく、インタラクトして適切なデータストアからデータを取得する等のタスクを実行できることは理解されたい。本明細書で使用されるとき、サーバは、ハードウェア装置または仮想コンピュータシステム等、様々な形で実施されてよい。ある文脈においては、サーバは、コンピュータシステム上で実行されているプログラミングモジュールを指してよい。本明細書で使用されるとき、他に別段の記載がなく、文脈から明らかでない限り、「データストア」という語は、データを記憶、データにアクセス、及び、データの取り出しを行うことができる任意の装置または装置の組み合わせを指し、任意の標準、分散、仮想、または、クラスタ化された環境の、任意の組み合わせ及び数のデータサーバ、データベース、データ記憶装置、及び、データ記憶媒体を含んでよい。アプリケーションサーバは、必要に応じてデータストアと統合されてクライアント装置の1つまたは複数のアプリケーションの態様を実行し、アプリケーションのデータアクセス及びビジネスロジックの一部または全てを処理する任意の適切なハードウェア、ソフトウェア及びファームウェアを含んでよい。アプリケーションサーバは、データストアと協力してアクセス制御サービスを提供してよく、テキスト、グラフィックス、オーディオ、ビデオ、及び/または、ユーザに提供するのに使用可能な他のコンテンツを含むが、それらに限定されないコンテンツを生成できる。コンテンツは、ハイパーテキストマークアップ言語(「HTML」)、拡張マークアップ言語(「XML」)、Javaスクリプト(登録商標)、カスケーディングスタイルシート(「CSS」)または他の適切なクライアントサイド構造言語の形で、ウェブサーバによってユーザに供給されてよい。クライアント装置に転送されたコンテンツは、クライアント装置によって処理されて、聴覚的、視覚的、並びに/または、触覚、味覚及び/もしくは嗅覚を含む他の感覚を通してユーザが認識できる形態を含むが、それらに限定されない、1つまたは複数の形態のコンテンツを提供してよい。全ての要求及び応答の処理と、クライアント装置902とアプリケーションサーバ908との間のコンテンツの伝達は、この例では、PHP:ハイパーテキストプリプロセッサ(「PHP」)、Python、Ruby、Perl、Java、HTML、XML、または、他の適切なサーバサイド構造言語を用いたウェブサーバによって処理されてよい。本明細書に記載の構造化コードは、本明細書の他の箇所に記載の任意の適切な装置またはホストマシン上で実行できるので、ウェブアプリケーション及びアプリケーションサーバは必要なく、単に構成要素の例であることは理解されたい。さらに、1つの装置によって行われるとして本明細書に記載している動作は、文脈から明らかに異なる場合を除き、複数の装置によって集合的に行われてよく、複数の装置は、分散及び/または仮想システムを形成してよい。
データストア910は、本開示の特定の態様に関連するデータを記憶する幾つかの別個のデータテーブル、データベース、データドキュメント、動的データ記憶スキーム、及び/または、他のデータ記憶機構及び媒体を含み得る。例えば、図示のデータストアは、生産データ912及びユーザ情報916を記憶する機構を備えてよく、その機構を用いて、生産サイドのコンテンツを供給することができる。データストアは、ログデータ914を記憶する機構を備えるように示されており、その機構は、報告、分析、または、このような他の目的に使用することができる。データストアに記憶する必要があってよい、ページイメージ情報及びアクセス権情報等、多くの他の態様があってよく、それらは、データストア910内の、必要に応じて上記にリストした機構のうちのいずれか、または追加の機構に記憶することができることは理解されたい。データストア910は、データストア910に関連付けられたロジックを通して、アプリケーションサーバ908からの命令を受信し、その命令に応答して、データを取得、更新、または、処理するように動作可能である。アプリケーションサーバ908は、受信した命令に応答して、静的データ、動的データ、または、静的データと動的データの組み合わせを提供してよい。ウェブログ(ブログ)、ショッピングアプリケーション、ニュースサービス、及び、他のこのようなアプリケーションで使用されるデータ等の動的データは、本明細書に記載したようにサーバサイド構造言語によって生成されてもよく、または、アプリケーションサーバ上で、もしくは、アプリケーションサーバの制御の下に動作する、コンテンツ管理システム(「CMS」)によって提供されてもよい。一例においては、ユーザは、ユーザが操作する装置を通して、一定の種類の項目の検索要求を提出してよい。この場合、データストアは、ユーザ情報にアクセスしてユーザのアイデンティティを検証してよく、カタログ詳細情報にアクセスして、その種類の項目に関する情報を取得することができる。情報は、次に、ユーザがユーザ装置902上のブラウザを介して見ることができるウェブページ上の結果リスト等で、ユーザに返信することができる。関心のある特定の項目の情報を、ブラウザの専用ページまたはウインドウで見ることができる。しかしながら、本開示の実施形態は、必ずしもウェブページの文脈に限らず、一般的な処理要求により広く適用可能であってよく、要求は、必ずしも、コンテンツの要求でないことに留意されたい。
各サーバは、そのサーバの一般的な管理及び動作のための実行可能プログラム命令を提供するオペレーティングシステムを通常は備え、命令を記憶するコンピュータ可読記憶媒体(例えば、ハードディスク、ランダムアクセスメモリ、リードオンリメモリ等)を通常は備える。サーバのプロセッサがその命令を実行すると、サーバは、その意図する機能を行うことができる。サーバのオペレーティングシステムと一般的機能の適切な実施態様は、知られており、または、市販されており、特に、本明細書の開示に照らして、当業者によって容易に実施される。
一実施形態においては、環境は、1つまたは複数のコンピュータネットワークまたは直接接続を用いて、通信リンクを介して相互に接続された幾つかのコンピュータシステム及び構成要素を利用する分散及び/または仮想コンピュータ環境である。しかしながら、このようなシステムは、図9に示す構成要素より少ないまたは多い数の構成要素を有するシステムで同じように良好に動作し得ることを、当業者は理解されよう。従って、図9のシステム900に表したものは、説明的な性質のものであり、本開示の範囲を制限するものではない。
様々な実施形態は、広範なオペレーティング環境でさらに実施することができる。当該環境は、ある場合には、多くのアプリケーションのうちの任意のアプリケーションの動作に使用できる1つまたは複数のユーザコンピュータ、コンピュータ装置、または、処理装置を含み得る。ユーザまたはクライアント装置は、標準オペレーティングシステムを実行するデスクトップ、ラップトップ、または、タブレットコンピュータ等の多くの汎用パーソナルコンピュータと、モバイルソフトウェアを実行し、多くのネットワーキングプロトコル及びメッセージングプロトコルをサポートすることができるセルラー装置、無線装置、及び、ハンドヘルド装置のうちの任意の物を含み得る。このようなシステムは、開発及びデータベース管理等の目的で様々な市販のオペレーティングシステム及び他の既知のアプリケーションの任意のものを実行する多くのワークステーションも備えることができる。これらの装置は、ダミー端末、シンクライアント、ゲームシステム、及び、ネットワークを介して通信できる他の装置等の、他の電子装置も含むことができる。これらの装置は、仮想マシン、ハイパーバイザ、及び、ネットワークを介して通信できる他の仮想装置等の仮想装置も含み得る。
本開示の様々な実施形態は、様々な市販のプロトコルの任意のプロトコルを用いた通信をサポートするために、当業者がよく知っている少なくとも1つのネットワークを利用する。当該プロトコルは、伝送制御プロトコル/インターネットプロトコル(「TCP/IP」)、ユーザデータグラムプロトコル(「UDP」)、オープンシステムインターコネクション(「OSI」)モデルの様々な層で動作するプロトコル、ファイル転送プロトコル(「FTP」)、ユニバーサルプラグアンドプレイ(「UpnP」)、ネットワークファイルシステム(「NFS」)、コモンインターネットファイルシステム(「CIFS」)、及び、アップルトーク等である。ネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、衛星ネットワーク、及び、それらの任意の組み合わせであってよい。
ウェブサーバを利用する実施形態において、ウェブサーバは、ハイパーテキスト転送プロトコル(「HTTP」)サーバ、FTPサーバ、共通ゲートウェイインタフェース(「CGI」)サーバ、データサーバ、Javaサーバ、Apacheサーバ、及び、ビジネスアプリケーションサーバを含む、様々なサーバまたはミッドティアアプリケーションの任意のものを実行することができる。サーバ(単数または複数)は、ユーザ装置からの要求に応答して、1つまたは複数のウェブアプリケーションの実行によって等、プログラムまたはスクリプトを実行することもできてよい。当該1つまたは複数のウェブアプリケーションは、Java(登録商標)、C、C♯、もしくは、C++等の任意のプログラミング言語、または、Ruby、PHP、Perl、PythonもしくはTCL等の任意のスクリプト言語で書かれた1つまたは複数のスクリプトまたはプログラム、並びに、それらの組み合わせとして、実施されてよい。サーバ(単数または複数)は、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、及び、IBM(登録商標)から市販されているデータベースサーバを含むが、それらに限定されないデータベースサーバ、MySQL、Postgres、SQLite、MongoDB等のオープンソースサーバ、並びに、構造化データまたは非構造化データを記憶、取り出し、及び、アクセスできる任意の他のサーバも含んでよい。データベースサーバは、表ベースのサーバ、ドキュメントベースのサーバ、非構造化サーバ、リレーショナルサーバ、非リレーショナルサーバ、または、これらの及び/または他のデータベースサーバの組み合わせを含んでよい。
環境は、上記のように、様々なデータストアと、他のメモリ及び記憶媒体を含むことができる。これらは、コンピュータの1つもしくは複数に固有の(及び/または存在する)記憶媒体上、または、ネットワーク上のコンピュータの任意もしくは全てのコンピュータから離れた場所等、様々な場所に存在することができる。実施形態の特定のセットにおいて、情報は、当業者がよく知っているストレージエリアネットワーク(「SAN」)に存在してよい。同様に、コンピュータ、サーバ、または、他のネットワーク装置に属する機能を行うために必要なファイルはいずれも、必要に応じて、ローカル及び/または遠隔に記憶されてよい。システムがコンピュータ装置を含む場合、各コンピュータ装置は、バスを介して電子的に接続されてよいハードウェア要素を含むことができる。ハードウェア要素は、例えば、少なくとも1つの中央処理装置(「CPU」または「プロセッサ」)、少なくとも1つの入力装置(例えば、マウス、キーボード、コントローラ、タッチスクリーン、または、キーパッド)、及び、少なくとも1つの出力装置(例えば、表示装置、プリンタ、または、スピーカ)を含む。このようなシステムは、ディスクドライブ、光学記憶装置、及び、ランダムアクセスメモリ(「RAM」)もしくはリードオンリメモリ(「ROM」)等のソリッドステート記憶装置や、リムーバブルメディア装置、メモリカード、フラッシュカード等の1つまたは複数の記憶装置も含んでよい。
このような装置は、上記のように、コンピュータ可読記憶媒体リーダ、通信装置(例えば、モデム、ネットワークカード(無線もしくは有線)、赤外線通信装置等)、及び、ワーキングメモリも含んでよい。コンピュータ可読記憶媒体リーダは、コンピュータ可読記憶媒体に接続、または、コンピュータ可読記憶媒体を受け入れるように構成することができる。コンピュータ可読記憶媒体は、一時的、及び/または、より永続的に、コンピュータ可読情報を含み、記憶し、送信し、取り出すための遠隔、ローカル、固定、及び/または、リムーバブルな記憶装置と記憶媒体を表す。システム及び様々な装置は、通常は、クライアントアプリケーションまたはウェブブラウザ等のオペレーティングシステム及びアプリケーションプログラムを含む、少なくとも1つのワーキングメモリ装置内に配置された多くのソフトウェアアプリケーション、モジュール、サービス、または、他の要素も備える。代替実施形態は、上記の形態から多くの変形を有してよいことは理解されたい。例えば、カスタマイズされたハードウェアも使用してよく、及び/または、特定の要素は、ハードウェア、(アプレット等の高移植性ソフトウェアを含む)ソフトウェア、または、両方で実施してよい。さらに、ネットワーク入力/出力装置等の他のコンピュータ装置への接続を採用してよい。
コードまたはコードの一部を含む記憶媒体及びコンピュータ可読媒体は、当分野で既知または使用されている任意の適切な媒体を含んでよい。当該媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータ等の情報の記憶及び/または送信のための任意の方法または技術で実施される、RAM、ROM、電気的消去可能プログラマブルリードオンリメモリ(「EEPROM」)、フラッシュメモリ、もしくは、他のメモリ技術、コンパクトディスクリードオンリメモリ(「CD‐ROM」)、デジタル多用途ディスク(DVD)、もしくは、他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは、他の磁気記憶装置、または、所望の情報の記憶に使用でき、かつ、システム装置によってアクセス可能な任意の他の媒体を含む、揮発性及び不揮発性、リムーバブル及び非リムーバブル媒体を含むが、それらに限定されない。本明細書に記載の開示及び教示に基づいて、当業者は、様々な実施形態を実施する他の手段及び/または方法を理解されよう。
従って、明細書及び図面は、制限ではなく説明的な意味と見なされるべきである。しかしながら、請求項に記載の発明のより広い精神及び範囲を逸脱することなく、明細書及び図面に様々な修正及び変更を行ってよいことは明らかである。
他の変形は本開示の精神の範囲内である。従って、開示の技術は、様々な修正及び代替の構成を受け入れてよいが、その技術の一定の例示の実施形態を、図面に示し、詳細に記載してきた。しかしながら、開示した具体的な形態(単数または複数)に発明を限定する意図はなく、逆に、請求項に規定する発明の精神及び範囲内にある全ての修正、代替構成、及び、同等物を含むことを意図していることは理解されたい。
開示の実施形態を記載する文脈(特に、請求項の文脈)における「a」、「an」、「the」という語の使用、及び、同様の指示対象は、本明細書で別段の指示がなく、文脈と明らかに矛盾しない限り、単数と複数の両方を含むものと解釈すべきである。「comprising」、「having」、「including」「containing」という語は、別段の記載のない限り、オープンエンドの用語(すなわち、「including,but not limited to,」を意味する)と解釈すべきである。「connected」と言う語は、修飾されずに、物理的接続を指す場合は、たとえ何かが間に入っても、部分的もしくは全体的に中に含まれる、に接着される、または、結合されると解釈すべきである。本明細書の値の範囲の記載は、本明細書に別段の指示がない限り、範囲内に入る各個別の値を個々に参照するための簡略な方法であり、各個別の値は、本明細書に個々に記載されている場合と同様に明細書に組み込まれる。「set(セット)」(例えば、「a set of items」)または「subset(サブセット)」と言う語の使用は、別段の記載がなく、文脈と矛盾しない限り、1つまたは複数の要素を含む空でない集合として解釈すべきである。さらに、別段の記載がなく、文脈と矛盾しない限り、対応するセットの「subset(サブセット)」という語は、対応するセットの適切なサブセットを必ずしも表すわけではなく、サブセットと、対応するセットが等しくてもよい。
「at least one of A, B, and C,」という形の句または「at least one of A, B and C,」等の接続語は、特に別段の記載がなく、文脈に明らかに矛盾しない限り、一般的に用いられる文脈において、項目、用語等が、AもしくはBもしくはCのいずれか、または、A及びB及びCのセットの空でない任意のサブセットであってよいことを示すと理解される。例えば、3つの要素を有するセットの例示的な例において、「at least one of A, B, and C」と言う接続句、及び、「at least one of A, B and C」は、{A}、{B}、{C}、{A,B}、{A,C}、{B,C}、{A,B,C}のセットのいずれかを指す。従って、このような接続語は、一定の実施形態が、Aの少なくとも1つ、Bの少なくとも1つ、及び、Cの少なくとも1つがそれぞれ存在することを必要としているということを一般的には意図していない。
本明細書に記載のプロセスの動作は、本明細書に別段の指示がなく、文脈と明らかに矛盾しない限り、任意の適切な順で行うことができる。明細書に記載のプロセス(または、その変形及び/または組み合わせ)は、実行可能命令で構成された1つまたは複数のコンピュータシステムの制御の下で行われてよく、ハードウェアまたはその組み合わせによって1つまたは複数のプロセッサ上で集合的に実行するコード(例えば、実行可能命令、1つまたは複数のコンピュータプログラム、または、1つまたは複数のアプリケーション)として実施されてよい。コードは、例えば、1つまたは複数のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形態で、コンピュータ可読記憶媒体に記憶されてよい。コンピュータ可読記憶媒体は、非一時的であってよい。
本明細書で提供した任意または全ての例、または、例示的な言語(例えば、「such as」)は、本明細書の実施形態をより明らかにするためにのみ使用されており、請求項で別段の記載がない限り、発明の範囲に制限を課すものではない。明細書内の言語はいずれも、特許を請求していない要素が発明の実践に不可欠であることを示しているとして解釈すべきではない。
発明を実施するために、発明者らが知っている最適な態様を含む本開示の好ましい実施形態を本明細書に記載した。これらの好ましい実施形態の変形は、上記の記載を読めば、当業者には明らかであろう。発明者らは、当業者が必要に応じてこのような変形を採用することを予測しており、発明者は、本明細書に具体的に記載した以外に本開示の実施形態が実践されることを意図している。従って、本開示の範囲は、適用法が許可するように、添付された請求項に記載された発明の内容の全ての修正及び同等物を含む。さらに、起こり得る変形の全てにおける上記要素の任意の組み合わせは、本明細書に別段の指示がなく、文脈と明らかに矛盾しない限り、本開示の範囲に含まれる。
出版物、特許出願書類、及び、特許を含む、本明細書に引用した全ての参考文献は、各参考文献を参照により組み込むと個々に詳細に示すのと同程度に、また、本明細書にその全体を記載するのと同程度に、参照によりここに組み込まれる。

Claims (13)

  1. 1つまたは複数のプロセッサと、
    命令を集合的に記憶したメモリと
    を備えるコンピュータシステムであって、
    前記コンピュータシステムが前記命令を実行すると、前記コンピュータシステムは、
    ベンダの鍵でデジタル署名されたマシンイメージに基づいた仮想マシンを起動する要求を受信し、
    前記ベンダによって提供された1つまたは複数のポリシーがコンピュータリソースサービスプロバイダの顧客のための仮想マシンにアクセスレベルを規定し、前記ポリシーが、前記ベンダによってデジタル署名されたマシンイメージに基づいた仮想マシンの起動を許可しているという判断の後、前記仮想マシンを起動する、
    コンピュータシステム。
  2. 前記ベンダの前記鍵でデジタル署名された前記マシンイメージは、証明機関が発行したデジタル証明書から取得した公開鍵を用いて検証可能である、請求項1に記載のコンピュータシステム。
  3. 前記1つまたは複数のポリシーは、前記ベンダによってデジタル署名されたマシンイメージのみを、ユーザに関連付けられた仮想ネットワーク内で利用できることをさらに特定し、前記ユーザは、前記仮想マシンの起動要求を提出したユーザである、請求項1又は請求項2に記載のコンピュータシステム。
  4. 前記ベンダの前記鍵でデジタル署名された前記マシンイメージが、検証可能で、前記ベンダの前記鍵でデジタル署名された前記マシンイメージが前記ベンダからのものであると判断するような方法で、前記ベンダの前記鍵でデジタル署名された前記マシンイメージは利用可能にされる、請求項1から請求項3のいずれか一項に記載のコンピュータシステム。
  5. 前記ベンダの前記鍵でデジタル署名された前記マシンイメージは、コンピュータリソースサービスプロバイダマーケットプレイスから取得され、前記コンピュータリソースサービスプロバイダマーケットプレイスは、前記コンピュータリソースサービスプロバイダの顧客が前記ベンダの前記鍵でデジタル署名された前記マシンイメージを選択できるように構成されて、前記ベンダの前記鍵でデジタル署名された前記マシンイメージを用いて、前記顧客が使用するために前記仮想マシンをインスタンス化することができる、請求項1から請求項4のいずれか一項に記載のコンピュータシステム。
  6. 前記鍵でデジタル署名された前記マシンイメージが検証可能で、前記マシンイメージが前記ベンダからのものであると判断するか否かに少なくとも部分的に基づいて、前記鍵でデジタル署名された前記マシンイメージを他のマシンイメージから区別するような方法で、前記鍵でデジタル署名された前記マシンイメージは利用可能にされる、請求項1から請求項5のいずれか一項に記載のコンピュータシステム。
  7. 前記鍵でデジタル署名された前記マシンイメージは、マーケットプレイス上にリストされ、前記マーケットプレイスは、選択可能な複数の仮想マシンイメージを含む、請求項1から請求項6のいずれか一項に記載のコンピュータシステム。
  8. マシンイメージプロバイダの鍵で署名された1つまたは複数の構成要素を含むマシンイメージを記憶することと、
    顧客が前記マシンイメージを選択した結果、前記マシンイメージプロバイダが署名した仮想マシンの起動に関する1つまたは複数のポリシーに基づいて、前記顧客が前記マシンイメージを利用して仮想マシンをインスタンス化できるか否かを判断することと、を含み、
    前記ポリシーはコンピュータリソースサービスプロバイダの顧客のための仮想マシンにアクセスレベルを規定する方法。
  9. 前記鍵で署名された前記1つまたは複数の構成要素は、証明機関が発行したデジタル証明書から取得した公開鍵を用いて検証可能である、請求項8に記載の方法。
  10. 前記1つまたは複数のポリシーは、前記マシンイメージプロバイダによってデジタル署名された1つまたは複数の構成要素を含むマシンイメージのみを前記顧客の仮想ネットワーク内で利用できることをさらに特定し、前記顧客は、前記仮想ネットワーク内で前記仮想マシンを起動する要求を提出した顧客である、請求項8又は請求項9に記載の方法。
  11. 前記マシンイメージプロバイダの前記鍵で署名された前記1つまたは複数の構成要素は、検証可能で、前記マシンイメージが前記マシンイメージプロバイダからのものであることを判断するような方法で、前記マシンイメージは記憶される、請求項8から請求項10のいずれか一項に記載の方法。
  12. 前記マシンイメージは、コンピュータリソースサービスプロバイダマーケットプレイス内に記憶され、前記コンピュータリソースサービスプロバイダマーケットプレイスは、前記コンピュータリソースサービスプロバイダの顧客が、前記マシンイメージを選択できるように構成されて、前記マシンイメージを利用して前記顧客が使用する仮想マシンをインスタンス化することができる、請求項8から請求項11のいずれか一項に記載の方法。
  13. 前記マシンイメージプロバイダの前記鍵で署名された前記マシンイメージの前記1つまたは複数の構成要素が、検証可能で、前記マシンイメージが前記マシンイメージプロバイダからのものであると判断するか否かに少なくとも部分的に基づいて、前記マシンイメージを他のマシンイメージから区別するような方法で、前記マシンイメージは記憶される、請求項8から請求項12のいずれか一項に記載の方法。
JP2016555543A 2014-03-04 2015-03-03 デジタル証明書を用いた仮想マシンイメージの認証 Active JP6402198B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/196,818 US9158909B2 (en) 2014-03-04 2014-03-04 Authentication of virtual machine images using digital certificates
US14/196,818 2014-03-04
PCT/US2015/018534 WO2015134533A2 (en) 2014-03-04 2015-03-03 Authentication of virtual machine images using digital certificates

Publications (2)

Publication Number Publication Date
JP2017516179A JP2017516179A (ja) 2017-06-15
JP6402198B2 true JP6402198B2 (ja) 2018-10-10

Family

ID=54017633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016555543A Active JP6402198B2 (ja) 2014-03-04 2015-03-03 デジタル証明書を用いた仮想マシンイメージの認証

Country Status (6)

Country Link
US (4) US9158909B2 (ja)
EP (1) EP3114813B1 (ja)
JP (1) JP6402198B2 (ja)
CN (1) CN106105138B (ja)
CA (1) CA2940995C (ja)
WO (1) WO2015134533A2 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158909B2 (en) * 2014-03-04 2015-10-13 Amazon Technologies, Inc. Authentication of virtual machine images using digital certificates
US9686278B1 (en) 2014-05-07 2017-06-20 Skyport Systems, Inc. Method and system for configuring computing devices
US10044695B1 (en) * 2014-09-02 2018-08-07 Amazon Technologies, Inc. Application instances authenticated by secure measurements
US10079681B1 (en) 2014-09-03 2018-09-18 Amazon Technologies, Inc. Securing service layer on third party hardware
US9577829B1 (en) 2014-09-03 2017-02-21 Amazon Technologies, Inc. Multi-party computation services
US9584517B1 (en) * 2014-09-03 2017-02-28 Amazon Technologies, Inc. Transforms within secure execution environments
US9246690B1 (en) 2014-09-03 2016-01-26 Amazon Technologies, Inc. Secure execution environment services
US9754116B1 (en) 2014-09-03 2017-09-05 Amazon Technologies, Inc. Web services in secure execution environments
US9442752B1 (en) 2014-09-03 2016-09-13 Amazon Technologies, Inc. Virtual secure execution environments
US9491111B1 (en) 2014-09-03 2016-11-08 Amazon Technologies, Inc. Securing service control on third party hardware
US10061915B1 (en) 2014-09-03 2018-08-28 Amazon Technologies, Inc. Posture assessment in a secure execution environment
CN106464667B (zh) 2015-02-09 2020-01-10 华为技术有限公司 一种证书管理方法、设备及系统
KR101652625B1 (ko) 2015-02-11 2016-08-30 주식회사 이베이코리아 온라인 웹사이트의 회원 로그인을 위한 보안인증 시스템 및 그 방법
US10867047B2 (en) * 2015-03-11 2020-12-15 Hewlett-Packard Development Company, L.P. Booting user devices to custom operating system (OS) images
US9756050B1 (en) 2015-03-26 2017-09-05 Amazon Technologies, Inc. Using transient processing containers for security authorization
US9894061B2 (en) 2015-10-16 2018-02-13 International Business Machines Corporation Method for booting and dumping a confidential image on a trusted computer system
CN108028827B (zh) * 2015-10-21 2020-09-29 华为技术有限公司 网络功能虚拟化架构中证书的管理方法及装置
US11271870B2 (en) 2016-01-27 2022-03-08 Oracle International Corporation System and method for supporting scalable bit map based P_Key table in a high performance computing environment
US10200308B2 (en) 2016-01-27 2019-02-05 Oracle International Corporation System and method for supporting a scalable representation of link stability and availability in a high performance computing environment
US10659234B2 (en) * 2016-02-10 2020-05-19 Cisco Technology, Inc. Dual-signed executable images for customer-provided integrity
US10116533B1 (en) 2016-02-26 2018-10-30 Skyport Systems, Inc. Method and system for logging events of computing devices
US10055578B1 (en) 2016-05-17 2018-08-21 Sprint Communications Company L.P. Secure software containers
US10192047B2 (en) 2016-06-28 2019-01-29 Cisco Technology, Inc. Provisioning of identity information
US10331882B2 (en) * 2016-08-24 2019-06-25 Citrix Systems, Inc. Tracking and managing virtual desktops using signed tokens
US10666443B2 (en) * 2016-10-18 2020-05-26 Red Hat, Inc. Continued verification and monitoring of application code in containerized execution environment
US10637738B1 (en) * 2017-05-26 2020-04-28 Amazon Technologies, Inc. Network traffic logs with integrated product identifiers
US10705831B2 (en) 2017-07-20 2020-07-07 Vmware, Inc. Maintaining unallocated hosts of a pre-configured hyper-converged computing device at a baseline operating system version
US10838776B2 (en) 2017-07-20 2020-11-17 Vmware, Inc. Provisioning a host of a workload domain of a pre-configured hyper-converged computing device
US10416986B2 (en) * 2017-07-20 2019-09-17 Vmware, Inc. Automating application updates in a virtual computing environment
US10705830B2 (en) 2017-07-20 2020-07-07 Vmware, Inc. Managing hosts of a pre-configured hyper-converged computing device
US20210049260A1 (en) * 2018-02-07 2021-02-18 Sony Corporation Information processing apparatus, information processing method, and program
US11803885B2 (en) * 2018-02-28 2023-10-31 Disney Enterprises, Inc. Configuration for authenticating a virtual item
US11847479B2 (en) 2018-03-23 2023-12-19 Vmware, Inc. Allocating a host of a pre-configured hyper-converged computing device to a workload domain
CN108595318B (zh) * 2018-03-31 2021-05-14 西安电子科技大学 Rfc制导的ssl/tls实现中数字证书验证模块的差异测试方法
US11323274B1 (en) 2018-04-03 2022-05-03 Amazon Technologies, Inc. Certificate authority
US11563590B1 (en) 2018-04-03 2023-01-24 Amazon Technologies, Inc. Certificate generation method
US11888997B1 (en) * 2018-04-03 2024-01-30 Amazon Technologies, Inc. Certificate manager
US10425401B1 (en) * 2018-10-31 2019-09-24 ISARA Corporation Extensions for using a digital certificate with multiple cryptosystems
US11500988B2 (en) * 2019-03-08 2022-11-15 International Business Machines Corporation Binding secure keys of secure guests to a hardware security module
US10951958B1 (en) 2020-01-08 2021-03-16 Disney Enterprises, Inc. Authenticity assessment of modified content
US11507408B1 (en) * 2020-01-21 2022-11-22 Amazon Technologies, Inc. Locked virtual machines for high availability workloads
US20210312016A1 (en) * 2020-04-07 2021-10-07 Fortanix, Inc. Geo-fencing of an application for a secure cryptographic environment
US11893410B2 (en) * 2021-01-13 2024-02-06 Vmware, Inc. Secure storage of workload attestation reports in a virtualized and clustered computer system
US11709700B2 (en) 2021-01-13 2023-07-25 Vmware, Inc. Provisioning identity certificates using hardware-based secure attestation in a virtualized and clustered computer system
US11700274B1 (en) * 2021-02-04 2023-07-11 Cisco Technology, Inc. Systems and methods for protecting pod deployment
US11675933B2 (en) * 2021-03-31 2023-06-13 Dell Products L.P. Client authorization mechanisms to access native services
US11809607B2 (en) * 2021-08-05 2023-11-07 International Business Machines Corporation Customization of multi-part metadata of a secure guest
US11829495B2 (en) 2021-08-05 2023-11-28 International Business Machines Corporation Confidential data provided to a secure guest via metadata
US11663082B2 (en) * 2021-08-27 2023-05-30 Red Hat, Inc. Virtual disk image testing
KR20240082828A (ko) * 2022-12-02 2024-06-11 삼성에스디에스 주식회사 마켓플레이스 보안 방법 및 그 장치

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266526B1 (en) * 1996-11-27 2007-09-04 Diebold, Incorporated Automated banking machine system with multiple browsers
US6792545B2 (en) * 2002-06-20 2004-09-14 Guidance Software, Inc. Enterprise computer investigation system
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7836303B2 (en) * 2005-12-09 2010-11-16 University Of Washington Web browser operating system
US20070204166A1 (en) * 2006-01-04 2007-08-30 Tome Agustin J Trusted host platform
US7792944B2 (en) * 2006-03-31 2010-09-07 Amazon Technologies, Inc. Executing programs based on user-specified constraints
WO2008002419A2 (en) 2006-06-19 2008-01-03 Xensource, Inc. Open virtual appliance
US7831997B2 (en) * 2006-06-22 2010-11-09 Intel Corporation Secure and automatic provisioning of computer systems having embedded network devices
US8769528B2 (en) * 2006-07-14 2014-07-01 Moka5, Inc. Fixed-function consumer-electronics device providing general-computing functions with virtual machines
US8522018B2 (en) * 2006-08-18 2013-08-27 Fujitsu Limited Method and system for implementing a mobile trusted platform module
WO2008073618A2 (en) * 2006-11-06 2008-06-19 Devicevm, Inc. Instant on platform
US8527982B1 (en) * 2007-01-12 2013-09-03 moka5. Inc. Auto install virtual machine monitor
CN101636722B (zh) * 2007-03-20 2013-01-30 李尚奎 可移动的虚拟机映像
US8087017B1 (en) * 2007-04-09 2011-12-27 Moka5, Inc. Trace-assisted prefetching of virtual machines in a distributed system
US8171301B2 (en) * 2007-10-07 2012-05-01 Embotics Corporation Method and system for integrated securing and managing of virtual machines and virtual appliances
US20090204964A1 (en) * 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
US8539551B2 (en) * 2007-12-20 2013-09-17 Fujitsu Limited Trusted virtual machine as a client
US9071443B2 (en) * 2008-08-25 2015-06-30 Novell, Inc. Automated service platform prospecting
EP2433409A2 (en) * 2009-05-19 2012-03-28 Security First Corporation Systems and methods for securing data in the cloud
US9015829B2 (en) * 2009-10-20 2015-04-21 Mcafee, Inc. Preventing and responding to disabling of malware protection software
WO2011091313A1 (en) * 2010-01-22 2011-07-28 Interdigital Patent Holdings, Inc. Method and apparatus for trusted federated identity management and data access authorization
WO2011114655A1 (ja) * 2010-03-16 2011-09-22 パナソニック株式会社 情報処理装置、仮想マシン生成方法及びアプリ配信システム
US20110246778A1 (en) * 2010-03-31 2011-10-06 Emc Corporation Providing security mechanisms for virtual machine images
US8893004B2 (en) * 2010-05-12 2014-11-18 International Business Machines Corporation User interface proxy method and system
US8886777B2 (en) * 2010-08-20 2014-11-11 Unisys Corporation Moving enterprise software applications to a cloud domain
EP2609502A4 (en) 2010-08-24 2017-03-29 Jay Moorthi Method and apparatus for clearing cloud compute demand
GB2483300A (en) 2010-09-06 2012-03-07 Fonleap Ltd Transferring virtual machine state between host systems with common portions using a portable device
US9209976B2 (en) * 2010-10-29 2015-12-08 Code Systems Corporation Method and system for restricting execution of virtual applications to a managed process environment
US9141410B2 (en) * 2011-03-08 2015-09-22 Rackspace Us, Inc. Pluggable allocation in a cloud computing system
US20120266170A1 (en) * 2011-04-15 2012-10-18 Roy William Zimmerman Virtual Machine Image Management System and Methods
US20120311575A1 (en) * 2011-06-02 2012-12-06 Fujitsu Limited System and method for enforcing policies for virtual machines
JP5719244B2 (ja) * 2011-06-29 2015-05-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 安全に管理された仮想マシンの実行環境を構築する方法、プログラムおよびコンピュータ装置
US20130061293A1 (en) * 2011-09-02 2013-03-07 Wenbo Mao Method and apparatus for securing the full lifecycle of a virtual machine
US20130097296A1 (en) * 2011-10-18 2013-04-18 Telefonaktiebolaget L M Ericsson (Publ) Secure cloud-based virtual machine migration
KR101658070B1 (ko) * 2012-01-26 2016-09-22 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 연속 월드 스위치 보안을 갖는 데이터 센터
US8978094B2 (en) * 2012-02-03 2015-03-10 Apple Inc. Centralized operation management
US20130238785A1 (en) * 2012-03-06 2013-09-12 Rackspace Us, Inc. System and Method for Metadata Discovery and Metadata-Aware Scheduling
US8583920B1 (en) 2012-04-25 2013-11-12 Citrix Systems, Inc. Secure administration of virtual machines
US9385918B2 (en) * 2012-04-30 2016-07-05 Cisco Technology, Inc. System and method for secure provisioning of virtualized images in a network environment
US9367688B2 (en) * 2012-06-22 2016-06-14 Intel Corporation Providing geographic protection to a system
US9158913B2 (en) * 2012-07-09 2015-10-13 Ca, Inc. Managing virtual machines using owner digital signatures
US10255089B2 (en) * 2012-07-31 2019-04-09 Ca, Inc. Self-deleting virtual machines
US8656482B1 (en) 2012-08-20 2014-02-18 Bitdefender IPR Management Ltd. Secure communication using a trusted virtual machine
US9563480B2 (en) * 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system
US8438654B1 (en) * 2012-09-14 2013-05-07 Rightscale, Inc. Systems and methods for associating a virtual machine with an access control right
US9027087B2 (en) * 2013-03-14 2015-05-05 Rackspace Us, Inc. Method and system for identity-based authentication of virtual machines
US9332002B1 (en) * 2013-03-14 2016-05-03 Amazon Technologies, Inc. Authenticating and authorizing a user by way of a digital certificate
US9448826B2 (en) * 2013-03-15 2016-09-20 Symantec Corporation Enforcing policy-based compliance of virtual machine image configurations
US9665387B2 (en) * 2013-05-08 2017-05-30 Amazon Technologies, Inc. User-influenced placement of virtual machine instances
US10230738B2 (en) * 2013-05-13 2019-03-12 Telefonaktiebolaget Lm Ericsson (Publ) Procedure for platform enforced secure storage in infrastructure clouds
US20150052614A1 (en) * 2013-08-19 2015-02-19 International Business Machines Corporation Virtual machine trust isolation in a cloud environment
US9306935B2 (en) * 2014-02-25 2016-04-05 Amazon Technologies, Inc. Provisioning digital certificates in a network environment
US9158909B2 (en) * 2014-03-04 2015-10-13 Amazon Technologies, Inc. Authentication of virtual machine images using digital certificates
US9842065B2 (en) * 2015-06-15 2017-12-12 Intel Corporation Virtualization-based platform protection technology

Also Published As

Publication number Publication date
US20160034298A1 (en) 2016-02-04
EP3114813A4 (en) 2017-10-04
EP3114813A2 (en) 2017-01-11
CA2940995C (en) 2023-12-05
US10698710B2 (en) 2020-06-30
WO2015134533A3 (en) 2016-05-19
US20230099597A1 (en) 2023-03-30
US11829794B2 (en) 2023-11-28
WO2015134533A2 (en) 2015-09-11
US20150254451A1 (en) 2015-09-10
CN106105138A (zh) 2016-11-09
US9158909B2 (en) 2015-10-13
US20200326972A1 (en) 2020-10-15
CN106105138B (zh) 2020-02-21
EP3114813B1 (en) 2019-10-09
CA2940995A1 (en) 2015-09-11
JP2017516179A (ja) 2017-06-15

Similar Documents

Publication Publication Date Title
JP6402198B2 (ja) デジタル証明書を用いた仮想マシンイメージの認証
JP6568974B2 (ja) 複数のコンピューティング・リソース・サービスにアクセスするための単一の資格認定セット
US9853978B2 (en) Domain join and managed directory support for virtual computing environments
US10333937B2 (en) Privilege distribution through signed permissions grants
US10944561B1 (en) Policy implementation using security tokens
US10587697B2 (en) Application-specific session authentication
CN106416125B (zh) 用于虚拟机实例的自动目录加入
US9736159B2 (en) Identity pool bridging for managed directory services
US10931673B2 (en) Policy activation for client applications
JP2015523669A (ja) エンタプライズシステムへのアプリケーションの動的登録
US10523716B1 (en) Immutable accounts
US20200117498A1 (en) Automatic domain join for virtual machine instances
KR20170046779A (ko) 컴퓨팅 환경 선택 기술
US11196748B1 (en) Directory proxy for accessing remote domains
US20140359702A1 (en) Information processing server system, control method, and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171011

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180302

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: 20180820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180910

R150 Certificate of patent or registration of utility model

Ref document number: 6402198

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250