Come configurare i registri di accesso al server su S3

Come configurare i registri di accesso al server su S3
Ogni volta che qualcuno su un server avvia un'operazione, viene generata una richiesta nel backend per eseguire tale operazione. Le operazioni eseguite sui server sono generalmente operazioni CRUD (creare, leggere, aggiornare, eliminare). Le richieste generate per le operazioni possono essere registrate o archiviate dal server e le chiamiamo registri di accesso o log di accesso al server.

Questi registri possono essere utilizzati per monitorare le prestazioni, i punti di guasto di ripercuota, migliorare la sicurezza, analizzare i costi e molti altri scopi. Inizialmente, i registri sono generati in formato di testo, ma possiamo eseguire analisi dei dati su di esso utilizzando strumenti e software diversi per ottenere le informazioni richieste da essi.

AWS consente di abilitare i registri di accesso per i secchi S3, fornendo i dettagli relativi alle operazioni e alle azioni eseguite su quel secchio S3. Devi solo abilitare la registrazione sul secchio e fornire una posizione in cui verranno archiviati questi registri, di solito un altro secchio S3. Il processo non è in tempo reale, poiché questi registri vengono aggiornati in una o due ore.

In questo articolo, vedremo come possiamo facilmente abilitare i registri di accesso al server per i secchi S3 nei nostri account AWS.

Creazione di un secchio S3

Per iniziare, dobbiamo creare due secchi S3; Uno sarà il secchio reale che vogliamo utilizzare per i nostri dati e l'altro verrà utilizzato per archiviare i registri del nostro secchio di dati. Quindi accedi semplicemente al tuo account AWS e cerca il servizio S3 utilizzando la barra di ricerca disponibile nella parte superiore della console di gestione.

Ora nella console S3, fai clic su Crea bucket.

Nella sezione di creazione del secchio, è necessario fornire un nome di secchio; Il nome del secchio deve essere universalmente unico e non deve esistere in nessun altro account AWS. Successivamente, è necessario specificare la regione AWS in cui si desidera che il tuo secchio S3 venga posizionato; Sebbene S3 sia un servizio globale, il che significa che può essere accessibile in qualsiasi regione, è comunque necessario definire in quale regione verranno archiviati i dati. Puoi gestire molte altre impostazioni come versioni, crittografia, accesso pubblico, ecc., Ma puoi semplicemente lasciarli come impostazione predefinita.

Ora scorri verso il basso e fai clic sul secchio Crea nell'angolo in basso a destra per finire il processo di creazione del secchio.

Allo stesso modo, crea un altro bucket S3 come bucket di destinazione per i registri di accesso al server.

Quindi abbiamo creato correttamente i nostri secchi S3 per il caricamento di dati e l'archiviazione dei registri.

Abilitazione dei registri di accesso utilizzando la console AWS

Ora dall'elenco dei bucket S3, selezionare il secchio per il quale si desidera abilitare i registri di accesso al server.

Vai alla scheda Proprietà dalla barra del menu in alto.

Nella sezione Proprietà di S3, scorrere fino alla sezione di registrazione dell'accesso al server e fare clic sull'opzione Modifica.

Qui selezionare l'opzione Abilita; Ciò aggiornerà automaticamente l'elenco di controllo degli accessi (ACL) del tuo secchio S3, quindi non è necessario gestire le autorizzazioni da solo.

Ora devi fornire il secchio target in cui verranno archiviati i tuoi registri; Basta fare clic su Sfoglia S3.

Seleziona il bucket che si desidera configurare per i registri di accesso e fare clic su Scegli il percorso pulsante.

NOTA: Non utilizzare mai lo stesso bucket per salvare i registri di accesso al server di ciascun registro, quando aggiunto nel secchio attiverà un altro registro e genererà un ciclo di registrazione infinito che farà aumentare la dimensione del bucket S3 e finirai con un Enorme quantità di fattura sul tuo account AWS.

Una volta scelto il bucket target, fare clic su Salva modifiche nell'angolo in basso a destra per completare il processo.

I registri di accesso sono ora abilitati e possiamo visualizzarli nel bucket che abbiamo configurato come secchio di destinazione. Puoi scaricare e visualizzare questi file di registro in formato di testo.

Quindi abbiamo abilitato correttamente i registri di accesso al server sul nostro bucket S3. Ora, ogni volta che un'operazione viene eseguita nel secchio, verrà registrata nel secchio di destinazione S3.

Abilitazione dei registri di accesso utilizzando la CLI

Avevamo a che fare con la console di gestione AWS per svolgere il nostro compito fino ad ora. L'abbiamo fatto correttamente, ma AWS fornisce anche agli utenti un altro modo per gestire servizi e risorse nell'account utilizzando l'interfaccia della riga di comando. Alcune persone che hanno poca esperienza nell'uso della CLI potrebbero trovarlo un po 'complicato e complesso, ma una volta che ci vai avanti, lo preferirai sulla console di gestione, proprio come fanno la maggior parte dei professionisti. L'interfaccia della riga di comando AWS può essere impostata per qualsiasi ambiente, Windows, Mac o Linux, e puoi anche semplicemente aprire la shell cloud AWS nel browser.

Il primo passo è semplicemente creare i secchi nel nostro account AWS, per i quali dobbiamo semplicemente usare il seguente comando.

$: AWS S3API Crea-Bucket--Bucket --regione

Un secchio sarà il nostro secchio di dati effettivi in ​​cui metteremo i nostri file e dobbiamo abilitare i registri su questo secchio.

Successivamente, abbiamo bisogno di un altro secchio in cui verranno memorizzati i registri di accesso al server.

Per visualizzare i secchi S3 disponibili nel tuo account, è possibile utilizzare il comando seguente.

$: AWS S3API List-Bucket

Quando abilitiamo la registrazione utilizzando la console, AWS stesso assegna l'autorizzazione al meccanismo di registrazione per mettere gli oggetti nel bucket target. Ma per la CLI, devi allegare la politica da solo. Dobbiamo creare un file JSON e aggiungere la seguente politica ad esso.

Sostituisci il Data_bucket_name E Source_account_id con il nome del bucket S3 per il quale vengono configurati i registri di accesso al server e l'ID account AWS in cui esiste un bucket di origine S3.


"Versione": "2012-10-17",
"Dichiarazione": [

"SID": "S3ServeraccessLogspolicy",
"Effetto": "Consenti",
"Principal": "servizio": "Logging.S3.Amazonaws.com ",
"Azione": "S3: PutObject",
"Resource": "Arn: AWS: S3 ::: Data_bucket_name/*",
"Condizione":
"Arnlike": "AWS: Sourcearn": "Arn: AWS: S3 ::: Data_bucket_name",
"Stringequals": "AWS: Sourceaccount": "Source_account_id"


"

Dobbiamo allegare questa politica al nostro bucket Target S3 in cui verranno salvati i registri di accesso al server. Esegui il seguente comando AWS CLI per configurare il criterio con il bucket di destinazione S3.

$: AWS S3API Put-Bucket-Policy--Bucket --File dei criteri: // s3_logging_policy.JSON

La nostra politica è allegata al bucket target, consentendo al bucket di dati di mettere i registri di accesso al server.

Dopo aver allegato il criterio al bucket di destinazione S3, ora abilita i registri di accesso al server sul bucket di origine (dati) S3. Per questo, in primo luogo, crea un file JSON con i seguenti contenuti.


"LoggingEnabled":
"TargetBucket": "Target_S3_Bucket",
"TargetPrefix": "Target_prefix"

Infine, per abilitare la registrazione dell'accesso al server S3 per il nostro bucket originale, eseguire semplicemente il comando seguente.

$: AWS S3API Put-Bucket-Logging--bucket --filetto-logging-status file: // able_logging.JSON

Quindi abbiamo abilitato correttamente i registri di accesso al server sul nostro bucket S3 utilizzando l'interfaccia della riga di comando AWS.

Conclusione

AWS ti fornisce la funzione per abilitare facilmente i registri di accesso al server nei secchi S3. I registri forniscono l'IP utente che ha avviato quella particolare richiesta operativa, la data e l'ora della richiesta, il tipo di operazione eseguita e se tale richiesta ha avuto successo. L'output dei dati è in forma grezza nel file di testo, ma puoi anche eseguire analisi su di esso utilizzando strumenti avanzati come AWS Athena per ottenere risultati più maturi di questi dati.