Criptografe os resultados da consulta com AWS Key Management Service - CloudWatch Registros da Amazon

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á.

Criptografe os resultados da consulta com AWS Key Management Service

Por padrão, o CloudWatch Logs criptografa os resultados armazenados de suas consultas do CloudWatch Logs Insights usando o método padrão de criptografia do lado do servidor do CloudWatch Logs. Em vez disso, você pode optar por usar uma AWS KMS chave para criptografar esses resultados. Se você associar uma AWS KMS chave aos resultados da criptografia, o CloudWatch Logs usará essa chave para criptografar os resultados armazenados de todas as consultas na conta.

Se, posteriormente, você desassociar a chave dos resultados da consulta, o CloudWatch Logs retornará ao método de criptografia padrão para consultas posteriores. Mas as consultas executadas enquanto a chave estava associada ainda são criptografadas com essa chave. CloudWatch Os registros ainda podem retornar esses resultados após a desassociação da KMS chave, porque CloudWatch os registros ainda podem continuar referenciando a chave. No entanto, se a chave for desativada posteriormente, o CloudWatch Logs não conseguirá ler os resultados da consulta que foram criptografados com essa chave.

Importante

CloudWatch O Logs suporta somente KMS chaves simétricas. Não use uma chave assimétrica para criptografar os resultados da consulta. Para obter mais informações, consulte Usar chaves simétricas e assimétricas.

Limites

  • Para executar as etapas a seguir, é necessário ter as seguintes permissões: kms:CreateKey, kms:GetKeyPolicy e kms:PutKeyPolicy.

  • Após uma chave ser associada ou desassociada dos resultados da consulta, até cinco minutos poderão ser necessários para que a operação seja efetivada.

  • Se você revogar o acesso do CloudWatch Logs a uma chave associada ou excluir uma KMS chave associada, seus dados criptografados no CloudWatch Logs não poderão mais ser recuperados.

  • Você não pode usar o CloudWatch console para associar uma chave, você deve usar o AWS CLI ou CloudWatch LogsAPI.

Etapa 1: criar um AWS KMS key

Para criar uma KMS chave, use o seguinte comando create-key:

aws kms create-key

A saída contém o ID da chave e o Amazon Resource Name (ARN) da chave. A seguir está um exemplo de saída:

{ "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "KeyManager": "CUSTOMER", "Enabled": true, "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:123456789012:key/6f815f63-e628-448c-8251-e40cb0d29f59", "AWSAccountId": "123456789012", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

Etapa 2: definir permissões na KMS chave

Por padrão, todas KMS as chaves são privadas. Somente o proprietário do recurso pode usá-la para criptografar e descriptografar dados. No entanto, o proprietário do recurso pode conceder permissões para acessar a chave a outros usuários e recursos. Com essa etapa, você concede permissão principal ao serviço de CloudWatch registros para usar a chave. Esse principal de serviço deve estar na mesma AWS região em que a chave está armazenada.

Como prática recomendada, recomendamos que você restrinja o uso da chave somente às AWS contas que você especificar.

Primeiro, salve a política padrão para sua KMS chave policy.json usando o seguinte get-key-policycomando:

aws kms get-key-policy --key-id key-id --policy-name default --output text > ./policy.json

Abra o arquivo policy.json em um editor de texto e adicione a seção em negrito de uma das instruções a seguir. Separe a instrução existente da nova instrução com uma vírgula. Essas declarações usam Condition seções para aumentar a segurança da AWS KMS chave. Para obter mais informações, consulte Chaves do AWS KMS e contexto de criptografia.

A Condition seção neste exemplo limita o uso da AWS KMS chave para os resultados da consulta do CloudWatch Logs Insights na conta especificada.

{ "Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account_ID:root" }, "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:logs:region:account_ID:query-result:*" }, "StringEquals": { "aws:SourceAccount": "Your_account_ID" } } } ] }

Por fim, adicione a política atualizada usando o seguinte put-key-policycomando:

aws kms put-key-policy --key-id key-id --policy-name default --policy file://policy.json

Etapa 3: associar uma KMS chave aos resultados da consulta

Para associar a KMS chave aos resultados da consulta na conta

Use o comando disassociate-kms-key da seguinte forma:

aws logs associate-kms-key --resource-identifier "arn:aws:logs:region:account-id:query-result:*" --kms-key-id "key-arn"

Etapa 4: desassociar uma chave dos resultados da consulta na conta

Para desassociar a KMS chave associada aos resultados da consulta, use o seguinte disassociate-kms-keycomando:

aws logs disassociate-kms-key --resource-identifier "arn:aws:logs:region:account-id:query-result:*"