Preparar o AWS KMS para atestação - Amazon Elastic Compute Cloud

Preparar o AWS KMS para atestação

nota

Se você estiver atestando para um serviço de terceiros, deverá criar seus próprios mecanismos personalizados para receber, analisar e validar atestados. Para obter mais informações, consulte Validar um atestado do NitroTPM.

Depois de criar a AMI atestável, você deve ter as medidas de referência que pode usar para validar as solicitações de uma instância do Amazon EC2. A AWS KMS tem compatibilidade integrada com atestação com o NitroTPM.

Para a chave AWS KMS que você usou para criptografar seus dados secretos, adicione uma política de chave que permita acesso à chave somente se as solicitações de API incluírem um atestado com medidas que correspondam às medidas de referência geradas durante o processo de criação da AMI atestável. Use medidas PCR4 e PCR12 para inicialização padrão ou medidas PCR7 para inicialização segura. Isso garante que somente as solicitações de instâncias iniciadas usando a AMI atestável possam realizar operações criptográficas usando a chave AWS KMS.

O AWS KMS fornece as chaves de condição kms:RecipientAttestation:NitroTPMPCR4, kms:RecipientAttestation:NitroTPMPCR7 e kms:RecipientAttestation:NitroTPMPCR12, que permitem criar condições baseadas em atestação para políticas de chave KMS do NitroTPM. Para obter mais informações, consulte Condition keys for NitroTPM.

Por exemplo, a política de chave AWS KMS a seguir permitirá acesso à chave somente se a solicitação for originária de uma instância com o perfil de instância MyEC2InstanceRole anexado e se a solicitação incluir um atestado com valores específicos de PCR 4 e PCR 12.

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