Hvordan konfigurere servertilgangslogger på S3

Hvordan konfigurere servertilgangslogger på S3
Hver gang noen på en server initierer en operasjon, genereres en forespørsel i backend for å oppfylle denne operasjonen. Operasjonene som utføres på serverne er vanligvis CRUD -operasjoner (opprette, lese, oppdatere, slette). Forespørslene som genereres for operasjonene kan logges eller lagres av serveren, og vi kaller dem tilgangslogger eller servertilgangslogger.

Disse loggene kan brukes til å overvåke ytelse, tilbaketrekningssviktpunkter, forbedre sikkerhet, analysere kostnader og mange andre formål. Til å begynne med genereres logger i tekstformat, men vi kan kjøre dataanalyse over den ved hjelp av forskjellige verktøy og programvare for å få den nødvendige informasjonen ut av dem.

AWS lar deg aktivere tilgangslogger for S3 -bøtter, og gi deg detaljene angående operasjoner og handlinger som er utført på den S3 -bøtten. Du trenger bare å aktivere logging på bøtta og gi et sted der disse tømmerstokkene vil bli lagret, vanligvis en annen S3 -bøtte. Prosessen er ikke sanntid, ettersom disse logger blir oppdatert på en eller to timer.

I denne artikkelen vil vi se hvordan vi enkelt kan aktivere servertilgangslogger for S3 -bøtter i våre AWS -kontoer.

Opprette S3 -bøtte

For å starte opp med, må vi lage to S3 -bøtter; Den ene vil være den faktiske bøtta vi vil bruke til dataene våre, og den andre vil bli brukt til å lagre logger på databøtten vår. Så bare logg inn på AWS -kontoen din og søk etter S3 -tjenesten ved å bruke søkefeltet som er tilgjengelig øverst i administrasjonskonsollen din.

Nå i S3 -konsollen, klikk på Create Bucket.

I seksjonen Bucket Creation, må du oppgi et bøtte -navn; Bøttenavnet må være universelt unikt og må ikke eksistere på noen annen AWS -konto. Deretter må du spesifisere AWS -regionen der du vil at S3 -bøtta skal plasseres; Selv om S3 er en global tjeneste, noe som betyr at den kan være tilgjengelig i alle regioner, må du fremdeles definere i hvilken region dataene dine vil bli lagret. Du kan administrere mange andre innstillinger som versjonering, kryptering, offentlig tilgang osv., Men du kan ganske enkelt la dem være som standard.

Nå bla ned og klikk på Create Bucket nederst til høyre for å fullføre prosessen.

Lag en annen S3 -bøtte som destinasjonsbøtte for servertilgangsloggene.

Så vi har opprettet S3 -bøttene våre for å laste opp data og lagre logger.

Aktivering av tilgangslogger ved hjelp av AWS -konsoll

Nå fra S3 Bucket List, velg bøtta du vil aktivere servertilgangsloggene.

Gå til kategorien Egenskaper fra den øverste menylinjen.

I egenskapen til S3, blar du ned til servertilgangsloggingsseksjonen og klikker på alternativet Rediger.

Her velger du Aktiver -alternativet; Dette oppdaterer automatisk tilgangskontrolllisten (ACL) til S3 -bøtta, slik at du ikke trenger å administrere tillatelsene selv.

Nå må du oppgi målbøtten der loggene dine blir lagret; Bare klikk på Bla gjennom S3.

Velg bøtta du vil konfigurere for tilgangslogger og klikk på Velg sti knapp.

MERK: Bruk aldri den samme bøtta for å lagre servertilgangslogger som hver logg, når du blir lagt til i bøtta vil utløse en annen logg, og den vil generere en uendelig loggsløyfe som vil føre til at S3 -bøttestørrelsen øker for alltid, og du vil ende opp med en enormt mengde regning på AWS -kontoen din.

Når målbøtten er valgt, klikker du på Lagre endringer i nedre høyre hjørne for å fullføre prosessen.

Tilgangsloggene er nå aktivert, og vi kan se dem i bøtta vi har konfigurert som destinasjonsbøtte. Du kan laste ned og se disse loggfilene i tekstformat.

Så vi har aktivert servertilgangslogger på vår S3 -bøtte. Nå, når en operasjon utføres i bøtta, vil den bli logget på destinasjon S3 -bøtta.

Aktivering av tilgangslogger ved hjelp av CLI

Vi hadde å gjøre med AWS Management Console for å utføre oppgaven vår til nå. Vi har gjort det med hell, men AWS gir også brukerne en annen måte å administrere tjenester og ressurser på kontoen ved å bruke kommandolinjegrensesnittet. Noen mennesker som har liten erfaring med å bruke CLI, kan synes det. AWS-kommandolinjegrensesnittet kan settes opp for ethvert miljø, enten Windows, Mac eller Linux, og du kan også bare åpne AWS Cloud Shell i nettleseren din.

Det første trinnet er å ganske enkelt opprette bøttene på AWS -kontoen vår, som vi ganske enkelt trenger å bruke følgende kommando.

$: AWS S3API Create-Bucket--Bucket --region

En bøtte vil være vår faktiske databøtte der vi vil legge filene våre, og vi må aktivere logger på denne bøtta.

Deretter trenger vi en annen bøtte der servertilgangslogger vil bli lagret.

For å se tilgjengelige S3 -bøtter på kontoen din, kan du bruke følgende kommando.

$: AWS S3API List-Buckets

Når vi aktiverer logging ved hjelp av konsollen, tildeler AWS selv tillatelse til loggmekanismen for å sette objekter i målbøtten. Men for CLI, må du legge ved policyen selv. Vi må opprette en JSON -fil og legge til følgende policy til den.

Bytt ut Data_bucket_name og Source_account_id med S3 -bøtte -navnet som servertilgangslogger som er konfigurert og AWS -konto -ID der kilde S3 -bøtte eksisterer.


"Versjon": "2012-10-17",
"Uttalelse": [

"Sid": "S3ServerAccessLogspolicy",
"Effekt": "Tillat",
"Principal": "Service": "Logging.S3.Amazonaws.com ",
"Handling": "S3: PutObject",
"Ressurs": "Arn: AWS: S3 ::: Data_Bucket_Name/*",
"Betingelse":
"Arnlignende": "AWS: Sourcearn": "Arn: AWS: S3 ::: Data_Bucket_Name",
"Stringequals": "AWS: SourceacCount": "Source_account_id"


]

Vi må knytte denne policyen til vår Target S3 -bøtte der servertilgangsloggene vil bli lagret. Kjør følgende AWS CLI -kommando for å konfigurere policyen med destinasjonen S3 -bøtta.

$: AWS S3API Put-Bucket-Policy--Bucket --policyfil: // s3_logging_policy.JSON

Vår policy er knyttet til målbøtten, slik at databøtten kan sette servertilgangslogger.

Etter å ha festet policyen til destinasjon S3 -bøtta, må du nå aktivere servertilgangslogger på kilden (data) S3 -bøtta. For først, oppretter du en JSON -fil med følgende innhold.


"Loggingenabled":
"Targetbucket": "Target_s3_bucket",
"TargetPrefix": "Target_Prefix"

Til slutt, for å aktivere S3 Server Access Logging for vår opprinnelige bøtte, bare kjør følgende kommando.

$: AWS S3API Put-Bucket-Logging--Bucket --Bucket-logging-Status-fil: // Enable_logging.JSON

Så vi har aktivert servertilgangslogger på S3-bøtta ved hjelp av AWS-kommandolinjegrensesnittet.

Konklusjon

AWS gir deg anlegget til enkelt å aktivere servertilgangslogger i S3 -bøttene dine. Loggene gir brukerens IP som startet den aktuelle operasjonsforespørselen, datoen og klokkeslettet for forespørselen, typen operasjon som ble utført og om den forespørselen var vellykket. Datautgangen er i rå form i tekstfilen, men du kan også kjøre analyse over den ved hjelp av avanserte verktøy som AWS Athena for å få mer modne resultater av disse dataene.