Criptografe um detector de anomalias e seus resultados com AWS KMS - 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 um detector de anomalias e seus resultados com AWS KMS

Os dados do detector de anomalias são sempre criptografados nos CloudWatch registros. Por padrão, o CloudWatch Logs usa criptografia do lado do servidor para os dados em repouso. Como alternativa, você pode usar o AWS Key Management Service para essa criptografia. Se você fizer isso, a criptografia será feita usando uma AWS KMS chave. AWS KMS O uso da criptografia é ativado no nível do detector de anomalias, associando uma KMS chave a um detector de anomalias.

Importante

CloudWatch O Logs suporta somente KMS chaves simétricas. Não use uma chave assimétrica para criptografar os dados em seus grupos de logs. 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.

  • Depois que você associa ou desassocia uma chave de um detector de anomalias, a operação pode levar até cinco minutos para ter efeito.

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

Etapa 1: criar uma AWS KMS chave

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": "key-default-1", "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/key-default-1", "AWSAccountId": "123456789012", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

Etapa 2: definir permissões na KMS chave

Por padrão, todas AWS 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 KMS chave para 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 KMS chave está armazenada.

Como prática recomendada, recomendamos que você restrinja o uso da KMS chave somente às AWS contas ou detectores de anomalias 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 AWS KMS chaves e contexto de criptografia.

A seção Condition deste exemplo limita o uso da chave do AWS KMS à conta especificada, mas ela pode ser usada para qualquer detector de anomalias.

{ "Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Your_account_ID:root" }, "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Principal": { "Service": "logs.REGION.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:REGION:Your_account_ID:anomaly-detector:*" } } }, { "Effect": "Allow", "Principal": { "Service": "logs.REGION.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws-crypto-ec:aws:logs:arn": "arn:aws:logs:REGION:Your_account_ID:anomaly-detector:*" } } } ] }

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 a um detector de anomalias

Você pode associar uma KMS chave a um detector de anomalias ao criá-la no console ou usando o AWS CLI ouAPIs.

Etapa 4: desassociar uma chave de um detector de anomalias

Depois que uma chave é associada a um detector de anomalias, você não pode mais atualizá-la. A única maneira de remover a chave é excluir o detector de anomalias e, em seguida, recriá-lo.