Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Créez l'exemple de description de l'image Amazon Linux 2023
AWS fournit un exemple de description d'image Amazon Linux 2023 que vous pouvez utiliser comme point de départ pour créer votre propre Attestable personnalisé AMIs pour vos charges de travail. L'exemple de description de l'image inclut Amazon Linux 2023 comme système d'exploitation de base, dm-verity ainsi que les erofs configurations pour l'immuabilité du système de fichiers, et supprime tous les accès interactifs (tels que SSH, connexion d' EC2 instance et console série) pour créer un environnement de calcul isolé. Pour plus d'informations sur l'exemple de description de l'image, consultez le dépôt Github
La description de l'image d'exemple installe automatiquement les outils NitroTPM (nitro-tpm-pcr-computeetnitro-tpm-attest) dans l'image créée dans le répertoire. /usr/bin/ Cela garantit que les outils sont préinstallés sur les instances lancées depuis l'AMI.
L'exemple de description de l'image inclut un script qui inclut les commandes nécessaires pour générer les mesures de référence. edit_boot_install.sh Le script monte le fichier image disque brut (.raw) créé par KIWI NG sur un périphérique de bouclage, localise l'UKI, qui porte l'extension de .efi fichier, puis exécute l'nitro-tpm-pcr-computeutilitaire pour générer les mesures de référence pour l'AMI. Le script est automatiquement exécuté par KIWI NG pendant la phase de construction.
Ce didacticiel explique comment créer un exemple de description d'image pour créer une AMI attestable.
Pour plus d'informations sur la création de vos propres descriptions d'images, consultez la documentation KIWI NG suivante :
Pour créer l'exemple de description de l'image Amazon Linux 2023 à l'aide de KIWI NG
-
Lancez une EC2 instance Amazon à l'aide de la dernière AMI AL2 023. Pour vous assurer que votre instance dispose de suffisamment d'espace de stockage pour créer l'AMI, assurez-vous de fournir au moins 12 Go de stockage.
-
Installez les dépendances obligatoires. La commande suivante installe les utilitaires suivants :
-
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 -
-
Installez l'
coldsnaputilitaire. Cet utilitaire vous permet de créer des instantanés Amazon EBS à partir de données d'image brutes. Vous allez utiliser cet utilitaire pour créer un instantané EBS à partir du fichier image disque brut créé par KIWI NG.git clone https://github.com/awslabs/coldsnap.git cd coldsnap cargo install --locked coldsnap cd .. -
Obtenez les exemples de fichiers de description des images.
sudo dnf install kiwi-image-descriptions-examplesLes exemples de fichiers de description d'image sont téléchargés dans le répertoire suivant :
/usr/share/kiwi-image-descriptions-examples/al2023/attestable-image-example -
Créez l'exemple de description de l'image à l'aide de la
system buildcommande KIWI NG. La commande suivante crée un fichier image disque brut dans le./imagerépertoire.sudo kiwi-ng \ --color-output \ --loglevel 0 \ system build \ --description usr/share/kiwi-image-descriptions-examples/al2023/attestable-image-example \ --target-dir ./imagePour plus d'informations, consultez la documentation de compilation du système kiwi-ng.
-
Obtenez les mesures de référence pour l'AMI. Les mesures sont générées par l'
nitro-tpm-pcr-computeutilitaire lors de la création de l'image à l'étape précédente. Vous pouvez trouver les mesures de référence dans le fichier suivant :./image/pcr_measurements.json.Les mesures sont fournies au format JSON suivant :
{ "Measurements": { "HashAlgorithm": "SHA384 { ... }", "PCR4": "PCR4_measurement", "PCR7": "PCR7_measurement" } } -
Utilisez l'
coldsnaputilitaire pour télécharger l'image disque brute créée par KIWI NG sur un instantané EBS. La commande renvoie l'ID du snapshot. Prenez note de l'identifiant, vous en aurez besoin pour l'étape suivante.SNAPSHOT=$(.cargo/bin/coldsnap upload ./image/kiwi*.raw) echo "Created snapshot: $SNAPSHOT"Pour plus d'informations sur cet
coldsnaputilitaire, consultez le dépôt coldsnap GitHub. -
Enregistrez une AMI compatible TPM 2.0 avec le mode de démarrage UEFI à l'aide du snapshot de l'étape précédente. Pour
--architecture, spécifiezx86_64pour Intel ouarm64pour Graviton.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