Determinar a utilização anterior de uma chave do KMS
Antes de excluir uma chave do KMS, convém saber como muitos textos cifrados foram criptografados com ela. O AWS KMS não armazena essas informações nem qualquer um dos textos cifrados. Saber como uma chave do KMS foi utilizada no passado pode ajudar você a decidir se ela será ou não necessária no futuro. Este tópico sugere várias estratégias que podem ajudar você a determinar o uso anterior de uma chave do KMS.
Atenção
Essas estratégias para determinar o uso passado e atual têm efeito somente para usuários da AWS e operações do AWS KMS. Elas não podem detectar o uso da chave pública de uma chave do KMS assimétrica fora do AWS KMS. Para obter detalhes sobre os riscos especiais de exclusão de chaves do KMS assimétricas usadas para a criptografia de chave pública, incluindo a criação de textos cifrados que não podem ser descriptografados, consulte Deleting asymmetric KMS keys.
Tópicos
Examinar as permissões da chave do KMS para determinar o escopo da utilização em potencial
Determinar quem ou o quê tem acesso no momento a uma chave do KMS pode ajudar a determinar o quão amplamente ela foi usada e se ainda é necessária. Para saber como determinar quem ou o quê tem acesso no momento a uma chave do KMS, acesse Determinar acesso a AWS KMS keys.
Examinar os logs do AWS CloudTrail para determinar a utilização efetiva
Talvez seja possível usar o histórico de uso de uma chave do KMS para ajudar a determinar se você tem textos cifrados em uma chave do KMS específica.
Toda a atividade da API do AWS KMS é registrada em arquivos de log do AWS CloudTrail. Se você tiver criado uma trilha do CloudTrail na região em que a chave do KMS está localizada, poderá examinar seus arquivos de log do CloudTrail para visualizar um histórico de todas as atividades da API do AWS KMS para uma determinada chave do KMS. Se não tiver uma trilha, você ainda poderá ver eventos recentes no seu histórico de eventos do CloudTrail. Para obter detalhes sobre como o AWS KMS usa o CloudTrail, consulte Registrar em log chamadas de API do AWS KMS com o AWS CloudTrail.
Os exemplos a seguir mostram entradas de log do CloudTrail que são geradas quando uma chave do KMS é usada para proteger um objeto armazenado no Amazon Simple Storage Service (Amazon S3). Neste exemplo, o objeto é carregado no Amazon S3 usando Proteção de dados usando criptografia no lado do servidor com chaves do KMS (SSE-KMS). Ao carregar um objeto no Amazon S3 com SSE-KMS, você especifica a chave do KMS a ser usada para proteger esse objeto. O Amazon S3 usa a operação GenerateDataKey do AWS KMS para solicitar uma chave de dados exclusiva para o objeto, e esse evento de solicitação é registrado no CloudTrail com uma entrada semelhante à seguinte:
{ "eventVersion": "1.02", "userIdentity": { "type": "AssumedRole", "principalId": "AROACKCEVSQ6C2EXAMPLE:example-user", "arn": "arn:aws:sts::111122223333:assumed-role/Admins/example-user", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2015-09-10T23:12:48Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admins", "accountId": "111122223333", "userName": "Admins" } }, "invokedBy": "internal.amazonaws.com" }, "eventTime": "2015-09-10T23:58:18Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "encryptionContext": {"aws:s3:arn": "arn:aws:s3:::example_bucket/example_object"}, "keySpec": "AES_256", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "responseElements": null, "requestID": "cea04450-5817-11e5-85aa-97ce46071236", "eventID": "80721262-21a5-49b9-8b63-28740e7ce9c9", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }
Mais tarde, quando você baixar esse objeto do Amazon S3, o Amazon S3 enviará uma solicitação Decrypt ao AWS KMS para descriptografar a chave de dados do objeto usando a chave do KMS especificada. Quando você fizer isso, seus arquivos de log do CloudTrail incluirão uma entrada semelhante à seguinte:
{ "eventVersion": "1.02", "userIdentity": { "type": "AssumedRole", "principalId": "AROACKCEVSQ6C2EXAMPLE:example-user", "arn": "arn:aws:sts::111122223333:assumed-role/Admins/example-user", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2015-09-10T23:12:48Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admins", "accountId": "111122223333", "userName": "Admins" } }, "invokedBy": "internal.amazonaws.com" }, "eventTime": "2015-09-10T23:58:39Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "encryptionContext": {"aws:s3:arn": "arn:aws:s3:::example_bucket/example_object"}}, "responseElements": null, "requestID": "db750745-5817-11e5-93a6-5b87e27d91a0", "eventID": "ae551b19-8a09-4cfc-a249-205ddba330e3", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }
Todas as atividades de API do AWS KMS são registradas pelo CloudTrail. Ao avaliar essas entradas de log, talvez você possa determinar a utilização anterior de uma chave do KMS específica, e isso pode ajudar a determinar se você deseja ou não excluí-la.
Para ver mais exemplos de como as atividades da API do AWS KMS aparecem nos seus arquivos de log do CloudTrail, acesse Registrar em log chamadas de API do AWS KMS com o AWS CloudTrail. Para obter mais informações sobre o CloudTrail, acesse o Manual do usuário do AWS CloudTrail.