AWS KMS claves de condición para AWS Nitro Enclaves - AWS Key Management Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS KMS claves de condición para AWS Nitro Enclaves

AWS Nitro Enclaves es una EC2 funcionalidad de Amazon que le permite crear entornos de cómputo aislados denominados enclaves para proteger y procesar datos altamente confidenciales. AWS KMS proporciona claves de condición para soportar AWS Nitro Enclaves. Estas claves de condiciones solo son válidas para las solicitudes de un AWS KMS Nitro Enclave.

Al realizar GenerateRandomAPIoperaciones de descifrado, DeriveSharedSecretGenerateDataKeyGenerateDataKeyPair, o con el documento de certificación firmado desde un enclave, se APIs cifra el texto sin formato de la respuesta con la clave pública del documento de certificación y se devuelve texto cifrado en lugar de texto sin formato. Este texto cifrado solo se puede descifrar con la clave privada del enclave. Para obtener más información, consulte Certificación criptográfica para AWS Nitro Enclaves.

Las siguientes claves de condición permiten limitar los permisos para estas operaciones en función del contenido del documento de conformidad firmado. Antes de permitir una operación, AWS KMS compara el documento de certificación del enclave con los valores de estas claves de condición. AWS KMS

km: 384 RecipientAttestation ImageSha

AWS KMS Claves de estado Tipo de condición Tipo de valor Operaciones de API Tipo de política

kms:RecipientAttestation:ImageSha384

Cadena

Valor único

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

Políticas de claves y políticas de IAM

La clave de kms:RecipientAttestation:ImageSha384 condición controla el acceso a DecryptDeriveSharedSecret, GenerateDataKeyGenerateDataKeyPair, y GenerateRandom con una KMS clave cuando el resumen de la imagen del documento de certificación firmado de la solicitud coincide con el valor de la clave de condición. El ImageSha384 valor corresponde a PCR 0 en el documento de certificación. Esta clave de condición solo entra en vigor cuando el Recipient parámetro de la solicitud especifica un documento de certificación firmado para un enclave de Nitro. AWS

Este valor también se incluye en los CloudTraileventos relacionados con las solicitudes de enclaves de AWS KMS Nitro.

Por ejemplo, la siguiente declaración de política clave permite al data-processing rol usar la KMS clave para descifrar, DeriveSharedSecretGenerateDataKeyGenerateDataKeyPair, y las operaciones. GenerateRandom La clave de kms:RecipientAttestation:ImageSha384 condición permite las operaciones solo cuando el valor de resumen de la imagen (PCR0) del documento de certificación de la solicitud coincide con el valor de resumen de la imagen de la condición. Esta clave de condición solo entra en vigor cuando el Recipient parámetro de la solicitud especifica un documento de certificación firmado para un enclave de Nitro. AWS

Si la solicitud no incluye un documento de certificación válido de un enclave de AWS Nitro, se deniega el permiso porque no se cumple esta condición.

{ "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 Claves de condición Tipo de condición Tipo de valor Operaciones de API Tipo de política

kms:RecipientAttestation:PCR<PCR_ID>

Cadena

Valor único

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

Políticas de claves y políticas de IAM

La clave de kms:RecipientAttestation:PCR<PCR_ID> condición controla el acceso a DecryptDeriveSharedSecret, GenerateDataKeyGenerateDataKeyPair, y GenerateRandom con una KMS clave solo cuando los registros de configuración de la plataforma (PCRs) del documento de certificación firmado de la solicitud coinciden con los de la clave PCRs de condición. Esta clave de condición solo entra en vigor cuando el Recipient parámetro de la solicitud especifica un documento de certificación firmado desde un enclave de Nitro. AWS

Este valor también se incluye en los CloudTraileventos que representan solicitudes de acceso a AWS KMS enclaves de Nitro.

Para especificar un PCR valor, utilice el siguiente formato. Concatene el PCR ID al nombre de la clave de condición. El PCR valor debe ser una cadena hexadecimal en minúsculas de hasta 96 bytes.

"kms:RecipientAttestation:PCRPCR_ID": "PCR_value"

Por ejemplo, la siguiente clave de condición especifica un valor concreto paraPCR1, que corresponde al hash del núcleo utilizado para el enclave y el proceso de arranque.

kms:RecipientAttestation:PCR1: "0x1abcdef2abcdef3abcdef4abcdef5abcdef6abcdef7abcdef8abcdef9abcdef8abcdef7abcdef6abcdef5abcdef4abcdef3abcdef2abcdef1abcdef0abcde"

El siguiente ejemplo de declaración de política clave permite al data-processing rol usar la KMS clave para la operación de descifrado.

La clave de kms:RecipientAttestation:PCR condición de esta declaración permite la operación solo cuando el PCR1 valor del documento de certificación firmado de la solicitud coincide con el kms:RecipientAttestation:PCR1 valor de la condición. Utilice el operador de StringEqualsIgnoreCase políticas para exigir una comparación de los valores que no distinga entre mayúsculas y minúsculas. PCR

Si la solicitud no incluye un documento de certificación, se deniega el permiso porque esta condición no se cumple.

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