AWS KMS chiavi di condizione per AWS Nitro Enclaves - AWS Key Management Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS KMS chiavi di condizione per AWS Nitro Enclaves

AWS Nitro Enclaves è una EC2 funzionalità di Amazon che consente di creare ambienti di elaborazione isolati chiamati enclavi per proteggere ed elaborare dati altamente sensibili. AWS KMS fornisce chiavi di condizione per supportare Nitro Enclaves. AWS Queste chiavi di condizioni sono valide solo per le richieste di Nitro AWS KMS Enclave.

Quando richiami Decrypt,, DeriveSharedSecretGenerateDataKeyGenerateDataKeyPair, o GenerateRandomAPIle operazioni con il documento di attestazione firmato da un'enclave, queste APIs crittografano il testo in chiaro nella risposta utilizzando la chiave pubblica del documento di attestazione e restituiscono testo cifrato anziché testo semplice. Questo testo criptato può essere decrittato solo utilizzando la chiave privata nell'enclave. Per ulteriori informazioni, consulta Attestazione crittografica per AWS Nitro Enclaves.

Le seguenti chiavi di condizione consentono di limitare le autorizzazioni per queste operazioni in base al contenuto del documento di attestazione firmato. Prima di consentire un'operazione, AWS KMS confronta il documento di attestazione dell'enclave con i valori di queste chiavi di condizione. AWS KMS

km: 384 RecipientAttestation ImageSha

AWS KMS Chiavi di condizione Tipo di condizioni Value type (Tipo di valore) Operazioni di API Tipo di policy

kms:RecipientAttestation:ImageSha384

Stringa

A valore singolo

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

Policy delle chiavi e policy IAM

La chiave kms:RecipientAttestation:ImageSha384 condizionale controlla l'accesso a Decrypt DeriveSharedSecretGenerateDataKey,GenerateDataKeyPair, e GenerateRandom con una KMS chiave quando l'immagine digest del documento di attestazione firmato nella richiesta corrisponde al valore nella chiave di condizione. Il ImageSha384 valore corrisponde a PCR 0 nel documento di attestazione. Questa chiave condizionale è efficace solo quando il Recipient parametro nella richiesta specifica un documento di attestazione firmato per un' AWS enclave Nitro.

Questo valore è incluso anche negli CloudTraileventi per le richieste alle enclavi Nitro. AWS KMS

Ad esempio, la seguente dichiarazione sulla politica chiave consente al data-processing ruolo di utilizzare la KMS chiave per Decrypt, DeriveSharedSecret, GenerateDataKeye le operazioni. GenerateDataKeyPairGenerateRandom La chiave kms:RecipientAttestation:ImageSha384 condition consente le operazioni solo quando il valore image digest (PCR0) del documento di attestazione nella richiesta corrisponde al valore dell'image digest nella condizione. Questa chiave condizionale è efficace solo quando il Recipient parametro nella richiesta specifica un documento di attestazione firmato per un'enclave Nitro. AWS

Se la richiesta non include un documento di attestazione valido proveniente da un'enclave AWS Nitro, l'autorizzazione viene negata perché questa condizione non è soddisfatta.

{ "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" } } }

kms: < _ID> RecipientAttestation PCR PCR

AWS KMS Chiavi di condizione Tipo di condizioni Value type (Tipo di valore) Operazioni di API Tipo di policy

kms:RecipientAttestation:PCR<PCR_ID>

Stringa

A valore singolo

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

Policy delle chiavi e policy IAM

La chiave kms:RecipientAttestation:PCR<PCR_ID> condizionale controlla l'accesso a Decrypt DeriveSharedSecretGenerateDataKey,GenerateDataKeyPair, e GenerateRandom con una KMS chiave solo quando la configurazione della piattaforma registra (PCRs) dal documento di attestazione firmato nella richiesta corrisponde alla PCRs chiave di condizione. Questa chiave condizionale è efficace solo quando il Recipient parametro nella richiesta specifica un documento di attestazione firmato da un'enclave Nitro. AWS

Questo valore è incluso anche negli CloudTraileventi che rappresentano le richieste per le enclavi Nitro. AWS KMS

Per specificare un PCR valore, utilizzate il seguente formato. Concatena l'PCRID al nome della chiave della condizione. Il PCR valore deve essere una stringa esadecimale minuscola fino a 96 byte.

"kms:RecipientAttestation:PCRPCR_ID": "PCR_value"

Ad esempio, la seguente chiave condizionale specifica un valore particolare perPCR1, che corrisponde all'hash del kernel utilizzato per l'enclave e il processo di bootstrap.

kms:RecipientAttestation:PCR1: "0x1abcdef2abcdef3abcdef4abcdef5abcdef6abcdef7abcdef8abcdef9abcdef8abcdef7abcdef6abcdef5abcdef4abcdef3abcdef2abcdef1abcdef0abcde"

L'esempio seguente di dichiarazione chiave consente al data-processing ruolo di utilizzare la chiave per l'KMSoperazione Decrypt.

La chiave di kms:RecipientAttestation:PCR condizione in questa istruzione consente l'operazione solo quando il PCR1 valore nel documento di attestazione firmato nella richiesta corrisponde al kms:RecipientAttestation:PCR1 valore nella condizione. Utilizzate l'operatore di StringEqualsIgnoreCase policy per richiedere un confronto dei valori senza distinzione tra maiuscole e minuscole. PCR

Se la richiesta non include un documento di attestazione, l'autorizzazione viene negata perché questa condizione non è soddisfatta.

{ "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": "0x1de4f2dcf774f6e3b679f62e5f120065b2e408dcea327bd1c9dddaea6664e7af7935581474844767453082c6f1586116376cede396a30a39a611b9aad7966c87" } } }