Formato dos logs de acesso ao servidor do Amazon S3 - Amazon Simple Storage Service

Formato dos logs de acesso ao servidor do Amazon S3

O registro em log de acesso ao servidor fornece detalhes sobre as solicitações que são feitas a um bucket do Amazon S3. Você pode usar logs de acesso ao servidor para auditorias de segurança e acesso, saber mais sobre sua base de clientes ou entender sua fatura do Amazon S3. Esta seção descreve o formato e outros detalhes sobre os arquivos de log de acesso ao servidor do Amazon S3.

Os arquivos de log de acesso ao servidor consistem em uma sequência de registros de log delimitados por novas linhas. Cada registro do log representa uma solicitação e consiste em campos delimitados por espaço.

Veja a seguir o exemplo de um log que consiste em cinco registros de log.

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 3E57427F3EXAMPLE REST.GET.VERSIONING - "GET /awsexamplebucket1?versioning HTTP/1.1" 200 - 113 - 7 - "-" "S3Console/0.4" - s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader awsexamplebucket1.s3.us-west-1.amazonaws.com TLSV1.1 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 891CE47D2EXAMPLE REST.GET.LOGGING_STATUS - "GET /awsexamplebucket1?logging HTTP/1.1" 200 - 242 - 11 - "-" "S3Console/0.4" - 9vKBE6vMhrNiWHZmb2L0mXOcqPGzQOI5XLnCtZNPxev+Hf+7tpT6sxDwDty4LHBUOZJG96N1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader awsexamplebucket1.s3.us-west-1.amazonaws.com TLSV1.1 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be A1206F460EXAMPLE REST.GET.BUCKETPOLICY - "GET /awsexamplebucket1?policy HTTP/1.1" 404 NoSuchBucketPolicy 297 - 38 - "-" "S3Console/0.4" - BNaBsXZQQDbssi6xMBdBU2sLt+Yf5kZDmeBUP35sFoKa3sLLeMC78iwEIWxs99CRUrbS4n11234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader awsexamplebucket1.s3.us-west-1.amazonaws.com TLSV1.1 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket1 [06/Feb/2019:00:01:00 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 7B4A0FABBEXAMPLE REST.GET.VERSIONING - "GET /awsexamplebucket1?versioning HTTP/1.1" 200 - 113 - 33 - "-" "S3Console/0.4" - Ke1bUcazaN1jWuUlPJaxF64cQVpUEhoZKEG/hmy/gijN/I1DeWqDfFvnpybfEseEME/u7ME1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader awsexamplebucket1.s3.us-west-1.amazonaws.com TLSV1.1 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket1 [06/Feb/2019:00:01:57 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be DD6CC733AEXAMPLE REST.PUT.OBJECT s3-dg.pdf "PUT /awsexamplebucket1/s3-dg.pdf HTTP/1.1" 200 - - 4406583 41754 28 "-" "S3Console/0.4" - 10S62Zv81kBW7BB6SX4XJ48o6kpcl6LPwEoizZQQxJd5qDSCTLX0TgS37kYUBKQW3+bPdrg1234= SigV4 ECDHE-RSA-AES128-SHA AuthHeader awsexamplebucket1.s3.us-west-1.amazonaws.com TLSV1.1
nota

Qualquer campo pode ser definido como - para indicar que os dados eram desconhecidos ou estavam indisponíveis ou que o campo não era aplicável para essa solicitação.

Campos de registro de log

A lista a seguir descreve os campos dos registros em log.

ARN (nome de recurso da Amazon) do ponto de acesso

O nome de recurso da Amazon (ARN) do ponto de acesso da solicitação. Se o ARN do ponto de acesso estiver malformado ou sem uso, o campo apresentará um '-'. Para obter mais informações sobre os pontos de acesso, consulte Usar pontos de acesso. Para obter mais informações sobre os ARNs, consulte o tópico sobre o Nome do recurso da Amazon (ARN) no Guia de referência da AWS.

Exemplo de registro

arn:aws:s3:us-east-1:123456789012:accesspoint/example-AP
Proprietário do bucket

O ID canônico do usuário do proprietário do bucket de origem. O ID de usuário canônico é uma outra forma do ID da Conta da AWS . Para obter mais informações sobre IDs de usuário canônico, consulte Identificadores de conta da Conta da AWS na Referência geral da AWS. Para obter informações sobre como encontrar o ID de usuário canônico da conta, consulte Como localizar o ID de usuário canônico de sua Conta da AWS .

Exemplo de registro

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Bucket

O nome do bucket no qual a solicitação foi processada. Se o sistema receber uma solicitação malformada e não puder determinar o bucket, a solicitação não aparecerá em nenhum log de acesso ao servidor.

Exemplo de registro

awsexamplebucket1
Tempo

O horário em que a solicitação foi recebida. As datas e horas estão em Tempo Universal Coordenado (UTC). O formato que usa a terminologia strftime() é o seguinte: [%d/%b/%Y:%H:%M:%S %z]

Exemplo de registro

[06/Feb/2019:00:00:38 +0000]
IP remoto

O endereço de internet aparente do solicitante. Os proxies e os firewalls intermediários podem obscurecer o endereço real da máquina que faz a solicitação.

Exemplo de registro

192.0.2.3
Solicitante

O ID canônico do usuário do solicitante ou um - para solicitações não autenticadas. Se o solicitante for um usuário do IAM, esse campo retorna o nome do usuário do IAM do solicitante junto com a conta root da AWS à qual o usuário do IAM pertence. Esse identificador é o mesmo usado para fins de controle de acesso.

Exemplo de registro

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
ID da solicitação

Uma string gerada pelo Amazon S3 para identificar exclusivamente cada solicitação.

Exemplo de registro

3E57427F33A59F07
Operação

A operação listada aqui é declarada como SOAP.operation, REST.HTTP_method.resource_type, WEBSITE.HTTP_method.resource_type ou BATCH.DELETE.OBJECT, ou S3.action.resource_type para Ciclo de vida e registro em log.

Exemplo de registro

REST.PUT.OBJECT
Chave

A parte “chave” da solicitação, codificada pela URL ou “-”, se a operação não usar um parâmetro de chave.

Exemplo de registro

/photos/2019/08/puppy.jpg
Request-URI

A parte de Request-URI da mensagem de solicitação HTTP.

Entrada de exemplo

"GET /awsexamplebucket1/photos/2019/08/puppy.jpg?x-foo=bar HTTP/1.1"
Status HTTP

O código numérico do status do HTTP da resposta.

Exemplo de registro

200
Código de erro

O Amazon S3 Código de erro ou “-”, se nenhum erro ocorreu.

Exemplo de registro

NoSuchBucket
Bytes enviados

O número de bytes de resposta enviados excluindo a sobrecarga do protocolo HTTP ou “-”, se zero.

Exemplo de registro

2662992
Tamanho do objeto

O tamanho total do objeto em questão.

Exemplo de registro

3462992
Tempo total

O número de milissegundos em que a solicitação esteve em andamento da perspectiva do servidor. Esse valor é medido do momento do recebimento da solicitação até o momento em que o último byte da resposta é enviado. As medidas feitas da perspectiva do cliente podem ser mais longas devido à latência da rede.

Exemplo de registro

70
Tempo de retorno

O número de milissegundos que o Amazon S3 gastou processando a solicitação. 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.

Exemplo de registro

10
Referer

O valor do cabeçalho do indicador HTTP, se presente. Os agentes do usuário HTTP (por exemplo, navegadores) normalmente definem esse cabeçalho como o URL da página de vinculação ou incorporação ao fazer uma solicitação.

Exemplo de registro

"http://www.amazon.com/webservices"
Agente de usuário

O valor do cabeçalho do agente de usuário do HTTP.

Exemplo de registro

"curl/7.15.1"
Id da versão

O ID da versão na solicitação ou “-”, se a operação não usar um parâmetro versionId.

Exemplo de registro

3HL4kqtJvjVBH40Nrjfkd
ID do host

O ID de solicitação estendida x-amz-id-2 ou Amazon S3.

Exemplo de registro

s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
Versão do Signature

A versão do Signature, SigV2 ou SigV4, que foi usada para autenticar a solicitação ou - para solicitações não autenticadas.

Exemplo de registro

SigV2
Pacote de criptografia

A codificação Secure Sockets Layer (SSL) que foi negociada para a solicitação HTTPS ou - para HTTP.

Exemplo de registro

ECDHE-RSA-AES128-GCM-SHA256
Tipo de autenticação

O tipo da autenticação de solicitação usado, AuthHeader para cabeçalhos de autenticação, QueryString para string de consulta (pre-signed URL) ou - para solicitações não autenticadas.

Exemplo de registro

AuthHeader
Cabeçalho de host

O endpoint usado para conectar-se ao Amazon S3.

Exemplo de registro

s3.us-west-2.amazonaws.com

Algumas regiões mais antigas oferecem suporte a endpoints legados. Você poderá ver esses endpoints nos logs de acesso ao servidor ou nos logs do AWS CloudTrail. Para obter mais informações, consulte Endpoints legados. Para obter uma lista completa de regiões e endpoints do Amazon S3, consulte Amazon S3 endpoints and quotas (Endpoints e cotas do Amazon S3) na Amazon Web Services General Reference (Referência geral da Amazon Web Services).

Versão do TLS

A versão do Transport Layer Security (TLS) negociada pelo cliente. O valor é um dos seguintes: TLSv1, TLSv1.1, TLSv1.2 ou - se o TLS não foi usado.

Exemplo de registro

TLSv1.2

Registro em log adicional para operações de cópia

Uma operação de cópia envolve um GET e um PUT. Por esse motivo, registramos dois registros em log ao executar uma operação de cópia. A seção anterior descreve os campos relacionados à parte PUT da operação. A lista a seguir descreve os campos no registro que se relacionam à parte GET da operação de cópia.

Proprietário do bucket

O ID canônico do usuário do bucket que armazena o objeto que está sendo copiado. O ID de usuário canônico é uma outra forma do ID da Conta da AWS . Para obter mais informações sobre IDs de usuário canônico, consulte Identificadores de conta da Conta da AWS na Referência geral da AWS. Para obter informações sobre como encontrar o ID de usuário canônico da conta, consulte Como localizar o ID de usuário canônico de sua Conta da AWS .

Exemplo de registro

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Bucket

O nome do bucket que armazena o objeto que está sendo copiado.

Exemplo de registro

awsexamplebucket1
Tempo

O horário em que a solicitação foi recebida. As datas e horas estão em Tempo Universal Coordenado (UTC). O formato que usa a terminologia strftime() é o seguinte: [%d/%B/%Y:%H:%M:%S %z]

Exemplo de registro

[06/Feb/2019:00:00:38 +0000]
IP remoto

O endereço de internet aparente do solicitante. Os proxies e os firewalls intermediários podem obscurecer o endereço real da máquina que faz a solicitação.

Exemplo de registro

192.0.2.3
Solicitante

O ID canônico do usuário do solicitante ou um - para solicitações não autenticadas. Se o solicitante for um usuário do IAM, esse campo retorna o nome do usuário do IAM do solicitante junto com a conta root da AWS à qual o usuário do IAM pertence. Esse identificador é o mesmo usado para fins de controle de acesso.

Exemplo de registro

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
ID da solicitação

Uma string gerada pelo Amazon S3 para identificar exclusivamente cada solicitação.

Exemplo de registro

3E57427F33A59F07
Operação

A operação listada aqui é declarada como SOAP.operation, REST.HTTP_method.resource_type, WEBSITE.HTTP_method.resource_type ou BATCH.DELETE.OBJECT.

Exemplo de registro

REST.COPY.OBJECT_GET
Chave

A “chave” do objeto que está sendo copiado ou “-”, se a operação não usar um parâmetro de chave.

Exemplo de registro

/photos/2019/08/puppy.jpg
Request-URI

A parte de Request-URI da mensagem de solicitação HTTP.

Exemplo de registro

"GET /awsexamplebucket1/photos/2019/08/puppy.jpg?x-foo=bar"
Status HTTP

O código numérico do status do HTTP da parte GET da operação de cópia.

Exemplo de registro

200
Código de erro

O Código de erro do Amazon S3, da parte GET da operação de cópia ou “-”, se nenhum erro tiver ocorrido.

Exemplo de registro

NoSuchBucket
Bytes enviados

O número de bytes de resposta enviados excluindo a sobrecarga do protocolo HTTP ou “-”, se zero.

Exemplo de registro

2662992
Tamanho do objeto

O tamanho total do objeto em questão.

Exemplo de registro

3462992
Tempo total

O número de milissegundos em que a solicitação esteve em andamento da perspectiva do servidor. Esse valor é medido do momento do recebimento da solicitação até o momento em que o último byte da resposta é enviado. As medidas feitas da perspectiva do cliente podem ser mais longas devido à latência da rede.

Exemplo de registro

70
Tempo de retorno

O número de milissegundos que o Amazon S3 gastou processando a solicitação. 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.

Exemplo de registro

10
Referer

O valor do cabeçalho do indicador HTTP, se presente. Os agentes do usuário HTTP (por exemplo, navegadores) normalmente definem esse cabeçalho como o URL da página de vinculação ou incorporação ao fazer uma solicitação.

Exemplo de registro

"http://www.amazon.com/webservices"
Agente de usuário

O valor do cabeçalho do agente de usuário do HTTP.

Exemplo de registro

"curl/7.15.1"
Id da versão

O ID da versão do objeto que está sendo copiado ou "-", se o cabeçalho x-amz-copy-source não especificou um parâmetro versionId como parte da origem da cópia.

Entrada de exemplo

3HL4kqtJvjVBH40Nrjfkd
ID do host

O ID de solicitação estendida x-amz-id-2 ou Amazon S3.

Exemplo de registro

s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
Versão do Signature

A versão do Signature, SigV2 ou SigV4, que foi usada para autenticar a solicitação ou - para solicitações não autenticadas.

Exemplo de registro

SigV2
Pacote de criptografia

A codificação Secure Sockets Layer (SSL) que foi negociada para a solicitação HTTPS ou - para HTTP.

Exemplo de registro

ECDHE-RSA-AES128-GCM-SHA256
Tipo de autenticação

O tipo de autenticação de solicitação usada,AuthHeader para cabeçalhos de autenticação, QueryString para string de consulta (pre-signed URL) ou um - para solicitações não autenticadas.

Exemplo de registro

AuthHeader
Cabeçalho de host

O endpoint usado para conectar-se ao Amazon S3.

Exemplo de registro

s3.us-west-2.amazonaws.com

Algumas regiões mais antigas oferecem suporte a endpoints legados. Você poderá ver esses endpoints nos logs de acesso ao servidor ou nos logs do AWS CloudTrail. Para obter mais informações, consulte Endpoints legados. Para obter uma lista completa de regiões e endpoints do Amazon S3, consulte Amazon S3 endpoints and quotas (Endpoints e cotas do Amazon S3) na Amazon Web Services General Reference (Referência geral da Amazon Web Services).

Versão do TLS

A versão do Transport Layer Security (TLS) negociada pelo cliente. O valor é um dos seguintes: TLSv1, TLSv1.1, TLSv1.2 ou - se o TLS não foi usado.

Exemplo de registro

TLSv1.2

Informações personalizadas do log de acesso

Você pode incluir informações personalizadas a serem armazenadas no registro de log de acesso de uma solicitação. Para fazer isso, adicione um parâmetro de string de consulta personalizado à URL da solicitação. O Amazon S3 ignora os parâmetros query-string que começam com “x-”, mas inclui esses parâmetros no registro do log de acesso da solicitação, como parte do campo Request-URI do registro do log.

Por exemplo, uma solicitação GET para "s3.amazonaws.com/awsexamplebucket1/photos/2019/08/puppy.jpg?x-user=johndoe" funciona da mesma forma que a solicitação para "s3.amazonaws.com/awsexamplebucket1/photos/2019/08/puppy.jpg", exceto pelo fato de que a string "x-user=johndoe" está incluída no campo Request-URI do registro de log associado. Essa funcionalidade está disponível apenas na interface REST.

Considerações de programação para o formato do log de acesso ao servidor extensível

Ocasionalmente, podemos estender o formato de registro de log de acesso adicionando novos campos ao final de cada linha. Portanto, você deve escrever qualquer código que analise logs de acesso ao servidor para lidar com os campos finais que ele possa não entender.