CloudTrail estrutura do arquivo digest - 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á.

CloudTrail estrutura do arquivo digest

Cada arquivo de resumo contém os nomes dos arquivos de log que foram fornecidos ao seu bucket do Amazon S3 durante a última hora, os valores de hash desses arquivos de log e a assinatura digital do arquivo de resumo anterior. A assinatura do arquivo de resumo atual está armazenada nas propriedades de metadados do objeto do arquivo de resumo. As assinaturas digitais e os hashes são usados para validar a integridade dos arquivos de log e do próprio arquivo de resumo.

Local do arquivo de resumo

Os arquivos de resumo são fornecidos ao local de um bucket do Amazon S3 que segue essa sintaxe.

s3://amzn-s3-demo-bucket/optional-prefix/AWSLogs/aws-account-id/CloudTrail-Digest/ region/digest-end-year/digest-end-month/digest-end-date/ aws-account-id_CloudTrail-Digest_region_trail-name_region_digest_end_timestamp.json.gz
nota

Para trilhas de organização, o local do bucket também inclui o ID da unidade organizacional, da seguinte forma:

s3://amzn-s3-demo-bucket/optional-prefix/AWSLogs/O-ID/aws-account-id/CloudTrail-Digest/ region/digest-end-year/digest-end-month/digest-end-date/ aws-account-id_CloudTrail-Digest_region_trail-name_region_digest_end_timestamp.json.gz

Amostra de conteúdo dos arquivos de resumo

O exemplo de arquivo de resumo a seguir contém informações para um CloudTrail log.

{ "awsAccountId": "111122223333", "digestStartTime": "2015-08-17T14:01:31Z", "digestEndTime": "2015-08-17T15:01:31Z", "digestS3Bucket": "amzn-s3-demo-bucket", "digestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/17/111122223333_CloudTrail-Digest_us-east-2_your-trail-name_us-east-2_20150817T150131Z.json.gz", "digestPublicKeyFingerprint": "31e8b5433410dfb61a9dc45cc65b22ff", "digestSignatureAlgorithm": "SHA256withRSA", "newestEventTime": "2015-08-17T14:52:27Z", "oldestEventTime": "2015-08-17T14:42:27Z", "previousDigestS3Bucket": "amzn-s3-demo-bucket", "previousDigestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/17/111122223333_CloudTrail-Digest_us-east-2_your-trail-name_us-east-2_20150817T140131Z.json.gz", "previousDigestHashValue": "97fb791cf91ffc440d274f8190dbdd9aa09c34432aba82739df18b6d3c13df2d", "previousDigestHashAlgorithm": "SHA-256", "previousDigestSignature": "50887ccffad4c002b97caa37cc9dc626e3c680207d41d27fa5835458e066e0d3652fc4dfc30937e4d5f4cc7f796e7a258fb50a43ac427f2237f6e505d4efaf373d156e15e3b68dea9f58111d395b62628d6bd367a9024d2183b5c5f6e19466d3a996b92df705bc997b8a0e13430f241d733cf95df4e41bb6c304c3f58363043572ea57a27085639ce187e679c0d81c7519b1184fa77fb7ab0b0e40a32dace6e1eefc3995c5ae182da49b62b26398cebb52a2201a6387b75b89c83e5570bcb9bba6c34a80f2f00a1c6ebe07d1ff149eccd812dc805bb3eeff6657db32a6cb48d2d096404eb76181877bc6ebb8cd0b23f823200155b2fd8848d428e46e8456328a", "logFiles": [ { "s3Bucket": "amzn-s3-demo-bucket", "s3Object": "AWSLogs/111122223333/CloudTrail/us-east-2/2015/08/17/111122223333_CloudTrail_us-east-2_20150817T1445Z_9nYN7gp2eWAJHIfT.json.gz", "hashValue": "9bb6196fc6b84d6f075a56548feca262bd99ba3c2de41b618e5b6e22c1fc71f6", "hashAlgorithm": "SHA-256", "newestEventTime": "2015-08-17T14:52:27Z", "oldestEventTime": "2015-08-17T14:42:27Z" } ] }

Descrições dos campos dos arquivos de resumo

Veja a seguir descrições de cada campo no arquivo de resumo:

awsAccountId

O ID da AWS conta para a qual o arquivo de resumo foi entregue.

digestStartTime

O intervalo de UTC tempo inicial que o arquivo de resumo cobre, tomando como referência o horário em que os arquivos de log foram CloudTrail entregues. Isso significa que, se o período é [Ta, TB], o arquivo de resumo conterá todos os arquivos de log fornecidos ao cliente entre Ta e TB.

digestEndTime

O intervalo de UTC tempo final que o arquivo de resumo cobre, tomando como referência o horário em que os arquivos de log foram CloudTrail entregues. Isso significa que, se o período é [Ta, TB], o arquivo de resumo conterá todos os arquivos de log fornecidos ao cliente entre Ta e TB.

digestS3Bucket

O nome do bucket do Amazon S3 ao qual o arquivo de resumo atual foi fornecido.

digestS3Object

A chave do objeto do Amazon S3 (ou seja, o local do bucket do Amazon S3) do arquivo de resumo atual. As duas primeiras regiões na string mostram a região da qual o arquivo de resumo foi fornecido. A última região (após your-trail-name) é a região de origem da trilha. A região de origem é aquela em que a trilha foi criada. No caso de uma trilha com várias regiões, isso pode ser diferente da região da qual o arquivo de resumo foi entregue.

newestEventTime

A UTC hora do evento mais recente entre todos os eventos nos arquivos de log do resumo.

oldestEventTime

A UTC hora do evento mais antigo entre todos os eventos nos arquivos de log do resumo.

nota

Se o arquivo de resumo for fornecido com atraso, o valor de oldestEventTime será anterior ao de digestStartTime.

previousDigestS3Bucket

O bucket do Amazon S3 ao qual o arquivo de resumo anterior foi fornecido.

previousDigestS3Object

A chave do objeto do Amazon S3 (ou seja, o local do bucket do Amazon S3) do arquivo de resumo anterior.

previousDigestHashValue

O valor de hash codificado hexadecimal do conteúdo não compactado do arquivo de resumo anterior.

previousDigestHashAlgorithm

O nome do algoritmo de hash que foi usado para fazer hash do arquivo de resumo anterior.

publicKeyFingerprint

A impressão digital com codificação hexadecimal da chave pública que corresponde à chave privada usada para assinar esse arquivo de resumo. Você pode recuperar as chaves públicas para o intervalo de tempo correspondente ao arquivo de resumo usando o AWS CLI ou o. CloudTrail API Das chaves públicas retornadas, aquela cuja impressão digital corresponde a esse valor pode ser usada para validar o arquivo de resumo. Para obter informações sobre como recuperar chaves públicas para arquivos de resumo, consulte o AWS CLI list-public-keyscomando ou o. CloudTrail ListPublicKeysAPI

nota

CloudTrail usa diferentes pares de chaves privadas/públicas por região. Cada arquivo de resumo é assinado com uma chave privada exclusiva de sua respectiva região. Portanto, quando você valida um arquivo de resumo de uma região específica, precisa procurar a chave pública correspondente na mesma região.

digestSignatureAlgorithm

O algoritmo usado para assinar o arquivo de resumo.

logFiles.s3Bucket

O nome do bucket do Amazon S3 do arquivo de log.

logFiles.s3Object

A chave do objeto do Amazon S3 do arquivo de log atual.

logFiles.newestEventTime

A UTC hora do evento mais recente no arquivo de log. Esse horário também corresponde ao time stamp do arquivo de log em si.

logFiles.oldestEventTime

A UTC hora do evento mais antigo no arquivo de log.

logFiles.hashValue

O valor de hash codificado hexadecimal do conteúdo do arquivo de log não compactado.

logFiles.hashAlgorithm

O algoritmo de hash usado para fazer hash do arquivo de log.

Arquivo de resumo inicial

Quando a validação da integridade do arquivo de log é iniciada, um arquivo de resumo inicial é gerado. Um arquivo de resumo inicial também é gerado quando a validação da integridade dos arquivos de log é reiniciada (com a desativação e a reativação da validação da integridade dos arquivos de log ou a interrupção e a reinicialização do registro com a validação ativada). Em um arquivo de resumo inicial, os seguintes campos relacionados ao arquivo de resumo anterior serão nulos:

  • previousDigestS3Bucket

  • previousDigestS3Object

  • previousDigestHashValue

  • previousDigestHashAlgorithm

  • previousDigestSignature

Arquivos de resumo "vazios"

CloudTrail entregará um arquivo de resumo mesmo quando não houver nenhuma API atividade em sua conta durante o período de uma hora que o arquivo de resumo representa. Isso pode ser útil quando você precisa confirmar que nenhum arquivo de log foi fornecido durante a hora informada pelo arquivo de resumo.

O exemplo a seguir mostra o conteúdo de um arquivo de resumo que registrou uma hora em que nenhuma API atividade ocorreu. O campo logFiles:[ ] no final do conteúdo do arquivo de resumo está vazio.

{ "awsAccountId": "111122223333", "digestStartTime": "2015-08-20T17:01:31Z", "digestEndTime": "2015-08-20T18:01:31Z", "digestS3Bucket": "amzn-s3-demo-bucket", "digestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/20/111122223333_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150820T180131Z.json.gz", "digestPublicKeyFingerprint": "31e8b5433410dfb61a9dc45cc65b22ff", "digestSignatureAlgorithm": "SHA256withRSA", "newestEventTime": null, "oldestEventTime": null, "previousDigestS3Bucket": "amzn-s3-demo-bucket", "previousDigestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/20/111122223333_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150820T170131Z.json.gz", "previousDigestHashValue": "ed96c4bac9eaa8fe9716ca0e515da51938be651b1db31d781956416a9d05cdfa", "previousDigestHashAlgorithm": "SHA-256", "previousDigestSignature": "82705525fb0fe7f919f9434e5b7138cb41793c776c7414f3520c0242902daa8cc8286b29263d2627f2f259471c745b1654af76e2073264b2510fd45236b3aea4d80c0e8e6455223d7bd54ff80af0edf22a5f14fa856626daec919f0591479aa4f213787ba1e1076328dcf8ff624e03a977fa5612dcf58594c590fd8c1c5b48bddf43fc84ecc00b41bedd0ff7f293c3e2de8dcdc78f98b03e17577f5822ba842399d69eb79921c0429773509520e08c8b518702d987dfbb3a4e5d8c5f17673ce1f989dfff82d4becf24e452f20d3bcac94ad50131f93e57f10155536acb54c60efbe9d57228c2b930bc6082b2318e3ccd36834a8e835b8d112dbf32145f445c11", "logFiles": [] }

Assinatura do arquivo de resumo

As informações da assinatura de um arquivo de resumo estão localizadas em duas propriedades de metadados do objeto do arquivo de resumo do Amazon S3. Cada arquivo de resumo tem as seguintes entradas de metadados:

  • x-amz-meta-signature

    O valor codificado hexadecimal da assinatura do arquivo de resumo. Veja a seguir um exemplo de assinatura:

    3be472336fa2989ef34de1b3c1bf851f59eb030eaff3e2fb6600a082a23f4c6a82966565b994f9de4a5989d053d9d15d20fc5c43e66358652d93326550a4acc5c5f541bb52e9b455897ab723bd7cbabfe963a406a41d600f3658f7a3135e5ed9fcae7b79bb5857d1e5eb78fcce8595ce0ade2f3ad1d9f2d62be7bc4660d83166ce24586489b7da9ee9883eaf0b9efabb5dd3cbba565cc4aab5c9c46c9fa7e9cda310afcc5e8adcd9e48d0597ec5f8174a52c3bebb3e845eeb1d18904fbf4cc14cd117080098e10022ddf55e017a9431446acad8560de0ba1e477af9f8a3048bc6196350adad0cc0cb4ab99b5e7c9944437a3c674a038009220684ced7be07b4f 28f1cc237f372264a51b611c01da429565def703539f4e71009051769469231bc22232fa260df02740047af532229885ea2b0e95ecd353326b7104941e0cbddb076a391f1fcf2923c19565f4841770a78723451aeb732ff1b6162dc40e601fc6720bc5325987942ebd817783b322f0ac77698523bf742fdea7aa44f4911b3101221b7e1233387f16a52077610498f4a1254211258e37da0fb4cb207aef593b4c1baa13674e85acc52046b3adb889e63331a66abac5de7e42ffdd6952987c31ae871650e130bd2e63bfe145b22bbd39ea192210f6df64d49b888a321e02d3fc4cf126accae30d2857ccd6b2286a7c9feba6c35c44161b24147d645e6ca26844ba 05d3ffcb5d2dd5dc28f8bb5b7993938e8a5f912a82b448a367eccb2ec0f198ba71e23eb0b97278cf65f3c8d1e652c6de33a22ca8428821ffc95bf8b726ba9f37cfbc20c54dc5bd6159bdea1c4d951b68cb8e0528852c55bb0c5e499ea60560f7c2bb3af7f694407da863a2594f7a2f2838cb09254afbaf8003587746e719a0437f85eeffae534f283f3837eb939a9bccc3c71573500661245891051231b580ac92d9e0e68c6f47ad38975f493e2c40e7f303353c4adc7d563ef1e875977afac2e085f0c824045d998c9543d8a3293ad3c063b7a109d0bfd84b0b1e3f72c4f057e744e6a2cf9cc97727b08584f44bfa47799c5072b60f0b619aea88a17de585e9
  • x-amz-meta-signature-algorithm

    Veja a seguir um exemplo de valor do algoritmo usado para gerar a assinatura de compilação:

    SHA256withRSA

Encadeamento de arquivos de resumo

O fato de cada arquivo de resumo conter uma referência ao arquivo de resumo anterior permite um “encadeamento” que permite que ferramentas de validação como a AWS CLI detectem se um arquivo de resumo foi excluído. Ele também permite que os arquivos de resumo em um período específico sejam sucessivamente inspecionados, começando pelo mais recente.

nota

Quando você desativa a validação da integridade do arquivo de log, a cadeia de arquivos de resumo é interrompida após uma hora. CloudTrail não criará arquivos de resumo para arquivos de log que foram entregues durante um período em que a validação da integridade do arquivo de log foi desativada. Por exemplo, se você ativar a validação da integridade dos arquivos de log ao meio-dia em 1º de janeiro, desativá-la ao meio-dia em 2 de janeiro e reativá-la em 10 de janeiro ao meio-dia, os arquivos de resumo não serão criados para os arquivos de log fornecidos a partir do meio-dia em 2 de janeiro ao meio-dia em 10 de janeiro. O mesmo se aplica sempre que você para de CloudTrail registrar ou excluir uma trilha.

Se a política de bucket do S3 da sua trilha estiver configurada incorretamente ou CloudTrail sofrer uma interrupção inesperada do serviço, talvez você não receba todos ou alguns arquivos de resumo. Para confirmar se sua trilha tem algum erro de entrega de resumo, execute o get-trail-statuscomando e verifique se há erros no LatestDigestDeliveryError parâmetro. Depois que o problema de entrega for resolvido (por exemplo, corrigindo a política do bucket), CloudTrail tentará reentregar todos os arquivos de resumo ausentes. Durante o período de reentrega, os arquivos de resumo podem ser entregues fora de ordem, então a cadeia pode parecer temporariamente quebrada.

Se o registro for interrompido ou a trilha for excluída, CloudTrail entregará um arquivo de resumo final. Esse arquivo de resumo pode conter informações de todos os arquivos de log restantes que abrangem eventos até o evento StopLogging (inclusive).