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.
Préparer AWS KMS l'attestation
Note
Si vous attestez d’un service tiers, vous devez créer vos propres mécanismes personnalisés pour recevoir, analyser et valider les documents d’attestation. Pour de plus amples informations, veuillez consulter Validation d’un document d’attestation NitroTPM.
Après avoir créé votre AMI attestable, vous devriez disposer de mesures de référence que vous pouvez utiliser pour valider les demandes provenant d'une EC2 instance Amazon. AWS KMS fournit un support intégré pour l'attestation avec NitroTPM.
Pour la AWS KMS clé que vous avez utilisée pour chiffrer vos données secrètes, ajoutez une politique clé qui autorise l'accès aux clés uniquement si les demandes d'API incluent un document d'attestation avec des mesures correspondant aux mesures de référence que vous avez générées lors du processus de création de l'AMI attestable. Utilisation PCR4 et PCR12 mesures pour une botte standard ou PCR7 mesures pour Secure Boot. Cela garantit que seules les demandes provenant d'instances lancées à l'aide de l'AMI attestable peuvent effectuer des opérations cryptographiques à l'aide de la AWS KMS clé.
AWS KMS fournit kms:RecipientAttestation:NitroTPMPCR4kms:RecipientAttestation:NitroTPMPCR7, et des clés de kms:RecipientAttestation:NitroTPMPCR12 condition qui vous permettent de créer des conditions basées sur des attestations pour les politiques clés de NitroTPM KMS. Pour plus d’informations, consultez la section Clés de condition pour NitroTPM.
Par exemple, la politique de AWS KMS clé suivante autorise l'accès aux clés uniquement si la demande provient d'une instance à laquelle le profil d'MyEC2InstanceRoleinstance est attaché, et si la demande inclut un document d'attestation avec des valeurs PCR 4 et PCR 12 spécifiques.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow requests from instances with attested AMI only", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyEC2InstanceRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateRandom" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "kms:RecipientAttestation:NitroTPMPCR4":"EXAMPLE6b9b3d89a53b13f5dfd14a1049ec0b80a9ae4b159adde479e9f7f512f33e835a0b9023ca51ada02160EXAMPLE", "kms:RecipientAttestation:NitroTPMPCR12":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } } } ] }