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

Orario

L'ora in cui è stata ricevuta la richiesta; queste date e orari sono espressi in Coordinated Universal Time ()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 IAM utente, questo campo restituisce il nome IAM utente del richiedente insieme a Account AWS quello a cui appartiene l'IAMutente. Questo identificatore è lo stesso che viene usato per accedere a scopi di controllo.

Esempio di inserimento

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be

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

Esempio di inserimento

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 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 di S3.

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 Request-URI parte del messaggio di HTTP richiesta.

Esempio di inserimento

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

Il codice numerico di HTTP stato della risposta.

Esempio di inserimento

200
Codice di errore

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

Esempio di inserimento

NoSuchBucket
Byte inviati

Il numero di byte di risposta inviati, escluso il sovraccarico HTTP del protocollo, o - se 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'HTTPRefererintestazione, se presente. HTTPGli user-agent (ad esempio i browser) in genere impostano questa intestazione sulla pagina di collegamento o URL di incorporamento quando effettuano 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

Il codice Secure Sockets Layer (SSL) negoziato per una HTTPS richiesta o per. - HTTP

Esempio di inserimento

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

Il tipo di autenticazione della richiesta utilizzato: AuthHeader per le intestazioni di autenticazione, QueryString per la stringa di query (prefirmataURL) o per le 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.

TLSversione

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

Esempio di inserimento

TLSv1.2
Punto di accesso ARN

L'Amazon Resource Name (ARN) del punto di accesso della richiesta. Se il punto di accesso non ARN è valido o non viene utilizzato, il campo conterrà un-. Per ulteriori informazioni sui punti di accesso, consulta la sezione Utilizzo degli access point. Per ulteriori informazioniARNs, consulta Amazon Resource Name (ARN) nella AWS Reference Guide.

Esempio di inserimento

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

Una stringa che indica se la richiesta ha richiesto una lista di controllo degli accessi (ACL) per l'autorizzazione. Se la richiesta ACL richiedeva un'autorizzazione, la stringa èYes. Se non ACLs fosse richiesto, la stringa è-. Per ulteriori informazioni suACLs, vederePanoramica della lista di controllo degli accessi (ACL). Per ulteriori informazioni sull'utilizzo del aclRequired campo per disabilitareACLs, vedereControllo della proprietà degli oggetti e disattivazione ACLs del 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

Orario

L'ora in cui è stata ricevuta la richiesta; queste date e orari sono espressi in Coordinated Universal Time ()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 IAM utente, questo campo restituirà il nome IAM utente del richiedente insieme a Utente root dell'account AWS quello a cui appartiene l'IAMutente. Questo identificatore è lo stesso che viene usato per accedere a scopi di controllo.

Esempio di inserimento

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be

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

Esempio di inserimento

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 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 Request-URI parte del messaggio di HTTP richiesta.

Esempio di inserimento

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

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

Esempio di inserimento

200
Codice di errore

Le risposte di errore di Amazon S3 relative alla GET parte dell'operazione di copia o - se non si è verificato alcun errore.

Esempio di inserimento

NoSuchBucket
Byte inviati

Il numero di byte di risposta inviati, escluso il sovraccarico del HTTP protocollo, o - se 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'HTTPRefererintestazione, se presente. HTTPGli user-agent (ad esempio i browser) in genere impostano questa intestazione sulla pagina di collegamento o URL di incorporamento quando effettuano 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

Il codice Secure Sockets Layer (SSL) negoziato per una HTTPS richiesta o per. - HTTP

Esempio di inserimento

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

Il tipo di autenticazione delle richieste utilizzato: AuthHeader per le intestazioni di autenticazione, per le stringhe di query (prefirmateURLs) o QueryString per le 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.

TLSversione

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

Esempio di inserimento

TLSv1.2
Punto di accesso ARN

L'Amazon Resource Name (ARN) del punto di accesso della richiesta. Se il punto di accesso non ARN è valido o non viene utilizzato, il campo conterrà un-. Per ulteriori informazioni sui punti di accesso, consulta la sezione Utilizzo degli access point. Per ulteriori informazioniARNs, consulta Amazon Resource Name (ARN) nella AWS Reference Guide.

Esempio di inserimento

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

Una stringa che indica se la richiesta ha richiesto una lista di controllo degli accessi (ACL) per l'autorizzazione. Se la richiesta ACL richiedeva un'autorizzazione, la stringa èYes. Se non ACLs fosse richiesto, la stringa è-. Per ulteriori informazioni suACLs, vederePanoramica della lista di controllo degli accessi (ACL). Per ulteriori informazioni sull'utilizzo del aclRequired campo per disabilitareACLs, vedereControllo della proprietà degli oggetti e disattivazione ACLs del bucket.

Esempio di inserimento

Yes

Informazioni sui log di accesso personalizzati

È possibile includere informazioni personalizzate da memorizzare nel report del registro di accesso per una richiesta. A tale scopo, aggiungi un parametro query-string personalizzato alla URL 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 "s3.amazonaws.com/amzn-s3-demo-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'RESTinterfaccia.

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.