Cloud & IT Cert Prep · leksjon

Bygge tabeller over CloudTrail-data

Definer et skjema som lar Dem spørre direkte mot revisjonshendelser.

Leksjon 2 av 413 trinn

Bygge tabeller over CloudTrail-data er en gratis leksjon i Cloud & IT Cert Prep på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Cloud & IT Cert Prep, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Cloud & IT Cert Prep inneholder totalt 4 leksjoner.

Hvorfor du trenger en tabell

Athena kan ikke spørre mot rå S3-filer før du forteller tjenesten hvordan de skal leses. En tabell kobler CloudTrail-JSON-filene i S3-bøtten til navngitte kolonner med datatyper. Når tabellen finnes, kan den rike strukturen i CloudTrail-hendelsene nås med vanlig SQL.

CloudTrail-loggenes struktur

CloudTrail leverer hendelser som JSON, der hver post beskriver ett API-kall med nestede felt som userIdentity, eventName, sourceIPAddress og requestParameters. Tabellskjemaet må gjenspeile denne nestingen, blant annet med struct-typer for objekter, slik at spørringer kan nå felt som userIdentity.arn.

Bruke DDL-en fra AWS

Du trenger ikke å skrive skjemaet for hånd. AWS publiserer en standard CREATE TABLE-setning for CloudTrail, og både CloudTrail-konsollen og Athena kan generere den for deg. Når du bruker den medfølgende DDL-en, sikrer du at alle felt, også de som ligger dypt nestet, blir riktig tilordnet, slik at spørringene dine ikke går glipp av data.

SerDe

En SerDe (Serializer/Deserializer) forteller Athena hvordan hver fil skal tolkes. CloudTrail-tabeller bruker en SerDe som er utformet for CloudTrail-oppsettet i JSON, og som forstår både records-arrayet og nestede strukturer. Det er avgjørende å velge riktig SerDe; en feil kan føre til tolkningsfeil eller NULL-verdier i kolonnene.

ROW FORMAT SERDE
  'com.amazon.emr.hive.serde.CloudTrailSerde'
STORED AS INPUTFORMAT
  'com.amazon.emr.cloudtrail.CloudTrailInputFormat'

Peke på S3-plasseringen

Tabellens LOCATION-uttrykk peker på S3-prefikset der CloudTrail lagrer logger, vanligvis en bane som inneholder konto-ID og region. Det er viktig å angi riktig prefiks: Et for bredt prefiks gjør at du skanner irrelevante data, mens et for smalt prefiks gjør at du går glipp av hendelser du ønsket å spørre etter.

Spørre etter nestede felt

Når tabellen er opprettet, kan du spørre etter nestede felt ved hjelp av punktnotasjon, for eksempel userIdentity.arn eller requestParameters.bucketName. SQL-funksjoner hjelper deg med å pakke ut arrayer og JSON-strenger. Det er her Athena virkelig utmerker seg i undersøkelser: Du kan filtrere presist på hendelsesnavn, principal og parametere for alle API-kall.

Glue Crawlers som alternativ

I stedet for manuell DDL kan en AWS Glue crawler skanne S3-dataene og automatisk utlede et skjema i Data Catalog. For velkjente formater som CloudTrail er den medfølgende DDL-en vanligvis ryddigere, men crawlere er nyttige for egendefinerte eller skiftende loggformater der du helst vil slippe å skrive skjemaet manuelt.

Håndtere særegenheter ved JSON

CloudTrail-JSON inneholder felt som selv er JSON-strenger, for eksempel requestParameters når verdiene varierer mellom tjenester. Du tolker ofte disse ved spørringstidspunktet ved hjelp av JSON-funksjoner. Når du vet at enkelte kolonner er strenger som må tolkes, og ikke forhåndsstrukturerte kolonner, unngår du forvirring når et felt ikke oppfører seg som en vanlig kolonne.

Tabeller for organisasjonsspor

For et organisasjonsspor havner logger fra alle kontoer i én bøtte, under prefikser som er spesifikke for hver konto. Du kan opprette én tabell over hele prefikset for å spørre mot alle kontoer samtidig, eller separate tabeller per konto for å holde dem atskilt. En samlet tabell er svært nyttig for trusseljakt i hele organisasjonen med én spørring.

Bekrefte tabellen

Etter at du har opprettet tabellen, kjører du en rask SELECT med en liten LIMIT for å bekrefte at rader returneres og at kolonnene fylles ut som forventet. Hvis kolonnene er NULL, er det sannsynligvis noe galt med SerDe-en, plasseringen eller skjemaet. Denne rimelighetssjekken hindrer deg i å bygge undersøkelser på en tabell som i stillhet er ødelagt.

Fra tabell til undersøkelse

Når CloudTrail-tabellen er riktig, har du et søkbart revisjonsspor som dekker hele den registrerte historikken. Hver konsollpålogging, hvert API-kall og hver feil er nå en rad du kan filtrere og aggregere. Denne tabellen er grunnlaget for hendelsesspørringene du skal skrive videre.

Rask sjekk

Test kunnskapen din om å bygge tabeller.

Oppsummering

For å spørre etter CloudTrail i Athena oppretter du en tabell som kobler JSON-filene til kolonner. Du bruker AWS sin medfølgende CREATE TABLE DDL, riktig SerDe og riktig S3-LOCATION. Spør etter nestede felt med punktnotasjon, tolk JSON-strengkolonner ved spørringstidspunktet, og bekreft resultatet med en liten SELECT. Et organisasjonsspor kan samles i én tabell for trusseljakt i hele organisasjonen.

Gratis å komme i gang

Lær deg Cloud & IT Cert Prep med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
150
Leksjoner
600

Ofte stilte spørsmål

Er leksjonen «Bygge tabeller over CloudTrail-data» gratis?

Ja – hele teksten i «Bygge tabeller over CloudTrail-data» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Cloud & IT Cert Prep-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Cloud & IT Cert Prep inneholder totalt 4 leksjoner.

Hva lærer jeg i «Bygge tabeller over CloudTrail-data»?

Definer et skjema som lar Dem spørre direkte mot revisjonshendelser. Du øver på Cloud & IT Cert Prep med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Cloud & IT Cert Prep?

Ingen tidligere erfaring er nødvendig. Cloud & IT Cert Prep på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Bygge tabeller over CloudTrail-data»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Cloud & IT Cert Prep-leksjonen?

Ja. Alle Cloud & IT Cert Prep-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Gjøre oppslag i S3-logger med Athena
  2. Bygge tabeller over CloudTrail-data
  3. Undersøke hendelser med SQL-spørringer
  4. Partisjonere logger for hastighet og kostnad
← Tilbake til Cloud & IT Cert Prep