View a markdown version of this page

Clés de condition pour Nitro Enclaves - AWS Key Management Service

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.

Clés de condition pour Nitro Enclaves

Les clés de condition suivantes sont spécifiques à l'attestation de Nitro Enclaves :

km : RecipientAttestation:ImageSha384

AWS KMS Clés de condition Type de condition Type de la valeur Opérations d’API Type de politique

kms:RecipientAttestation:ImageSha384

String

Single-valued

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

Politiques de clé et politiques IAM

La clé de kms:RecipientAttestation:ImageSha384 condition contrôle l'accès à DecryptDeriveSharedSecret,GenerateDataKey,GenerateDataKeyPair, et GenerateRandom avec une clé KMS lorsque le résumé d'image du document d'attestation signé dans la demande correspond à la valeur de la clé de condition. La valeur ImageSha384 correspond au PCR0 du document d'attestation. Cette clé de condition n'est effective que lorsque le Recipient paramètre de la demande spécifie un document d'attestation signé pour une enclave AWS Nitro.

Cette valeur est également incluse dans les CloudTrailévénements relatifs aux demandes adressées AWS KMS aux enclaves Nitro.

Par exemple, la déclaration de politique clé suivante autorise le data-processing rôle à utiliser la clé KMS pour les GenerateRandomopérations de déchiffrement DeriveSharedSecret, GenerateDataKey, GenerateDataKeyPair, et. La clé de condition kms:RecipientAttestation:ImageSha384 permet les opérations uniquement lorsque la valeur de hachage de l'image (PCR0) du document d'attestation de la demande correspond à la valeur de hachage de l'image de la condition. Cette clé de condition n'est effective que lorsque le Recipient paramètre de la demande spécifie un document d'attestation signé pour une enclave AWS Nitro.

Si la demande n'inclut pas de document d'attestation valide provenant d'une enclave AWS Nitro, l'autorisation est refusée car cette condition n'est pas remplie.

{ "Sid" : "Enable enclave data processing", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:role/data-processing" }, "Action": [ "kms:Decrypt", "kms:DeriveSharedSecret", "kms:GenerateDataKey", "kms:GenerateDataKeyPair", "kms:GenerateRandom" ], "Resource" : "*", "Condition": { "StringEqualsIgnoreCase": { "kms:RecipientAttestation:ImageSha384": "9fedcba8abcdef7abcdef6abcdef5abcdef4abcdef3abcdef2abcdef1abcdef1abcdef0abcdef1abcdef2abcdef3abcdef4abcdef5abcdef6abcdef7abcdef99" } } }

km : RecipientAttestation:PCR < PCR_ID >

AWS KMS Clés de condition Type de condition Type de la valeur Opérations d’API Type de politique

kms:RecipientAttestation:PCR<PCR_ID>

String

Single-valued

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

Politiques de clé et politiques IAM

La clé de kms:RecipientAttestation:PCR<PCR_ID> condition contrôle l'accès àDecrypt,DeriveSharedSecret, GenerateDataKeyGenerateDataKeyPair, et GenerateRandom avec une clé KMS uniquement lorsque les registres de configuration de la plate-forme (PCR) figurant dans le document d'attestation signé dans la demande correspondent aux PCR de la clé de condition. Cette clé de condition n'est effective que lorsque le Recipient paramètre de la demande spécifie un document d'attestation signé provenant d'une enclave AWS Nitro.

Cette valeur est également incluse dans les CloudTrailévénements qui représentent des demandes adressées à AWS KMS des enclaves Nitro.

Pour spécifier une valeur PCR, utilisez le format suivant. Concaténez l'ID de PCR au nom de clé de condition. Vous pouvez spécifier un identifiant PCR identifiant l'une des six mesures de l'enclave ou un identifiant PCR personnalisé que vous avez défini pour un cas d'utilisation spécifique. La valeur PCR doit être une chaîne hexadécimale en minuscules de 96 octets maximum.

"kms:RecipientAttestation:PCRPCR_ID": "PCR_value"

Par exemple, la clé de condition suivante spécifie une valeur particulière pour PCR1, qui correspond au hachage du noyau utilisé pour l'enclave et le processus d'amorçage.

kms:RecipientAttestation:PCR1: "abc1abcdef2abcdef3abcdef4abcdef5abcdef6abcdef7abcdef8abcdef9abcdef8abcdef7abcdef6abcdef5abcdef4abcdef3abcdef2abcdef1abcdef0abcde"

Par exemple, l'instruction de stratégie de clé suivante autorise le rôle data-processing à utiliser la clé KMS pour l'opération Decrypt.

La clé de condition kms:RecipientAttestation:PCR de cette instruction autorise l'opération uniquement lorsque la valeur PCR1 du document d'attestation signé dans la demande correspond à la valeur kms:RecipientAttestation:PCR1 de la condition. Utilisez l'opérateur de politique StringEqualsIgnoreCase pour exiger une comparaison insensible à la casse des valeurs PCR.

Si la demande n'inclut pas de document d'attestation, l'autorisation est refusée car cette condition n'est pas remplie.

{ "Sid" : "Enable enclave data processing", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:role/data-processing" }, "Action": "kms:Decrypt", "Resource" : "*", "Condition": { "StringEqualsIgnoreCase": { "kms:RecipientAttestation:PCR1": "abc1de4f2dcf774f6e3b679f62e5f120065b2e408dcea327bd1c9dddaea6664e7af7935581474844767453082c6f1586116376cede396a30a39a611b9aad7966c87" } } }