可驗證的 AMI - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

可驗證的 AMI

可驗證的 AMI 是一種 Amazon Machine Image (AMI),包含代表其全部內容的對應密碼編譯雜湊。AMI 建立程序期間會生成雜湊,且依據該 AMI 的整個內容進行計算,包括應用程式、程式碼,以及啟動程序。

維護可驗證狀態

執行個體的衡量項基於其初始啟動狀態。啟動之後對執行個體做出任何軟體或程式碼變更,以及重新啟動之後持續存在,都會在重新啟動之後變更執行個體的衡量項。若更改衡量項,則會偏離可驗證的 AMI 的參考衡量項,並且執行個體重新啟動之後,執行個體不再能夠對 AWS KMS 成功進行驗證。因此,為了讓可驗證的 AMI 有用,執行個體需要在重新啟動之後返回其原始啟動狀態。

始終返回原始啟動狀態,能夠確保執行個體在重新啟動之後成功進行驗證。可以使用下面的公用程式,確保執行個體在重新啟動之後仍可驗證:

  • erofs – 增強了唯讀檔案系統。此公用程式能確保根檔案系統為唯讀。將此公用程式寫入檔案系統,包括 /etc/run/var,存放於記憶體,以及在執行個體重新啟動時遺失,並讓根檔案系統處於其原始啟動狀態。若要了解詳細資訊,請參閱 erofs 文件

  • dm-verity – 針對唯讀根檔案系統提供完整性防護。公用程式可計算檔案系統區塊的雜湊,並將其存放於核心命令列。此操作可讓核心在啟動期間確認檔案系統的完整性。若要了解詳細資訊,請參閱 dm-verity 文件

建立可驗證的 AMI 的要求

可驗證的 AMI 具有以下要求:

建立可驗證的 AMI

如需建立可驗證的 AMI,您將需要使用 KIWI Next Generation (KIWI NG) 並搭配 Amazon Linux 2023。Amazon Linux 2023 提供了使用 KIWI NG 建置可驗證的 AMI 所需的全部軟體及公用程式。

KIWI NG 是一款開放原始碼工具,可用於建置預先設定的基於 Linux 的映像。KIWI NG 使用可定義映像內容的 XML 映像說明。映像說明指定了要執行的基本作業系統、軟體、核心組態與指令碼,以便針對特定使用案例來建置即用型 AMI。

AMI 建置期間,您需要使用 nitro-tpm-pcr-compute 公用程式,依據 KIWI NG 生成的統一核心映像 (UKI) 來生成參考衡量項。若要了解使用 nitro-tpm-pcr-compute 公用程式的相關詳細資訊,請參閱 使用自訂 AMI 的運算 PCR 衡量項

AWS 提供範例 Amazon Linux 2023 映像描述,其中包含在隔離的運算環境中設定 EC2 執行個體所需的所有組態。如需詳細資訊,請參閱建置範例 Amazon Linux 2023 映像說明