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
Esta seção descreve como o AWS KMS funciona com uma trilha do CloudTrail criptografada com uma chave do SSE-KMS.
Importante
O AWS CloudTrail e o Amazon S3 só oferece suporte a AWS KMS keys simétricas. Não é possível usar uma chave do KMS assimétrica para criptografar logs do CloudTrail. Para obter ajuda para determinar se uma chave do KMS é simétrica ou assimétrica, consulte Identificar tipos de chaves diferentes no Guia do desenvolvedor do AWS Key Management Service.
Você não paga uma cobrança por uso de chave quando o CloudTrail lê ou grava arquivos de log criptografados com uma chave SSE-KMS. No entanto, você paga uma taxa de uso de chave ao acessar arquivos de log do CloudTrail 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
Entender quando a chave do KMS é usada para a trilha
A criptografia dos arquivos de log do CloudTrail com o AWS KMS baseia-se no recurso do Amazon S3 chamado criptografia no lado do servidor uma AWS KMS key (SSE-KMS). Para saber mais sobre o SSE-KMS, consulte Usar criptografia do lado do servidor com chaves do AWS KMS (SSE-KMS) no Guia do usuário do Amazon Simple Storage Service.
Ao configurar o AWS CloudTrail para usar o SSE-KMS para criptografar seus arquivos de log, o CloudTrail e o Amazon S3 usam suas 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.
Ações que fazem com que o CloudTrail e o Amazon S3 usem sua chave do KMS
Configurar o CloudTrail para criptografar arquivos de log com o AWS KMS key
Ao atualizar a configuração do CloudTrail para usar a chave do KMS, o CloudTrail envia uma solicitação GenerateDataKey ao AWS KMS para verificar se a chave do KMS existe e se o CloudTrail tem permissão para usá-la para criptografia. O 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 do CloudTrail
-
O ARN do bucket do S3 e o caminho onde são entregues os arquivos de log do CloudTrail
A solicitação GenerateDataKey resulta em uma entrada em seus logs do CloudTrail semelhante ao exemplo a seguir. Ao ver uma entrada de log como essa, é possível determinar que o CloudTrail chamou a operação GenerateDataKey do AWS KMS para uma trilha específica. O AWS KMS criou a chave de dados em uma chave do KMS específica.
{ "eventVersion": "1.09", "userIdentity": { "type": "AWSService", "invokedBy": "cloudtrail.amazonaws.com" }, "eventTime": "2024-12-06T20:14:46Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-east-1", "sourceIPAddress": "cloudtrail.amazonaws.com", "userAgent": "cloudtrail.amazonaws.com", "requestParameters": { "keySpec": "AES_256", "keyId": "arn:aws:kms:us-east-1:123456789012:key/example1-6736-4661-bf00-exampleeb770", "encryptionContext": { "aws:cloudtrail:arn": "arn:aws:cloudtrail:us-east-1:123456789012:trail/management-events", "aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-logging-bucket-123456789012-9af1fb49/AWSLogs/123456789012/CloudTrail/us-east-1/2024/12/06/123456789012_CloudTrail_us-east-1_20241206T2010Z_TO50OLMG1hIQ1png.json.gz" } }, "responseElements": null, "requestID": "a0555e85-7e8a-4765-bd8f-2222295558e1", "eventID": "e4f3557e-7dbd-4e37-a00a-d86c137d1111", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:123456789012:key/example1-6736-4661-bf00-exampleeb770" }], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "sharedEventID": "ce71d6be-0846-498e-851f-111a1af9078f", "eventCategory": "Management" }
O CloudTrail coloca um arquivo de log no seu bucket do S3
Todaa as vezes que o CloudTrail coloca um arquivo de log no seu bucket do S3, o Amazon S3 envia uma solicitação GenerateDataKey ao AWS KMS em nome do 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 em texto simples para criptografar o arquivo de log do CloudTrail e remove essa chave de dados em tempo simples da memória imediatamente logo após o uso. O Amazon S3 armazena a chave de dados criptografada como metadados com o arquivo de log criptografado do CloudTrail.
A solicitação GenerateDataKey inclui as seguintes informações para o contexto de criptografia:
-
O Amazon Resource Name (ARN) da trilha do CloudTrail
-
O ARN do objeto do S3 (o arquivo de log do CloudTrail)
Cada solicitação GenerateDataKey resulta em uma entrada em seus logs do CloudTrail semelhante ao exemplo a seguir. Ao ver uma entrada de log como essa, é possível determinar que o CloudTrail chamou a operação GenerateDataKey do AWS KMS para uma trilha específica para proteger um arquivo de log específico. O AWS KMS criou a chave de dados em uma chave do KMS específica.
{ "eventVersion": "1.09", "userIdentity": { "type": "AWSService", "invokedBy": "cloudtrail.amazonaws.com" }, "eventTime": "2024-12-06T21:49:28Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-east-1", "sourceIPAddress": "cloudtrail.amazonaws.com", "userAgent": "cloudtrail.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:cloudtrail:arn": "arn:aws:cloudtrail:us-east-1::trail/insights-trail", "aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-logging-bucket1-123456789012-7867ab0c/AWSLogs/123456789012/CloudTrail/us-east-1/2024/12/06/123456789012_CloudTrail_us-east-1_20241206T2150Z_hVXmrJzjZk2wAM2V.json.gz" }, "keySpec": "AES_256", "keyId": "arn:aws:kms:us-east-1:123456789012:key/example9-16ef-48ba-9163-example67a5a" }, "responseElements": null, "requestID": "11117d14-9232-414a-b3d1-01bab4dc9f99", "eventID": "999e9a50-512c-4e2a-84a3-111a5f511111", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:123456789012:key/example9-16ef-48ba-9163-example67a5a" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "sharedEventID": "5e663acc-b7fd-4cdd-8328-0eff862952fa", "eventCategory": "Management" }
Um arquivo de log criptografado é recebido do seu bucket do S3
Cada vez que você recebe um arquivo de log do CloudTrail criptografado do seu bucket do S3, o Amazon S3 envia uma solicitação Decrypt ao AWS KMS em seu nome 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 em texto simples para descriptografar o arquivo de log do CloudTrail e remove essa chave de dados em tempo simples da memória imediatamente logo após o uso.
A solicitação Decrypt inclui as seguintes informações para o contexto de criptografia:
-
O Amazon Resource Name (ARN) da trilha do CloudTrail
-
O ARN do objeto do S3 (o arquivo de log do CloudTrail)
Cada solicitação Decrypt resulta em uma entrada em seus logs do CloudTrail semelhante ao exemplo a seguir. Ao ver uma entrada de log como essa, é possível determinar que o um perfil assumido chamou a operação Decrypt do AWS KMS para uma trilha específica e um arquivo de log específico. O AWS KMS criou a chave de dados em uma chave do KMS específica.
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:sts::123456789012:assumed-role/Admin", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::123456789012:role/Admin", "accountId": "123456789012", "userName": "Admin" }, "attributes": { "creationDate": "2024-12-06T22:04:04Z", "mfaAuthenticated": "false" } }, "invokedBy": "AWS Internal" }, "eventTime": "2024-12-06T22:26:34Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": { "encryptionContext": { "aws:cloudtrail:arn": "arn:aws:cloudtrail:us-east-1:123456789012:trail/insights-trail", "aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-logging-bucket1-123456789012-7867ab0c/AWSLogs/123456789012/CloudTrail/us-east-1/2024/12/06/123456789012_CloudTrail_us-east-1_20241206T0000Z_aAAsHbGBdye3jp2R.json.gz" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "1ab2d2d2-111a-2222-a59b-11a2b3832b53", "eventID": "af4d4074-2849-4b3d-1a11-a1aaa111a111", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:123456789012:key/example9-16ef-48ba-9163-example67a5a" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "sessionCredentialFromConsole": "true" }