Preparación de AWS KMS para la atestación - Amazon Elastic Compute Cloud

Preparación de AWS KMS para la atestación

nota

Si debe realizar la atestación ante un servicio de terceros, debe crear sus propios mecanismos personalizados para recibir, analizar y validar los documentos de atestación. Para obtener más información, consulte Validación de un documento de atestación de NitroTPM.

Después de crear su AMI con capacidad de atestación, debe contar con mediciones de referencia que pueda usar para validar las solicitudes provenientes de una instancia de Amazon EC2. AWS KMS proporciona compatibilidad integrada para la atestación con NitroTPM.

Para la clave de AWS KMS utilizada para cifrar los datos confidenciales, agregue una política de claves que permita el acceso únicamente si las solicitudes de API incluyen un documento de atestación con mediciones PCR4 o PCR7 que coincidan con las mediciones de referencia generadas durante el proceso de creación de la AMI con capacidad de atestación. Esto garantiza que solo las solicitudes provenientes de instancias lanzadas con la AMI con capacidad de atestación puedan ejecutar operaciones criptográficas mediante la clave de AWS KMS.

AWS KMS proporciona claves de condición kms:RecipientAttestation:PCR4 y kms:RecipientAttestation:PCR7 que permiten crear condiciones basadas en atestación para las políticas de claves de KMS. Para obtener más información, consulte las claves de condición de AWS KMS para AWS Nitro Enclaves y NitroTPM.

Por ejemplo, la siguiente política de claves de AWS KMS permite el acceso a la clave únicamente si la solicitud se origina en una instancia con el perfil de instancia MyEC2InstanceRole asociado, y si la solicitud incluye un documento de atestación con valores específicos de PCR 4 y PCR 7.

{ "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:PCR4":"EXAMPLE6b9b3d89a53b13f5dfd14a1049ec0b80a9ae4b159adde479e9f7f512f33e835a0b9023ca51ada02160EXAMPLE", "kms:RecipientAttestation:PCR7":"EXAMPLE34a884328944cd806127c7784677ab60a154249fd21546a217299ccfa1ebfe4fa96a163bf41d3bcfaeEXAMPLE" } } } ] }

Para obtener más información, consulte Claves de condición de AWS KMS para NitroTPM.