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.
Argomenti
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.
, oHTTP_method
.resource_type
BATCH.DELETE.OBJECT
, oS3.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 parametroversionId
.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
oSigV4
, 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 campoaclRequired
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.
oppureHTTP_method
.resource_type
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'intestazionex-amz-copy-source
non specificava un parametroversionId
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
oSigV4
, 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 campoaclRequired
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.