Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Beispiel-Image-Beschreibung für Amazon Linux 2023 erstellen
AWS bietet ein Beispiel für eine Amazon Linux 2023-Imagebeschreibung, die Sie als Ausgangspunkt für die Erstellung Ihres eigenen benutzerdefinierten Attestable AMIs für Ihre Workloads verwenden können. Die Beschreibung des Beispielimages umfasst Amazon Linux 2023 als Basisbetriebssystem dm-verity und erofs Konfigurationen für die Unveränderlichkeit des Dateisystems. Außerdem wird jeglicher interaktiver Zugriff (wie SSH, EC2 Instance-Verbindung und serielle Konsole) entfernt, um eine isolierte Rechenumgebung zu schaffen. Weitere Informationen über die Beispiel-Image-Beschreibung finden Sie im Github-Repo
Die Beispiel-Image-Beschreibung installiert automatisch die NitroTPM-Tools (nitro-tpm-pcr-compute und nitro-tpm-attest) im erstellten Image im Verzeichnis /usr/bin/. Dadurch wird sichergestellt, dass die Tools auf Instances vorinstalliert sind, die über das AMI gestartet werden.
Die Beispiel-Image-Beschreibung umfasst ein Skript, edit_boot_install.sh, das die Befehle enthält, die zum Generieren der Referenzmessungen erforderlich sind. Das Skript hängt die von KIWI NG erstellte rohe Festplatten-Image-Datei (.raw) auf einem Loopback-Gerät ein, lokalisiert die UKI mit der Dateierweiterung .efi und führt dann das Hilfsprogramm nitro-tpm-pcr-compute aus, um die Referenzmessungen für das AMI zu generieren. Das Skript wird während der Build-Zeit automatisch von KIWI NG ausgeführt.
In diesem Tutorial erfahren Sie, wie Sie die Beispiel-Image-Beschreibung erstellen, um ein attestierbares AMI zu erstellen.
Weitere Informationen zum Erstellen eigener Image-Beschreibungen finden Sie in der folgenden KIWI-NG-Dokumentation:
So erstellen Sie eine Beispiel-Image-Beschreibung für Amazon Linux 2023 mit KIWI NG
-
Starten Sie eine EC2 Amazon-Instance mit dem neuesten AL2 023-AMI. Um sicherzustellen, dass Ihre Instance über ausreichend Speicherplatz für die Erstellung des AMI verfügt, stellen Sie sicher, dass Sie mindestens 12 GB Speicher bereitstellen.
-
Installieren Sie die erforderlichen Abhängigkeiten. Der folgende Befehl installiert die folgenden Hilfsprogramme:
-
kiwi-cli -
veritysetup -
erofs-utils -
aws-nitro-tpm-tools
sudo dnf install -y kiwi-cli python3-kiwi kiwi-systemdeps-core python3-poetry-core qemu-img veritysetup erofs-utils git cargo aws-nitro-tpm-tools -
-
Installieren Sie das Hilfsprogramm
coldsnap. Mit diesem Hilfsprogramm können Sie Amazon-EBS-Snapshots aus Image-Rohdaten erstellen. Sie verwenden dieses Hilfsprogramm, um einen EBS-Snapshot aus der von KIWI NG erstellten rohen Festplatten-Image-Datei zu erstellen.git clone https://github.com/awslabs/coldsnap.git cd coldsnap cargo install --locked coldsnap cd .. -
Rufen Sie die Dateien der Beispiel-Image-Beschreibung ab.
sudo dnf install kiwi-image-descriptions-examplesDie Dateien der Beispiel-Image-Beschreibung werden in das folgende Verzeichnis heruntergeladen:
/usr/share/kiwi-image-descriptions-examples/al2023/attestable-image-example -
Erstellen Sie die Beispiel-Image-Beschreibung mit dem KIWI-NG-Befehl
system build. Mit dem folgenden Befehl wird eine rohe Festplatten-Image-Datei im Verzeichnis./imageerstellt.sudo kiwi-ng \ --color-output \ --loglevel 0 \ system build \ --description /usr/share/kiwi-image-descriptions-examples/al2023/attestable-image-example \ --target-dir ./imageWeitere Informationen finden Sie in der Dokumentation kiwi-ng system build
. -
Rufen Sie die Referenzmessungen für das AMI ab. Die Messungen werden vom Hilfsprogramm
nitro-tpm-pcr-computewährend der Image-Erstellung im vorherigen Schritt generiert. Sie können die Referenzmessungen in der folgenden Datei finden:./image/pcr_measurements.json.Die Messungen werden im folgenden JSON-Format bereitgestellt:
{ "Measurements": { "HashAlgorithm": "SHA384 { ... }", "PCR4": "PCR4_measurement", "PCR7": "PCR7_measurement", "PCR12": "PCR12_measurement" } } -
Verwenden Sie das Hilfsprogramm
coldsnap, um das von KIWI NG erstellte rohe Festplatten-Image in einen EBS-Snapshot hochzuladen. Der Befehl gibt die Snapshot-ID zurück. Notieren Sie sich die ID, die Sie im nächsten Schritt benötigen.SNAPSHOT=$(.cargo/bin/coldsnap upload ./image/kiwi*.raw) echo "Created snapshot: $SNAPSHOT"Weitere Informationen über das
coldsnapHilfsprogramm finden Sie im GitHub Coldsnap-Repo. -
Registrieren Sie ein TPM-2.0-fähiges AMI im UEFI-Startmodus mithilfe des Snapshots aus dem vorherigen Schritt. Geben Sie bei
--architectureden Wertx86_64für Intel oderarm64für Graviton an.aws ec2 register-image \ --name "attestable_isolated_al2023_ami" \ --virtualization-type hvm \ --boot-mode uefi \ --architecturex86_64|arm64\ --root-device-name /dev/xvda \ --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=${SNAPSHOT}} \ --tpm-support v2.0 \ --ena-support