Como o AWS CloudTrail usa o AWS KMS - 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á.

Como o AWS CloudTrail usa o AWS KMS

É possível usar o AWS CloudTrail para registrar chamadas à API da AWS e outras atividades da sua Conta da AWS e salvar as informações registradas nos arquivos de log em um bucket do Amazon Simple Storage Service (Amazon S3) de sua escolha. Por padrão, os arquivos de log colocados em seu bucket CloudTrail do S3 são criptografados usando criptografia do lado do servidor com chaves de criptografia gerenciadas pelo Amazon S3 (SSE-S3). Mas você pode optar por usar a criptografia do lado do servidor com uma chave do KMS (SSE-KMS). Para saber como criptografar seus arquivos de CloudTrail log comAWS KMS, consulte Criptografando arquivos de CloudTrail log com AWS KMS keys (SSE-KMS) no Guia do usuário. AWS CloudTrail

Importante

O AWS CloudTrail e o Amazon S3 só oferece suporte a AWS KMS keys simétricas. Você não pode usar uma chave KMS assimétrica para criptografar seus registros. CloudTrail Para obter ajuda para determinar se uma chave do KMS é simétrica ou assimétrica, consulte Identificar chaves do KMS assimétricas.

Você não paga uma taxa de uso da chave ao CloudTrail ler ou gravar arquivos de log criptografados com uma chave SSE-KMS. No entanto, você paga uma taxa de uso da chave ao acessar arquivos de CloudTrail log criptografados com uma chave SSE-KMS. Para obter mais informações sobre a definição de preço do AWS KMS, consulte Definição de preço do AWS Key Management Service. Para obter informações sobre CloudTrail preços, consulte AWS CloudTrailpreços e gerenciamento de custos no Guia AWS CloudTrail do usuário.

Entender quando sua chave do KMS é usada

Criptografar arquivos de CloudTrail log com AWS KMS versões do recurso Amazon S3 chamado criptografia do lado do servidor com um (SSE-KMS). AWS KMS key Para saber mais sobre o SSE-KMS, consulte Como o Amazon Simple Storage Service (Amazon S3) usa o AWS KMS neste guia ou Proteção de dados usando a criptografia no lado do servidor com chaves gerenciadas pelo KMS (SSE-KMS) no Guia do usuário do Amazon Simple Storage Service.

Quando você configura AWS CloudTrail para usar o SSE-KMS para criptografar seus arquivos de log, e o Amazon CloudTrail S3 os usa AWS KMS keys quando você executa determinadas ações com esses serviços. As seções a seguir explicam quando e como esses serviços podem usar a chave do KMS e fornecem informações adicionais que podem validar essa explicação.

Você configura CloudTrail para criptografar arquivos de log com seu AWS KMS key

Quando você atualiza sua CloudTrail configuração para usar sua chave KMS, CloudTrail envia uma GenerateDataKeysolicitação AWS KMS para verificar se a chave KMS existe e se CloudTrail tem permissão para usá-la para criptografia. CloudTrail não usa a chave de dados resultante.

A solicitação GenerateDataKey inclui as seguintes informações para o contexto de criptografia:

  • O Amazon Resource Name (ARN) da trilha CloudTrail

  • O ARN do bucket do S3 e o caminho em que os arquivos de CloudTrail log são entregues

A GenerateDataKey solicitação resulta em uma entrada em seus CloudTrail registros semelhante ao exemplo a seguir. Ao ver uma entrada de registro como essa, você pode determinar que CloudTrail ( ) chamou a GenerateDataKey operação AWS KMS ( ) ( ) para uma trilha específica ( ). AWS KMScriou a chave de dados em uma chave KMS específica ( ).

nota

Talvez você precise rolar para a direita para ver algumas das legendas no seguinte exemplo de entrada de log.

{ "eventVersion": "1.02", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::086441151436:user/AWSCloudTrail", "accountId": "086441151436", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "userName": "AWSCloudTrail", "sessionContext": {"attributes": { "mfaAuthenticated": "false", "creationDate": "2015-11-11T21:15:33Z" }}, "invokedBy": "internal.amazonaws.com" }, "eventTime": "2015-11-11T21:15:33Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:alias/ExampleAliasForCloudTrailKMS key", "encryptionContext": { "aws:cloudtrail:arn": "arn:aws:cloudtrail:us-west-2:111122223333:trail/Default", "aws:s3:arn": "arn:aws:s3:::example-bucket-for-CT-logs/AWSLogs/111122223333/" }, "keySpec": "AES_256" }, "responseElements": null, "requestID": "581f1f11-88b9-11e5-9c9c-595a1fb59ac0", "eventID": "3cdb2457-c035-4890-93b6-181832b9e766", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsServiceEvent", "recipientAccountId": "111122223333" }

CloudTrail coloca um arquivo de log em seu bucket do S3

Cada vez que CloudTrail coloca um arquivo de log em seu bucket do S3, o Amazon S3 envia GenerateDataKeyuma solicitação em nome AWS KMS de. CloudTrail Em resposta a essa solicitação, o AWS KMS gera uma chave de dados exclusiva e envia ao Amazon S3 duas cópias da chave de dados, uma em texto simples e uma criptografada com a chave do KMS especificada. O Amazon S3 usa a chave de dados de texto simples para criptografar o arquivo de CloudTrail log e, em seguida, remove a chave de dados de texto simples da memória assim que possível após o uso. O Amazon S3 armazena a chave de dados criptografada como metadados com o arquivo de log criptografado CloudTrail .

A solicitação GenerateDataKey inclui as seguintes informações para o contexto de criptografia:

Cada GenerateDataKey solicitação resulta em uma entrada em seus CloudTrail registros semelhante ao exemplo a seguir. Ao ver uma entrada de registro como essa, você pode determinar que CloudTrail ( ) chamou a GenerateDataKey operação AWS KMS ( ) para uma trilha específica ( ) para proteger um arquivo de log específico ( ). AWS KMScriou a chave de dados sob a chave KMS especificada ( ), mostrada duas vezes na mesma entrada de registro.

nota

Talvez você precise rolar para a direita para ver algumas das legendas no seguinte exemplo de entrada de log.

{ "eventVersion": "1.02", "userIdentity": { "type": "AssumedRole", "principalId": "AROACKCEVSQ6C2EXAMPLE:i-34755b85", "arn": "arn:aws:sts::086441151436:assumed-role/AWSCloudTrail/i-34755b85", "accountId": "086441151436", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2015-11-11T20:45:25Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::086441151436:role/AWSCloudTrail", "accountId": "086441151436", "userName": "AWSCloudTrail" } }, "invokedBy": "internal.amazonaws.com" }, "eventTime": "2015-11-11T21:15:58Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:cloudtrail:arn": "arn:aws:cloudtrail:us-west-2:111122223333:trail/Default", "aws:s3:arn": "arn:aws:s3:::example-bucket-for-CT-logs/AWSLogs/111122223333/CloudTrail/us-west-2/2015/11/11/111122223333_CloudTrail_us-west-2_20151111T2115Z_7JREEBimdK8d2nC9.json.gz" }, "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "keySpec": "AES_256" }, "responseElements": null, "requestID": "66f3f74a-88b9-11e5-b7fb-63d925c72ffe", "eventID": "7738554f-92ab-4e27-83e3-03354b1aa898", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsServiceEvent", "recipientAccountId": "111122223333" }

Um arquivo de log criptografado é recebido do seu bucket do S3

Cada vez que você recebe um arquivo de CloudTrail log criptografado do seu bucket do S3, o Amazon S3 envia Decryptuma solicitação em seu nome AWS KMS para descriptografar a chave de dados criptografada do arquivo de log. Em resposta a essa solicitação, o AWS KMS usa sua chave do KMS para descriptografar a chave de dados e depois envia a chave de dados de texto simples para o Amazon S3. O Amazon S3 usa a chave de dados de texto simples para descriptografar o arquivo de CloudTrail log e, em seguida, remove a chave de dados de texto sem formatação da memória assim que possível após o uso.

A solicitação Decrypt inclui as seguintes informações para o contexto de criptografia:

Cada Decrypt solicitação resulta em uma entrada em seus CloudTrail registros semelhante ao exemplo a seguir. Ao obter uma entrada de log como esta, você pode determinar que um usuário em sua Conta da AWS ( ) chamou a operação Decrypt ( ) do AWS KMS ( ) para uma trilha específica ( ) e um arquivo de log específico ( ). O AWS KMS descriptografou a chave de dados em uma chave do KMS específica ( ).

nota

Talvez você precise rolar para a direita para ver algumas das legendas no seguinte exemplo de entrada de log.

{ "eventVersion": "1.02", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/cloudtrail-admin", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "cloudtrail-admin", "sessionContext": {"attributes": { "mfaAuthenticated": "false", "creationDate": "2015-11-11T20:48:04Z" }}, "invokedBy": "signin.amazonaws.com" }, "eventTime": "2015-11-11T21:20:52Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:cloudtrail:arn": "arn:aws:cloudtrail:us-west-2:111122223333:trail/Default", "aws:s3:arn": "arn:aws:s3:::example-bucket-for-CT-logs/AWSLogs/111122223333/CloudTrail/us-west-2/2015/11/11/111122223333_CloudTrail_us-west-2_20151111T2115Z_7JREEBimdK8d2nC9.json.gz" } }, "responseElements": null, "requestID": "16a0590a-88ba-11e5-b406-436f15c3ac01", "eventID": "9525bee7-5145-42b0-bed5-ab7196a16daa", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }