AWS KMS chaves de condição para AWS Nitro Enclaves - AWS Key Management Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS KMS chaves de condição para AWS Nitro Enclaves

AWS O Nitro Enclaves é um EC2 recurso da Amazon que permite criar ambientes computacionais isolados chamados enclaves para proteger e processar dados altamente confidenciais. AWS KMS fornece chaves de condição para apoiar os AWS Nitro Enclaves. Essas chaves de condições são efetivas somente AWS KMS para solicitações de um Nitro Enclave.

Quando você chama as GenerateRandomAPIoperações Decrypt,, DeriveSharedSecretGenerateDataKeyGenerateDataKeyPair, ou com o documento de atestado assinado de um enclave, elas APIs criptografam o texto sem formatação na resposta sob a chave pública do documento de atestado e retornam texto cifrado em vez de texto sem formatação. Esse texto cifrado pode ser descriptografado apenas usando a chave privada no enclave. Para obter mais informações, consulte Atestado criptográfico para AWS Nitro Enclaves.

As seguintes chaves de condição permitem limitar as permissões para essas operações com base no conteúdo do documento de atestado assinado. Antes de permitir uma operação, AWS KMS compara o documento de atestado do enclave com os valores nessas chaves de condição. AWS KMS

kmRecipientAttestation: 384 ImageSha

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

kms:RecipientAttestation:ImageSha384

String

Valor único

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

Políticas de chaves e políticas do IAM

A chave de kms:RecipientAttestation:ImageSha384 condição controla o acesso a DecryptDeriveSharedSecret,GenerateDataKey,GenerateDataKeyPair, e GenerateRandom com uma KMS chave quando o resumo da imagem do documento de atestado assinado na solicitação corresponde ao valor na chave de condição. O ImageSha384 valor corresponde a PCR 0 no documento de atestação. Essa chave de condição só é efetiva quando o Recipient parâmetro na solicitação especifica um documento de atestação assinado para um AWS enclave Nitro.

Esse valor também está incluído em CloudTraileventos AWS KMS para solicitações de enclaves Nitro.

Por exemplo, a declaração de política chave a seguir permite que a data-processing função use a KMS chave para Decrypt,,, DeriveSharedSecretGenerateDataKeyGenerateDataKeyPair, e operações. GenerateRandom A chave de kms:RecipientAttestation:ImageSha384 condição permite as operações somente quando o valor do resumo da imagem (PCR0) do documento de atestado na solicitação corresponde ao valor do resumo da imagem na condição. Essa chave de condição só é efetiva quando o Recipient parâmetro na solicitação especifica um documento de atestação assinado para um AWS enclave Nitro.

Se a solicitação não incluir um documento de atestação válido de um enclave AWS Nitro, a permissão será negada porque essa condição não foi satisfeita.

{ "Sid" : "Enable enclave data processing", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:role/data-processing" }, "Action": [ "kms:Decrypt", "kms:DeriveSharedSecret", "kms:GenerateDataKey", "kms:GenerateDataKeyPair", "kms:GenerateRandom" ], "Resource" : "*", "Condition": { "StringEqualsIgnoreCase": { "kms:RecipientAttestation:ImageSha384": "9fedcba8abcdef7abcdef6abcdef5abcdef4abcdef3abcdef2abcdef1abcdef1abcdef0abcdef1abcdef2abcdef3abcdef4abcdef5abcdef6abcdef7abcdef99" } } }

kmRecipientAttestation: PCR < PCR _ID>

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

kms:RecipientAttestation:PCR<PCR_ID>

String

Valor único

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

Políticas de chaves e políticas do IAM

A chave de kms:RecipientAttestation:PCR<PCR_ID> condição controla o acesso a DecryptDeriveSharedSecret,GenerateDataKey,GenerateDataKeyPair, e GenerateRandom com uma KMS chave somente quando a configuração da plataforma registra (PCRs) do documento de atestação assinado na solicitação e corresponde à PCRs chave de condição. Essa chave de condição só é efetiva quando o Recipient parâmetro na solicitação especifica um documento de atestação assinado de um enclave Nitro. AWS

Esse valor também está incluído em CloudTraileventos que representam solicitações AWS KMS para enclaves Nitro.

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

"kms:RecipientAttestation:PCRPCR_ID": "PCR_value"

Por exemplo, a chave de condição a seguir especifica um valor específico paraPCR1, que corresponde ao hash do kernel usado para o enclave e o processo de bootstrap.

kms:RecipientAttestation:PCR1: "0x1abcdef2abcdef3abcdef4abcdef5abcdef6abcdef7abcdef8abcdef9abcdef8abcdef7abcdef6abcdef5abcdef4abcdef3abcdef2abcdef1abcdef0abcde"

O exemplo de declaração de política de chaves a seguir permite que a data-processing função use a KMS chave para a operação Decrypt.

A chave de kms:RecipientAttestation:PCR condição nessa declaração permite a operação somente quando o PCR1 valor no documento de atestado assinado na solicitação corresponde ao kms:RecipientAttestation:PCR1 valor na condição. Use o operador StringEqualsIgnoreCase de política para exigir uma comparação dos valores sem distinção entre maiúsculas e minúsculas. 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 enclave data processing", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:role/data-processing" }, "Action": "kms:Decrypt", "Resource" : "*", "Condition": { "StringEqualsIgnoreCase": { "kms:RecipientAttestation:PCR1": "0x1de4f2dcf774f6e3b679f62e5f120065b2e408dcea327bd1c9dddaea6664e7af7935581474844767453082c6f1586116376cede396a30a39a611b9aad7966c87" } } }