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 de PCR4 ou PCR7 que correspondam às medidas de referência geradas durante o processo de criação da AMI atestável. 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:PCR4 e kms:RecipientAttestation:PCR7 que permitem criar condições baseadas em atestação para as políticas de chave do KMS. Para obter mais informações, consulte AWS KMS condition keys for AWS Nitro Enclaves and 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 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 obter mais informações, consulte AWS KMS condition keys for NitroTPM.