Como AWS CloudTrail usa AWS KMS - AWS CloudTrail

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 AWS CloudTrail usa AWS KMS

Esta seção descreve como AWS KMS funciona com uma CloudTrail trilha criptografada com uma KMS chave SSE -.

Importante

AWS CloudTrail e o Amazon S3 oferecem suporte somente para sistemas simétricos. AWS KMS keys Você não pode usar uma KMSchave assimétrica para criptografar seus registros. CloudTrail Para obter ajuda para determinar se uma KMS chave é simétrica ou assimétrica, consulte Identificar diferentes tipos de chave no Guia do AWS Key Management Service desenvolvedor.

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

Entendendo quando sua KMS chave é usada para sua trilha

Criptografar arquivos de CloudTrail log com AWS KMS versões do recurso Amazon S3 chamado criptografia do lado do servidor com um (-). AWS KMS key SSE KMS Para saber mais sobre SSE -KMS, consulte Uso da criptografia do lado do servidor com AWS KMS chaves (SSE-KMS) no Guia do usuário do Amazon Simple Storage Service.

Quando você configura AWS CloudTrail para usar SSE - KMS para criptografar seus arquivos de log, CloudTrail e o Amazon S3 usa AWS KMS keys seus quando você executa determinadas ações com esses serviços. As seções a seguir explicam quando e como esses serviços podem usar sua KMS chave e fornecem informações adicionais que você pode usar para 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 KMS chave, CloudTrail envia uma GenerateDataKeysolicitação AWS KMS para verificar se a KMS chave 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:

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 foi CloudTrail chamada de AWS KMS GenerateDataKey operação para uma trilha específica. AWS KMS criou a chave de dados sob uma KMS chave 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" }

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, AWS KMS gera uma chave de dados exclusiva e, em seguida, envia ao Amazon S3 duas cópias da chave de dados, uma em texto simples e outra criptografada com a chave especificada. KMS 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 ela CloudTrail chamou a AWS KMS GenerateDataKey operação de uma trilha específica para proteger um arquivo de log específico. AWS KMS criou a chave de dados sob a KMS chave especificada, mostrada duas vezes na mesma entrada de registro.

{ "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 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, AWS KMS usa sua KMS chave para descriptografar a chave de dados e, em seguida, envia a chave de dados em 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 ver uma entrada de registro como essa, você pode determinar que uma função assumida é chamada de AWS KMS Decrypt operação para uma trilha específica e um arquivo de log específico. AWS KMS descriptografou a chave de dados em uma chave específica. KMS

{ "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" }