View a markdown version of this page

Formato de log no CloudWatch Logs - Amazon Simple Storage Service

Formato de log no CloudWatch Logs

Quando os logs de acesso ao servidor do Amazon S3 são entregues ao Amazon CloudWatch Logs, cada registro de log é um objeto JSON estruturado. Isso é diferente do formato de texto delimitado por espaço usado para entrega em um bucket de uso geral do Amazon S3. O formato estruturado torna os campos diretamente consultáveis no CloudWatch Logs Insights sem análise de regex.

nota

Para o formato de texto delimitado por espaço usado para entrega em buckets de uso geral, consulte Formato dos logs de acesso ao servidor do Amazon S3.

Campos de registro de log

A tabela a seguir descreve os campos em cada registro de log de acesso ao servidor entregue ao CloudWatch Logs.

Campos de log de acesso ao servidor no CloudWatch Logs
Campo Tipo Descrição
schema_version_id string Identificador de versão para o esquema de registro de log (por exemplo, V_1_0). Use esse campo para detectar alterações no esquema quando novos campos forem adicionados em versões futuras.
bucket_arn string ARN do bucket de origem.
bucket_name string Nome do bucket para o qual a solicitação foi feita. Derivado do ARN do bucket.
request_time string A hora em que a solicitação foi recebida, em UTC. Formatado como ISO 8601 (yyyy-MM-dd'T'HH:mm:ss.SSS'Z'). Na integração das Tabelas do S3 (Iceberg), esse campo é armazenado como timestamptz.
bucket_owner_id string ID canônico do usuário do proprietário do bucket de origem.
remote_ip string Endereço IP aparente do solicitante. O padrão é null se não estiver disponível.
requester string ID canônico do usuário do solicitante ou um null para solicitações não autenticadas. Para usuários e perfis do IAM, esse é o ARN.
request_id string Identificador exclusivo gerado pelo Amazon S3 para cada solicitação. O padrão é null se não estiver disponível.
operation string A operação executada, por exemplo, REST.GET.OBJECT ou REST.PUT.OBJECT. O padrão é null se não estiver disponível.
key_name string Chave do objeto na solicitação ou null se a operação não envolver um objeto.
request_uri string A parte Request-URI da mensagem de solicitação HTTP ou null se não estiver disponível.
http_status int Código de status HTTP numérico para a resposta, por exemplo, 200 ou 403. O padrão é null se não estiver disponível.
error_code string Código de erro do Amazon S3, por exemplo, NoSuchKey, AccessDenied ou null se nenhum erro tiver ocorrido.
bytes_sent_size longo Número de bytes de resposta enviados, excluindo a sobrecarga do protocolo HTTP. O padrão é null se não estiver disponível.
object_size longo Tamanho total do objeto. O padrão é null se não estiver disponível.
total_duration longo Tempo total da solicitação do momento em que ela foi recebida até o último byte da resposta enviada, em milissegundos. O padrão é null se não estiver disponível.
turn_around_duration longo Tempo que o Amazon S3 gastou processando a solicitação, em milissegundos. Esse valor é medido do momento do recebimento do último byte da solicitação até o momento em que o primeiro byte da resposta foi enviado. O padrão é null se não estiver disponível.
referer string Valor do cabeçalho Referer do HTTP ou null se não estiver presente.
user_agent string Valor do cabeçalho User-Agent do HTTP. O padrão é null se não estiver disponível.
version_id string ID da versão na solicitação ou null se a operação não envolver um objeto com versão.
host_id string ID de solicitação estendida do Amazon S3 (x-amz-id-2). O padrão é null se não estiver disponível.
signature_version string Versão de assinatura usada para autenticar a solicitação: SigV2 ou SigV4. O padrão é null para solicitações não autenticadas.
cipher_suite string Conjunto de criptografia TLS negociado para solicitações HTTPS ou null para HTTP.
authentication_type string Tipo de autenticação de solicitação: AuthHeader, QueryString ou null.
host_header string Endpoint usado para se conectar ao Amazon S3. O padrão é null se não estiver disponível.
tls_version string Versão TLS negociada pelo cliente: TLSv1.1, TLSv1.2, TLSv1.3 ou null.
access_point_arn string ARN do ponto de acesso usado para a solicitação ou null se a solicitação não tiver usado um ponto de acesso.
acl_required booleano Se uma ACL foi necessária para a solicitação. O padrão é null quando não aplicável.
source_region string Região da AWS de origem da solicitação ou null quando a região de origem não pode ser determinada (como em conexões do PrivateLink, conexões do Direct Connect, traga seus próprios endereços IP (BYOIP) ou endereços IP que não são da AWS) ou quando o log é gerado por operações acionadas com base em políticas ou ações definidas pelo cliente, como ciclo de vida e soma de verificação.

Exemplo de registros de log

Veja a seguir o exemplo de um registro de log de acesso ao servidor conforme aparece no CloudWatch Logs.

{ "schema_version_id": "V_1_0", "bucket_arn": "arn:aws:s3:::my-data-bucket", "bucket_name": "my-data-bucket", "request_time": "2026-04-29T14:32:16.000Z", "bucket_owner_id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be", "remote_ip": "203.0.113.45", "requester": "arn:aws:iam::123456789012:role/DataAnalystRole", "request_id": "3E57427F33A59F07", "operation": "REST.GET.OBJECT", "key_name": "reports/2026/quarterly-summary.parquet", "request_uri": "GET /my-data-bucket/reports/2026/quarterly-summary.parquet HTTP/1.1", "http_status": 200, "error_code": null, "bytes_sent_size": 1048576, "object_size": 1048576, "total_duration": 45, "turn_around_duration": 12, "referer": null, "user_agent": "aws-sdk-java/2.20.0", "version_id": null, "host_id": "s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=", "signature_version": "SigV4", "cipher_suite": "TLS_AES_128_GCM_SHA256", "authentication_type": "AuthHeader", "host_header": "my-data-bucket.s3.us-east-1.amazonaws.com", "tls_version": "TLSv1.3", "access_point_arn": null, "acl_required": false, "source_region": "us-east-1" }

Diferenças do formato de log de bucket de uso geral

O formato de log do CloudWatch Logs difere do formato de log de bucket de uso geral das seguintes maneiras:

  • Formato: os logs do CloudWatch Logs são objetos JSON estruturados. Os logs de bucket de uso geral são textos delimitados por espaço.

  • Nomes de campo: o formato do CloudWatch Logs usa nomes de campo descritivos separados por sublinhado (por exemplo, bytes_sent_size, total_duration, key_name, authentication_type). O formato de bucket de uso geral é um texto posicional delimitado por espaço sem colunas nomeadas.

  • Campos adicionais: o formato do CloudWatch Logs inclui schema_version_id e bucket_arn, que não estão presentes no formato de texto de bucket de uso geral.

  • Sem necessidade de análise: como os logs do CloudWatch Logs são objetos JSON estruturados, você pode consultar campos individuais diretamente no CloudWatch Logs Insights sem análise de regex. O formato de texto do bucket de uso geral requer um analisador personalizado ou de regex para extrair os campos.