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 recurso do Amazon EC2 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 operações Decrypt,, DeriveSharedSecretGenerateDataKeyGenerateDataKeyPair, ou GenerateRandomAPI com o documento de atestado assinado de um enclave, essas APIs criptografam o texto simples 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 ter mais informações, consulte Como o AWS Nitro Enclaves usa AWS KMS.

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 de 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 chave KMS quando o resumo da imagem do documento de atestado assinado na solicitação corresponde ao valor na chave de condição. O valor ImageSha384 corresponde a PCR0 no documento de atestado. 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.

nota

Essa chave de condição é válida em declarações de políticas de chaves e declarações de políticas do IAM, mesmo que não apareça no console do IAM ou na Referência de autorização de serviço do IAM.

Por exemplo, a declaração de política chave a seguir permite que a data-processing função use a chave KMS para descriptografar,, DeriveSharedSecretGenerateDataKey, GenerateDataKeyPaire operações. GenerateRandom A chave de condição kms:RecipientAttestation:ImageSha384 permite as operações somente quando o valor de resumo da imagem (PCR0) do documento de atestado na solicitação corresponde ao valor de 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" } } }

km:: PCR RecipientAttestation <PCR_ID>

AWS KMS Chaves de condição Tipo de condição Tipo de valor Operações de 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 aDecrypt,DeriveSharedSecret, GenerateDataKeyGenerateDataKeyPair, e GenerateRandom com uma chave KMS somente quando os registros de configuração da plataforma (PCRs) do documento de atestado assinado na solicitação coincidem com os PCRs na 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.

nota

Essa chave de condição é válida em declarações de políticas de chaves e declarações de políticas do IAM, mesmo que não apareça no console do IAM ou na Referência de autorização de serviço do IAM.

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:PCRPCR_ID": "PCR_value"

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

kms:RecipientAttestation:PCR1: "0x1abcdef2abcdef3abcdef4abcdef5abcdef6abcdef7abcdef8abcdef9abcdef8abcdef7abcdef6abcdef5abcdef4abcdef3abcdef2abcdef1abcdef0abcde"

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:PCR nessa instrução permite a operação somente quando o valor PCR1 no documento de atestado assinado na solicitação corresponde ao valor kms:RecipientAttestation:PCR1 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 enclave data processing", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:role/data-processing" }, "Action": "kms:Decrypt", "Resource" : "*", "Condition": { "StringEqualsIgnoreCase": { "kms:RecipientAttestation:PCR1": "0x1de4f2dcf774f6e3b679f62e5f120065b2e408dcea327bd1c9dddaea6664e7af7935581474844767453082c6f1586116376cede396a30a39a611b9aad7966c87" } } }