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à.
Utilizzo dei log degli accessi al server Amazon S3 per identificare le richieste
Puoi identificare le richieste Amazon S3 con i log degli accessi al server Amazon S3.
Nota
-
Per identificare le richieste Amazon S3, ti consigliamo di utilizzare eventi AWS CloudTrail relativi ai dati anziché i log di accesso al server Amazon S3. CloudTrail gli eventi relativi ai dati sono più facili da configurare e contengono più informazioni. Per ulteriori informazioni, consulta Identificazione delle richieste Amazon S3 tramite CloudTrail.
-
A seconda del numero di richieste di accesso ricevute, l'analisi dei log potrebbe richiedere più risorse o tempo rispetto all'utilizzo degli eventi relativi ai CloudTrail dati.
Argomenti
Esecuzione di query sui log degli accessi per le richieste tramite Amazon Athena
Puoi identificare le richieste ad Amazon S3 con i log degli accessi ad Amazon S3 utilizzando Amazon Athena.
Amazon S3 archivia i log degli accessi al server come oggetti in un bucket S3. Spesso è più facile utilizzare uno strumento in grado di analizzare i log in Amazon S3. Athena supporta l'analisi di oggetti S3 e può essere utilizzato per eseguire query sui log degli accessi Amazon S3.
Esempio
L'esempio seguente mostra come eseguire query sui log degli accessi al server Amazon S3 in Amazon Athena. Sostituisci che trovi nei seguenti esempi con le tue informazioni.user input placeholders
Nota
Per specificare una posizione Amazon S3 in una query Athena, devi fornire un URI S3 per il bucket in cui vengono distribuiti i log. Questo URI deve includere il nome e il prefisso del bucket nel seguente formato: s3:// /amzn-s3-demo-bucket1-logs/prefix
Apri la console Athena all'indirizzo https://console.aws.amazon.com/athena/
. -
Nel Query Editor esegui un comando simile al seguente. Sostituisci
con il nome che desideri assegnare al database.s3_access_logs_dbCREATE DATABASEs3_access_logs_dbNota
È consigliabile creare il database nello stesso Regione AWS bucket S3.
-
Nel Query Editor eseguire un comando simile al seguente per creare uno schema di tabella nel database creato nella fase 2. Sostituisci
con il nome che desideri assegnare alla tabella. I valori dei tipi di datis3_access_logs_db.mybucket_logsSTRINGeBIGINTsono le proprietà del log di accesso. È possibile eseguire query su queste proprietà in Athena. PerLOCATION, immettere il percorso del prefisso e il bucket S3 come indicato in precedenza. -
Nel riquadro di navigazione, in Database, scegliere il database.
-
In Tables (Tabelle), scegliere Preview table (Anteprima tabella) accanto al nome della tabella.
Nel pannello Results (Risultati), dovrebbero essere visualizzati i dati dai log di accesso al server, come
bucketowner,bucket,requestdatetimee così via. Questo indica che la tabella Athena è stata creata correttamente. È ora possibile eseguire query sui log degli accessi al server Amazon S3.
Esempio- Visualizza chi ha eliminato un oggetto e quando (timestamp, indirizzo IP e utente IAM)
SELECT requestdatetime, remoteip, requester, key FROMs3_access_logs_db.mybucket_logsWHERE key = 'images/picture.jpg' AND operation like '%DELETE%';
Esempio- Visualizza tutte le operazioni eseguite da un utente IAM
SELECT * FROMs3_access_logs_db.mybucket_logsWHERE requester='arn:aws:iam::123456789123:user/user_name';
Esempio- Visualizza tutte le operazioni eseguite su un oggetto in un periodo di tempo specifico
SELECT * FROMs3_access_logs_db.mybucket_logsWHERE Key='prefix/images/picture.jpg' AND parse_datetime(requestdatetime,'dd/MMM/yyyy:HH:mm:ss Z') BETWEEN parse_datetime('2017-02-18:07:00:00','yyyy-MM-dd:HH:mm:ss') AND parse_datetime('2017-02-18:08:00:00','yyyy-MM-dd:HH:mm:ss');
Esempio: visualizza la quantità di dati trasferiti da un indirizzo IP specifico in un determinato periodo di tempo
SELECT coalesce(SUM(bytessent), 0) AS bytessenttotal FROMs3_access_logs_db.mybucket_logsWHERE remoteip='192.0.2.1' AND parse_datetime(requestdatetime,'dd/MMM/yyyy:HH:mm:ss Z') BETWEEN parse_datetime('2022-06-01','yyyy-MM-dd') AND parse_datetime('2022-07-01','yyyy-MM-dd');
Esempio- Trova gli ID delle richieste per gli errori HTTP 5xx in un periodo di tempo specifico
SELECT requestdatetime, key, httpstatus, errorcode, requestid, hostid FROMs3_access_logs_db.mybucket_logsWHERE httpstatus like '5%' AND timestamp BETWEEN '2024/01/29' AND '2024/01/30'
Identificazione delle richieste Signature Version 2
È possibile utilizzare i log di accesso al server per identificare le richieste Signature Version 2. Per informazioni dettagliate sull'interrogazione dei log con Amazon Athena, consulta la sezione relativa alle interrogazioni di Athena di seguito. Distribuzione dei log a un bucket Amazon S3 per uso generico
Identificazione delle richieste di accesso agli oggetti
È possibile utilizzare i log di accesso al server per identificare i modelli di accesso agli oggetti. Per informazioni dettagliate sull'interrogazione dei log con Amazon Athena, consulta la sezione relativa alle interrogazioni di Athena di seguito. Distribuzione dei log a un bucket Amazon S3 per uso generico