Formato del registro degli accessi al server Amazon S3 - Amazon Simple Storage Service

Formato del registro degli accessi al server Amazon S3

Il logging degli accessi al server fornisce registrazioni dettagliate delle richieste 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

Questa sezione descrive il formato e altri dettagli dei file di log degli accessi 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 amzn-s3-demo-bucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 3E57427F3EXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket1?versioning HTTP/1.1" 200 - 113 - 7 - "-" "S3Console/0.4" - s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234= SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 arn:aws:s3:us-west-1:123456789012:accesspoint/example-AP Yes 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 891CE47D2EXAMPLE REST.GET.LOGGING_STATUS - "GET /amzn-s3-demo-bucket1?logging HTTP/1.1" 200 - 242 - 11 - "-" "S3Console/0.4" - 9vKBE6vMhrNiWHZmb2L0mXOcqPGzQOI5XLnCtZNPxev+Hf+7tpT6sxDwDty4LHBUOZJG96N1234= SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 - - 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be A1206F460EXAMPLE REST.GET.BUCKETPOLICY - "GET /amzn-s3-demo-bucket1?policy HTTP/1.1" 404 NoSuchBucketPolicy 297 - 38 - "-" "S3Console/0.4" - BNaBsXZQQDbssi6xMBdBU2sLt+Yf5kZDmeBUP35sFoKa3sLLeMC78iwEIWxs99CRUrbS4n11234= SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 - Yes 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:01:00 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 7B4A0FABBEXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket1?versioning HTTP/1.1" 200 - 113 - 33 - "-" "S3Console/0.4" - Ke1bUcazaN1jWuUlPJaxF64cQVpUEhoZKEG/hmy/gijN/I1DeWqDfFvnpybfEseEME/u7ME1234= SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 - - 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:01:57 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be DD6CC733AEXAMPLE REST.PUT.OBJECT s3-dg.pdf "PUT /amzn-s3-demo-bucket1/s3-dg.pdf HTTP/1.1" 200 - - 4406583 41754 28 "-" "S3Console/0.4" - 10S62Zv81kBW7BB6SX4XJ48o6kpcl6LPwEoizZQQxJd5qDSCTLX0TgS37kYUBKQW3+bPdrg1234= SigV4 ECDHE-RSA-AES128-SHA AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 - Yes
Nota

Qualsiasi campo può essere impostato su - per indicare che i dati erano sconosciuti o non disponibili, oppure che il campo non era 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, consulta la sezione relativa agli identificatori Account AWS nella Riferimenti generali di AWS. Per informazioni su come trovare l'ID utente canonico per il proprio account, consulta Trovare l'ID utente canonico per il proprio Account AWS.

Esempio di voce

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 voce

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 voce

[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 voce

192.0.2.3
Richiedente

L'ID utente canonico del richiedente, o un - per le richieste non autenticate. Se il richiedente era un utente IAM, questo campo restituisce il nome dell'utente IAM del richiedente insieme a Account AWS a cui appartiene l'utente IAM. Questo identificatore è lo stesso utilizzato per il controllo degli accessi.

Esempio di voce

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be

Se il richiedente utilizza un ruolo assunto, questo campo restituisce il ruolo IAM assunto.

Esempio di voce

arn:aws:sts::123456789012:assumed-role/roleName/test-role
ID di richiesta

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

Esempio di voce

3E57427F33A59F07
Operazione

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

Esempio di voce

REST.PUT.OBJECT
Chiave

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

Esempio di voce

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

La parte Request-URI del messaggio di richiesta HTTP.

Esempio di iscrizione

"GET /amzn-s3-demo-bucket1/photos/2019/08/puppy.jpg?x-foo=bar HTTP/1.1"
Stato HTTP

Il codice di stato HTTP numerico della risposta.

Esempio di voce

200
Codice di errore

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

Esempio di voce

NoSuchBucket
Byte inviati

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

Esempio di voce

2662992
Dimensione oggetto

La dimensione totale dell'oggetto in questione.

Esempio di voce

3462992
Tempo totale

Il numero di millisecondi in cui la richiesta è stata in volo dal punto di vista 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 voce

70
Tempo di rotazione

Il numero di millisecondi impiegati da 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 voce

10
Referer

Il valore dell'intestazione HTTP Referer, se presente. Gli interpreti HTTP (ad esempio, i browser) impostano di solito questa intestazione sull'URL della pagina di collegamento o incorporazione quando effettuano una richiesta.

Esempio di voce

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

Il valore dell'intestazione HTTP User-Agent.

Esempio di voce

"curl/7.15.1"
Versione Id

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

Esempio di voce

3HL4kqtJvjVBH40Nrjfkd
Id host

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

Esempio di voce

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

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

Esempio di voce

SigV2
Suite di crittografia

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

Esempio di voce

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 voce

AuthHeader
Intestazione dell'host

L'endpoint utilizzato per connettersi ad Amazon S3.

Esempio di voce

s3.us-west-2.amazonaws.com

Alcune Regioni meno recenti supportano gli endpoint legacy. È possibile vedere questi endpoint nei log di accesso al server o nei log AWS CloudTrail. Per ulteriori informazioni, consulta Endpoint legacy. Per un elenco completo degli endpoint e delle Regioni Amazon S3, consulta 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 voce

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

Il nome della risorsa Amazon (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 Utilizzo dei punti di accesso. Per maggiori informazioni sui nomi delle risorse Amazon (ARN), consulta Nome della risorsa Amazon (ARN) in Riferimenti generali di AWS.

Esempio di voce

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 voce

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 sezione precedente descrive i campi relativi alla parte PUT dell'operazione. L'elenco seguente descrive i campi del record relativi alla parte GET dell'operazione di copia.

Proprietario del bucket

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

Esempio di voce

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Bucket

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

Esempio di voce

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 voce

[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 voce

192.0.2.3
Richiedente

L'ID utente canonico del richiedente, o un - per le richieste non autenticate. Se il richiedente era un utente IAM, questo campo restituisce il nome dell'utente IAM del richiedente insieme a Utente root dell'account AWS a cui appartiene l'utente IAM. Questo identificatore è lo stesso utilizzato per il controllo degli accessi.

Esempio di voce

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be

Se il richiedente utilizza un ruolo assunto, questo campo restituisce il ruolo IAM assunto.

Esempio di voce

arn:aws:sts::123456789012:assumed-role/roleName/test-role
ID di richiesta

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

Esempio di voce

3E57427F33A59F07
Operazione

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 voce

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 voce

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

La parte Request-URI del messaggio di richiesta HTTP.

Esempio di voce

"GET /amzn-s3-demo-bucket1/photos/2019/08/puppy.jpg?x-foo=bar"
Stato HTTP

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

Esempio di voce

200
Codice di errore

Le risposte di errore di Amazon S3 della porzione GET dell'operazione di copia oppure - se non si è verificato alcun errore.

Esempio di voce

NoSuchBucket
Byte inviati

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

Esempio di voce

2662992
Dimensione oggetto

La dimensione totale dell'oggetto in questione.

Esempio di voce

3462992
Tempo totale

Il numero di millisecondi in cui la richiesta è stata in volo dal punto di vista 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 voce

70
Tempo di rotazione

Il numero di millisecondi impiegati da 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 voce

10
Referer

Il valore dell'intestazione HTTP Referer, se presente. Gli interpreti HTTP (ad esempio, i browser) impostano di solito questa intestazione sull'URL della pagina di collegamento o incorporazione quando effettuano una richiesta.

Esempio di voce

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

Il valore dell'intestazione HTTP User-Agent.

Esempio di voce

"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 iscrizione

3HL4kqtJvjVBH40Nrjfkd
Id host

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

Esempio di voce

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 voce

SigV4
Suite di crittografia

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

Esempio di voce

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 voce

AuthHeader
Intestazione dell'host

L'endpoint utilizzato per connettersi ad Amazon S3.

Esempio di voce

s3.us-west-2.amazonaws.com

Alcune Regioni meno recenti supportano gli endpoint legacy. È possibile vedere questi endpoint nei log di accesso al server o nei log AWS CloudTrail. Per ulteriori informazioni, consulta Endpoint legacy. Per un elenco completo degli endpoint e delle Regioni Amazon S3, consulta 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 voce

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

Il nome della risorsa Amazon (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 Utilizzo dei punti di accesso. Per maggiori informazioni sui nomi delle risorse Amazon (ARN), consulta Nome della risorsa Amazon (ARN) in Riferimenti generali di AWS.

Esempio di voce

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 voce

Yes

Informazioni sui log di accesso personalizzati

È possibile includere informazioni personalizzate da memorizzare nel record del log di accesso per una richiesta. A tal fine, aggiungere un parametro query-string personalizzato all'URL della 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/amzn-s3-demo-bucket1/photos/2019/08/puppy.jpg?x-user=johndoe" funziona come la richiesta per "s3.amazonaws.com/amzn-s3-demo-bucket1/photos/2019/08/puppy.jpg", tranne per il 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 di programmazione per il formato estensibile del log degli accessi 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.