Chaves de condição para o NitroTPM - AWS Key Management Service

Chaves de condição para o NitroTPM

As seguintes chaves de condição são específicas da atestação do NitroTPM:

kms:RecipientAttestation:NitroTPMPCR<PCR_ID>

AWS KMSChaves de condição do Tipo de condição Tipo de valor Operações de API Tipo de política

kms:RecipientAttestation:NitroTPMPCR<PCR_ID>

String

Valor único

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

Políticas de chaves e políticas do IAM

A chave de condição kms:RecipientAttestation:NitroTPMPCR<PCR_ID> controla o acesso a Decrypt, DeriveSharedSecret, GenerateDataKey, GenerateDataKeyPair e GenerateRandom somente com uma chave do KMS quando os registros de configuração de plataforma (PCRs) do documento de atestado assinado na solicitação correspondem aos PCRs na chave de condição. Essa chave de condição tem efeito somente quando o parâmetro Recipient da solicitação especifica um atestado assinado do NitroTPM.

Esse valor também está incluído nos eventos do CloudTrail que representam solicitações do AWS KMS para NitroTPM.

Para especificar um valor de PCR, use o seguinte formato. Concatene o ID do PCR com o nome da chave da condição. O valor so PCR deve ser uma string hexadecimal minúscula de até 96 bytes.

"kms:RecipientAttestation:NitroTPMPCRPCR_ID": "PCR_value"

Por exemplo, a seguinte chave de condição especifica um determinado valor para PCR4:

kms:RecipientAttestation:NitroTPMPCR4: "abc1abcdef2abcdef3abcdef4abcdef5abcdef6abcdef7abcdef8abcdef9abcdef8abcdef7abcdef6abcdef5abcdef4abcdef3abcdef2abcdef1abcdef0abcde"

Por exemplo, a instrução de política de chave a seguir permite que a função data-processing use a chave do KMS para a operação Decrypt.

A chave de condição kms:RecipientAttestation:NitroTPMPCR nessa instrução permite a operação somente quando o valor PCR4 no documento de atestado assinado na solicitação corresponde ao valor kms:RecipientAttestation:NitroTPMPCR4 na condição. Use a política aStringEqualsIgnoreCase para exigir uma comparação sem distinção entre maiúsculas e minúsculas dos valores de PCR.

Se a solicitação não incluir um documento de atestado, a permissão será negada porque essa condição não foi atendida.

{ "Sid" : "Enable NitroTPM data processing", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:role/data-processing" }, "Action": "kms:Decrypt", "Resource" : "*", "Condition": { "StringEqualsIgnoreCase": { "kms:RecipientAttestation:NitroTPMPCR4": "abc1de4f2dcf774f6e3b679f62e5f120065b2e408dcea327bd1c9dddaea6664e7af7935581474844767453082c6f1586116376cede396a30a39a611b9aad7966c87" } } }