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:NitroTPMPCR4 e kms:RecipientAttestation:NitroTPMPCR7, 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 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:NitroTPMPCR4":"EXAMPLE6b9b3d89a53b13f5dfd14a1049ec0b80a9ae4b159adde479e9f7f512f33e835a0b9023ca51ada02160EXAMPLE", "kms:RecipientAttestation:NitroTPMPCR7":"EXAMPLE34a884328944cd806127c7784677ab60a154249fd21546a217299ccfa1ebfe4fa96a163bf41d3bcfaeEXAMPLE" } } } ] }