Formato del log di accesso al server Amazon S3 - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Formato del log di accesso al server Amazon S3

La registrazione degli accessi al server fornisce record dettagliati per le richieste che sono effettuate a un bucket Amazon S3. È possibile utilizzare i log degli accessi al server per i seguenti scopi:

  • Esecuzione di controlli di sicurezza e degli accessi

  • Informazioni sulla base di clienti

  • Informazioni sulla fatturazione Amazon S3

In questa sezione viene descritto il formato e altri dettagli sui file di log di accesso al server Amazon S3.

I file dei log di accesso al server sono composti da una sequenza di record dei log delimitati da una nuova riga. Ogni record di log rappresenta una richiesta ed è composto da campi delimitati da spazio.

Di seguito è riportato un esempio di log composto da cinque record di log.

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

Qualsiasi campo può essere impostato su - per indicare che i dati sono sconosciuti o non disponibili, oppure che il campo non è applicabile a questa richiesta.

Campi dei record dei log

L'elenco di seguito descrive i campi dei record di log.

Proprietario del bucket

L'ID utente canonico del proprietario del bucket di origine. L'ID utente canonico è un'altra forma di ID. Account AWS Per ulteriori informazioni sull'ID utente canonico, consultare la sezione relativa agli identificatori Account AWS nella Riferimenti generali di AWS. Per informazioni su come trovare l'ID utente canonico per il tuo account, consulta Ricerca dell'ID utente canonico per l' Account AWS.

Esempio di inserimento

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Bucket

Il nome del bucket riguardo al quale è stata elaborata la richiesta. Se il sistema riceve una richiesta non corretta e non riesce a determinare il bucket, tale richiesta non apparirà in alcun log di accesso al server.

Esempio di inserimento

DOC-EXAMPLE-BUCKET1
Orario

L'ora di ricezione della richiesta; queste date e ore sono in formato UTC. Il formato, utilizzando la terminologia strftime(), è il seguente: [%d/%b/%Y:%H:%M:%S %z]

Esempio di inserimento

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

Indirizzo IP apparente del richiedente. Dei proxy e firewall intermedi potrebbero oscurare l'indirizzo IP effettivo della macchina che effettua la richiesta.

Esempio di inserimento

192.0.2.3
Richiedente

L'ID utente canonico del richiedente o - per richieste non autenticate. Se il richiedente era un utente IAM, questo campo restituisce il nome utente IAM del richiedente insieme a Utente root dell'account AWS quello a cui appartiene l'utente IAM. Questo identificatore è lo stesso che viene usato per accedere a scopi di controllo.

Esempio di inserimento

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
ID di richiesta

Una stringa generata da Amazon S3 per identificare in maniera univoca ogni richiesta.

Esempio di inserimento

3E57427F33A59F07
Operazione

L'operazione elencata qui viene dichiarata come SOAP.operation, REST.HTTP_method.resource_type, WEBSITE.HTTP_method.resource_type, oppure BATCH.DELETE.OBJECT, oppure S3.action.resource_type per Ciclo di vita e registrazione.

Esempio di inserimento

REST.PUT.OBJECT
Chiave

La parte chiave (nome dell'oggetto) della richiesta.

Esempio di inserimento

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

La parte Request-URI del messaggio di richiesta HTTP.

Esempio di inserimento

"GET /DOC-EXAMPLE-BUCKET1/photos/2019/08/puppy.jpg?x-foo=bar HTTP/1.1"
Stato HTTP

Il codice di stato HTTP numerico della risposta.

Esempio di inserimento

200
Codice di errore

Amazon S3 Codice di errore o - se non si è verificato alcun errore.

Esempio di inserimento

NoSuchBucket
Byte inviati

Il numero di byte della risposta inviati, a esclusione di overhead di protocollo HTTP, o - se uguale a zero.

Esempio di inserimento

2662992
Dimensione oggetto

La dimensione totale dell'oggetto in questione.

Esempio di inserimento

3462992
Tempo totale

Il numero di millisecondi durante i quali la richiesta è stata in transito dalla prospettiva del server. Questo valore viene misurato dal momento in cui si riceve la richiesta al momento in cui viene inviato l'ultimo byte di risposta. Le misurazioni effettuate dalla prospettiva del cliente potrebbero essere più lunghe in ragione della latenza di rete.

Esempio di inserimento

70
Tempo di rotazione

Il numero di millisecondi che sono stati necessari ad Amazon S3 per elaborare la richiesta. Questo valore viene misurato dal momento in cui si riceve l'ultimo byte della richiesta al momento in cui viene inviato il primo byte di risposta.

Esempio di inserimento

10
Referer

Il valore dell'intestazione HTTP Referer, se presente. Gli utenti-agenti HTTP (ad esempio, i browser) generalmente impostano questa intestazione sull'URL della pagina di collegamento o incorporazione quando viene effettuata una richiesta.

Esempio di inserimento

"http://www.example.com/webservices"
User-Agent

Il valore dell'intestazione HTTP User-Agent.

Esempio di inserimento

"curl/7.15.1"
Versione ID

L'ID della versione nella richiesta oppure - se l'operazione non prevede un parametro versionId.

Esempio di inserimento

3HL4kqtJvjVBH40Nrjfkd
ID host

x-amz-id-2 o ID richiesta esteso Amazon S3.

Esempio di inserimento

s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
Signature Version

La versione della firma, SigV2 o SigV4, utilizzata per autenticare la richiesta o un - per richieste non autenticate.

Esempio di inserimento

SigV2
Pacchetti di crittografia

La crittografia Secure Sockets Layer (SSL) negoziata per richieste HTTPS o - per HTTP.

Esempio di inserimento

ECDHE-RSA-AES128-GCM-SHA256
Tipo di autenticazione

Il tipo di autenticazione della richiesta utilizzato: AuthHeader per intestazioni autenticate, QueryString per stringa di query (URL prefirmato) o - per richieste non autenticate.

Esempio di inserimento

AuthHeader
Intestazione dell'host

L'endpoint utilizzato per connettersi ad Amazon S3.

Esempio di inserimento

s3.us-west-2.amazonaws.com

Alcune regioni meno recenti supportano gli endpoint legacy. Potresti vedere questi endpoint nei log o nei log di accesso al server. AWS CloudTrail Per ulteriori informazioni, consulta Endpoint legacy. Per un elenco completo degli endpoint e delle regioni Amazon S3, consultare la sezione relativa a endpoint e quote di Amazon S3 nella Riferimenti generali di Amazon Web Services.

Versione TLS

La versione di Transport Layer Security (TLS) negoziata dal client. Il valore è uno dei seguenti: TLSv1.1, TLSv1.2, TLSv1.3 o - se non è stato utilizzato TLS.

Esempio di inserimento

TLSv1.2
Nome della risorsa Amazon (ARN) del punto di accesso

L'Amazon Resource Name (ARN) del punto di accesso della richiesta. Se il nome della risorsa Amazon (ARN) del punto di accesso ha un formato non valido oppure non viene utilizzato, il campo conterrà -. Per ulteriori informazioni sui punti di accesso, consulta la sezione Utilizzo degli access point. Per maggiori informazioni sui nomi delle risorse Amazon (ARN), consulta Nome della risorsa Amazon (ARN) in Riferimenti generali di AWS .

Esempio di inserimento

arn:aws:s3:us-east-1:123456789012:accesspoint/example-AP
aclRequired

Una stringa che indica se la richiesta richiede una lista di controllo degli accessi (ACL) per l'autorizzazione. Se la richiesta richiede una ACL per l'autorizzazione, la stringa è Yes. Se non sono richieste ACL, la stringa è -. Per ulteriori informazioni sulle ACL, consulta Panoramica delle liste di controllo accessi (ACL). Per ulteriori informazioni sull'utilizzo del campo aclRequired per disabilitare le ACL, consulta Controllo della proprietà degli oggetti e disabilitazione degli ACL per il bucket.

Esempio di inserimento

Yes

Registrazione aggiuntiva per operazioni di copia

Un'operazione di copia implica un GET e un PUT. Per questa ragione, vengono registrati due report quando si effettua un'operazione di logging. La tabella precedente descrive i campi che si riferiscono alla parte PUT dell'operazione. L'elenco di seguito descrive i campi nel record che si riferiscono alla parte GET dell'operazione di copia.

Proprietario del bucket

L'ID utente canonico del bucket archivia l'oggetto che viene copiato. L'ID utente canonico è un'altra forma di ID. Account AWS Per ulteriori informazioni sull'ID utente canonico, consultare la sezione relativa agli identificatori Account AWS nella Riferimenti generali di AWS. Per informazioni su come trovare l'ID utente canonico per il tuo account, consulta Ricerca dell'ID utente canonico per l' Account AWS.

Esempio di inserimento

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Bucket

Nome del bucket che archivia l'oggetto che viene copiato.

Esempio di inserimento

DOC-EXAMPLE-BUCKET1
Orario

L'ora di ricezione della richiesta; queste date e ore sono in formato UTC. Il formato, utilizzando la terminologia strftime(), è il seguente: [%d/%B/%Y:%H:%M:%S %z]

Esempio di inserimento

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

Indirizzo IP apparente del richiedente. Dei proxy e firewall intermedi potrebbero oscurare l'indirizzo IP effettivo della macchina che effettua la richiesta.

Esempio di inserimento

192.0.2.3
Richiedente

L'ID utente canonico del richiedente o - per richieste non autenticate. Se il richiedente era un utente IAM, questo campo restituirà il nome utente IAM del richiedente insieme a Utente root dell'account AWS quello a cui appartiene l'utente IAM. Questo identificatore è lo stesso che viene usato per accedere a scopi di controllo.

Esempio di inserimento

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
ID di richiesta

Una stringa generata da Amazon S3 per identificare in maniera univoca ogni richiesta.

Esempio di inserimento

3E57427F33A59F07
Operazioni

Le operazioni qui elencate vengono dichiarate come SOAP.operation, REST.HTTP_method.resource_type, WEBSITE.HTTP_method.resource_type oppure BATCH.DELETE.OBJECT.

Esempio di inserimento

REST.COPY.OBJECT_GET
Chiave

La "chiave" (nome oggetto) dell'oggetto che viene copiato o - se l'operazione non prevede un parametro chiave.

Esempio di inserimento

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

La parte Request-URI del messaggio di richiesta HTTP.

Esempio di inserimento

"GET /DOC-EXAMPLE-BUCKET1/photos/2019/08/puppy.jpg?x-foo=bar"
Stato HTTP

Il codice di stato HTTP numerico della porzione GET dell'operazione di copia.

Esempio di inserimento

200
Codice di errore

Codice di errore Amazon S3 della porzione GET dell'operazione di copia o - se non si è verificato alcun errore.

Esempio di inserimento

NoSuchBucket
Byte inviati

Numero di byte della risposta inviati, a esclusione di overhead di protocollo HTTP, o - se uguale a zero.

Esempio di inserimento

2662992
Dimensione oggetto

La dimensione totale dell'oggetto in questione.

Esempio di inserimento

3462992
Tempo totale

Il numero di millisecondi durante i quali la richiesta è stata in transito dalla prospettiva del server. Questo valore viene misurato dal momento in cui si riceve la richiesta al momento in cui viene inviato l'ultimo byte di risposta. Le misurazioni effettuate dalla prospettiva del cliente potrebbero essere più lunghe in ragione della latenza di rete.

Esempio di inserimento

70
Tempo di rotazione

Il numero di millisecondi che sono stati necessari ad Amazon S3 per elaborare la richiesta. Questo valore viene misurato dal momento in cui si riceve l'ultimo byte della richiesta al momento in cui viene inviato il primo byte di risposta.

Esempio di inserimento

10
Referer

Il valore dell'intestazione HTTP Referer, se presente. Gli utenti-agenti HTTP (ad esempio, i browser) generalmente impostano questa intestazione sull'URL della pagina di collegamento o incorporazione quando viene effettuata una richiesta.

Esempio di inserimento

"http://www.example.com/webservices"
User-Agent

Il valore dell'intestazione HTTP User-Agent.

Esempio di inserimento

"curl/7.15.1"
Versione ID

ID versione dell'oggetto che viene copiato oppure - se l'intestazione x-amz-copy-source non specificava un parametro versionId come parte dell'origine della copia.

Esempio di inserimento

3HL4kqtJvjVBH40Nrjfkd
ID host

x-amz-id-2 o ID richiesta esteso Amazon S3.

Esempio di inserimento

s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
Signature Version

Versione della firma, SigV2 o SigV4, utilizzata per autenticare la richiesta o - per richieste non autenticate.

Esempio di inserimento

SigV4
Pacchetti di crittografia

La crittografia Secure Sockets Layer (SSL) negoziata per richieste HTTPS o - per HTTP.

Esempio di inserimento

ECDHE-RSA-AES128-GCM-SHA256
Tipo di autenticazione

Tipo di autenticazione della richiesta utilizzato: AuthHeader per intestazioni autenticate, QueryString per stringa di query (URL prefirmati) o - per richieste non autenticate.

Esempio di inserimento

AuthHeader
Intestazione dell'host

L'endpoint utilizzato per connettersi ad Amazon S3.

Esempio di inserimento

s3.us-west-2.amazonaws.com

Alcune regioni meno recenti supportano gli endpoint legacy. Potresti vedere questi endpoint nei log o nei log di accesso al server. AWS CloudTrail Per ulteriori informazioni, consulta Endpoint legacy. Per un elenco completo degli endpoint e delle regioni Amazon S3, consultare la sezione relativa a endpoint e quote di Amazon S3 nella Riferimenti generali di Amazon Web Services.

Versione TLS

La versione di Transport Layer Security (TLS) negoziata dal client. Il valore è uno dei seguenti: TLSv1.1, TLSv1.2, TLSv1.3 o - se non è stato utilizzato TLS.

Esempio di inserimento

TLSv1.2
Nome della risorsa Amazon (ARN) del punto di accesso

L'Amazon Resource Name (ARN) del punto di accesso della richiesta. Se il nome della risorsa Amazon (ARN) del punto di accesso ha un formato non valido oppure non viene utilizzato, il campo conterrà -. Per ulteriori informazioni sui punti di accesso, consulta la sezione Utilizzo degli access point. Per maggiori informazioni sui nomi delle risorse Amazon (ARN), consulta Nome della risorsa Amazon (ARN) in Riferimenti generali di AWS .

Esempio di inserimento

arn:aws:s3:us-east-1:123456789012:accesspoint/example-AP
aclRequired

Una stringa che indica se la richiesta richiede una lista di controllo degli accessi (ACL) per l'autorizzazione. Se la richiesta richiede una ACL per l'autorizzazione, la stringa è Yes. Se non sono richieste ACL, la stringa è -. Per ulteriori informazioni sulle ACL, consulta Panoramica delle liste di controllo accessi (ACL). Per ulteriori informazioni sull'utilizzo del campo aclRequired per disabilitare le ACL, consulta Controllo della proprietà degli oggetti e disabilitazione degli ACL per il bucket.

Esempio di inserimento

Yes

Informazioni sui log di accesso personalizzati

È possibile includere informazioni personalizzate da memorizzare nel record del log di accesso per una richiesta. A tale scopo, aggiungere un parametro di stringa query personalizzato all'URL per la richiesta. Amazon S3 ignora i parametri di stringa di query che iniziano con x-, ma include quelli nel record del log degli accessi per la richiesta, come parte del campo Request-URI del record del log.

Ad esempio, una richiesta GET per "s3.amazonaws.com/DOC-EXAMPLE-BUCKET1/photos/2019/08/puppy.jpg?x-user=johndoe" funziona come la richiesta "s3.amazonaws.com/DOC-EXAMPLE-BUCKET1/photos/2019/08/puppy.jpg", ad eccezione del fatto che la stringa "x-user=johndoe" è inclusa nel campo Request-URI per il record di log associato. Questa funzionalità è disponibile solo nell'interfaccia REST.

Considerazioni in materia di programmazione per il formato esteso dei log di accesso al server

Occasionalmente è possibile estendere il formato del report del log degli accessi aggiungendo nuovi campi alla fine di ogni linea. Pertanto, è necessario che il codice che analizza i log degli accessi al server sia in grado di gestire i campi che potrebbero non essere riconosciuti.