Cloud & IT Cert Prep · Lektion

CloudTrail-spor og hændelseshistorik

Opret spor for administrations- og datahændelser, lever logs til S3 og CloudWatch Logs, og søg i den 90 dage lange hændelseshistorik i konsollen

Lektion 1 af 413 trin

CloudTrail-spor og hændelseshistorik er en gratis Cloud & IT Cert Prep-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cloud & IT Cert Prep, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

Hvad er AWS CloudTrail?

AWS CloudTrail er en tjeneste, der registrerer hvert API-kald, som foretages på din AWS-konto – uanset om det kommer fra konsollen, CLI, SDK eller en anden AWS-tjeneste. Hver registrering kaldes en CloudTrail-hændelse og indeholder API-handlingen, anmoderens identitet, kilde-IP'en, anmodningsparametrene og svaret. CloudTrail er grundlaget for AWS-sikkerhedsrevision, compliance og operationel undersøgelse. Til SAA-C03-eksamen er det svaret, når et spørgsmål spørger: »Hvem foretog denne ændring?«

Hændelseshistorik: Gratis opslag 90 dage tilbage

Som standard har alle AWS-konti adgang til CloudTrail Event History – en rullende registrering af administrationshændelser for 90 dage, som kan vises i konsollen eller forespørges via CLI. Du kan filtrere efter ressourcenavn, ressourcetype, hændelsesnavn eller brugernavn. Event History er gratis, kræver ingen konfiguration og er tilgængelig med det samme. Det er den hurtigste måde at undersøge nylige ændringer på, men hvis du har brug for længere opbevaring eller mere effektive forespørgsler, skal du oprette en Trail.

# Search event history for who deleted an S3 bucket in the last 7 days
aws cloudtrail lookup-events \
  --lookup-attributes AttributeKey=EventName,AttributeValue=DeleteBucket \
  --start-time $(date -u -d '7 days ago' +%Y-%m-%dT%H:%M:%SZ) \
  --query 'Events[].{Time:EventTime,User:Username,Detail:CloudTrailEvent}' \
  --output table

Oprettelse af en CloudTrail Trail

En Trail er en CloudTrail-konfiguration, der kontinuerligt leverer hændelser til en S3-bucket (og eventuelt til CloudWatch Logs). Du betaler for S3-lager og dataoverførsel. En Trail kan begrænses til én Region eller konfigureres som en Trail på tværs af flere Regions, der registrerer hændelser fra alle aktuelle og fremtidige Regions på din konto. Til SAA-C03-eksamen skal du altid anbefale en Trail på tværs af flere Regions – Trails for én Region går glip af aktivitet i andre Regions og betragtes som et sikkerhedshul.

# Create a multi-region trail delivering to S3
aws cloudtrail create-trail \
  --name OrgAuditTrail \
  --s3-bucket-name my-cloudtrail-logs-111122223333 \
  --is-multi-region-trail \
  --include-global-service-events \
  --enable-log-file-validation

# Start logging (trails are created in 'paused' state)
aws cloudtrail start-logging --name OrgAuditTrail

Administrationshændelser kontra datahændelser

CloudTrail registrerer to kategorier af hændelser: administrationshændelser (også kaldet control-plane-hændelser) registrerer handlinger på ressourcer – oprettelse af en EC2-instans, ændring af en sikkerhedsgruppe eller tilknytning af en IAM-politik. Disse er som standard aktiveret i alle Trails uden ekstra betaling pr. hændelse. Datahændelser registrerer handlinger på objektniveau – S3 GetObject, PutObject, DeleteObject eller Lambda Invoke. Datahændelser kan have meget stor volumen og medføre ekstra gebyrer, så de skal aktiveres eksplicit pr. ressource eller ressourcetype.

# Add data event logging for all S3 objects in a specific bucket
aws cloudtrail put-event-selectors \
  --trail-name OrgAuditTrail \
  --event-selectors '[
    {
      "ReadWriteType": "All",
      "IncludeManagementEvents": true,
      "DataResources": [
        {
          "Type": "AWS::S3::Object",
          "Values": ["arn:aws:s3:::my-sensitive-bucket/"]
        }
      ]
    }
  ]'

Integration mellem CloudTrail og CloudWatch Logs

Levering af CloudTrail-hændelser til CloudWatch Logs muliggør alarmering i realtid på API-aktivitet. Du kan oprette metric filters på CloudTrail-loggruppen for at tælle bestemte hændelser – for eksempel kald til DeleteBucket eller CreateUser – og derefter indstille CloudWatch-alarmer til at advare dit sikkerhedsteam få minutter efter en mistænkelig handling. Dette er et centralt mønster i CIS AWS Foundations Benchmark, som SAA-C03-eksamen ofte henviser til.

# Update a trail to also deliver to CloudWatch Logs
aws cloudtrail update-trail \
  --name OrgAuditTrail \
  --cloud-watch-logs-log-group-arn arn:aws:logs:us-east-1:111122223333:log-group:CloudTrail/Logs:* \
  --cloud-watch-logs-role-arn arn:aws:iam::111122223333:role/CloudTrailCWLogsRole

# Create a metric filter for root account login
aws logs put-metric-filter \
  --log-group-name CloudTrail/Logs \
  --filter-name RootLogin \
  --filter-pattern '{$.userIdentity.type = "Root" && $.eventName = "ConsoleLogin"}' \
  --metric-transformations metricName=RootLogins,metricNamespace=CISBenchmark,metricValue=1

Globale tjenestehændelser

Nogle AWS-tjenester – især IAM, STS, Route 53 og CloudFront – er globale og logger deres API-kald som globale tjenestehændelser. Disse hændelser registreres altid i Region us-east-1, uanset hvor handlingen blev igangsat. Når du opretter en Trail, skal du aktivere --include-global-service-events, så oprettelse af IAM-brugere, ændringer af politikker og STS-rolleantagelser registreres. Hvis du har flere Regionspecifikke Trails, skal du kun aktivere globale tjenestehændelser i én af dem for at undgå duplikerede logregistreringer.

# Verify that global service events are enabled on a trail
aws cloudtrail get-trail \
  --name OrgAuditTrail \
  --query 'Trail.{MultiRegion:IsMultiRegionTrail,GlobalServiceEvents:IncludeGlobalServiceEvents}'

S3-bucketpolitik til CloudTrail-logs

CloudTrail kræver en specifik S3-bucketpolitik, der giver CloudTrail-tjenestens principal (cloudtrail.amazonaws.com) tilladelse til at kalde GetBucketAcl og PutObject på bucketen. AWS håndhæver, at bucketen ikke er offentligt tilgængelig, og at Object Ownership er indstillet til Bucket Owner Enforced. Gem aldrig CloudTrail-logs i den samme bucket, som din applikation bruger – det skaber en cirkulær afhængighed, hvor adgangen til revisionslogs afbrydes, hvis applikationsbucketen låses ned.

# Minimum S3 bucket policy for CloudTrail (abbreviated)
# {
#   "Version": "2012-10-17",
#   "Statement": [
#     {
#       "Sid": "AWSCloudTrailAclCheck",
#       "Effect": "Allow",
#       "Principal": {"Service": "cloudtrail.amazonaws.com"},
#       "Action": "s3:GetBucketAcl",
#       "Resource": "arn:aws:s3:::my-cloudtrail-logs-111122223333"
#     },
#     {
#       "Sid": "AWSCloudTrailWrite",
#       "Effect": "Allow",
#       "Principal": {"Service": "cloudtrail.amazonaws.com"},
#       "Action": "s3:PutObject",
#       "Resource": "arn:aws:s3:::my-cloudtrail-logs-111122223333/AWSLogs/111122223333/*",
#       "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}}
#     }
#   ]
# }

Organisations-Trails

I en AWS Organisation kan du oprette en organisationstrail fra administrationskontoen, som automatisk gælder for alle medlemskonti – både nuværende og fremtidige. Medlemskonti kan ikke ændre eller slette organisationstrailen, hvilket sikrer, at revisionsdækningen ikke kan omgås. Organisationstrails leverer logs til en central S3-bucket med præfikser pr. konto, så et sikkerhedsteam kan forespørge på alle konti's revisionslogs ét sted ved hjælp af Athena eller et SIEM-værktøj.

# Create an organisation trail from the management account
aws cloudtrail create-trail \
  --name OrgCentralTrail \
  --s3-bucket-name central-org-cloudtrail-logs \
  --is-multi-region-trail \
  --is-organization-trail \
  --include-global-service-events \
  --enable-log-file-validation

aws cloudtrail start-logging --name OrgCentralTrail

Athena-integration til loganalyse

CloudTrail-logs, der leveres til S3, er i JSON-format. Du kan bruge Amazon Athena-integrationen i CloudTrail-konsollen til automatisk at oprette en Glue-tabel, der er partitioneret efter konto, Region og dato. Det lader dig forespørge på måneders API-historik ved hjælp af standard-SQL uden at indlæse data i en database. Partitionér efter dato i dine forespørgsler (WHERE year='2024' AND month='01') for at undgå scanning af hele tabellen og holde Athena-omkostningerne under kontrol.

-- Query CloudTrail logs in Athena for IAM policy changes in January 2024
SELECT
  eventtime,
  useridentity.arn AS principal,
  eventname,
  requestparameters
FROM cloudtrail_logs_111122223333
WHERE year = '2024'
  AND month = '01'
  AND eventsource = 'iam.amazonaws.com'
  AND eventname IN ('PutUserPolicy','AttachRolePolicy','CreateUser')
ORDER BY eventtime DESC
LIMIT 100;

Forespørgsel i hændelseshistorik kontra sporingslogge

Der er to måder at søge i CloudTrail-poster på: Event History i konsollen (seneste 90 dage, kun administrationshændelser, begrænsede filtre) og Trail-logge i S3/Athena (ubegrænset opbevaring, også datahændelser, fuld SQL-funktionalitet). I eksamensscenarier: Hvis spørgsmålet handler om at undersøge en hændelse, der er ældre end 90 dage, eller om at forespørge på hændelser i dataplanet (S3 GetObject, Lambda Invoke), skal du altid anbefale at forespørge på sporingsloggene via Athena. Hvis spørgsmålet handler om den enkleste måde at undersøge en nylig administrationshændelse på, er Event History tilstrækkelig.

Vigtige CloudTrail-fakta til eksamen

Husk disse til SAA-C03-eksamen: CloudTrail er ikke realtid — det kan tage op til 15 minutter at levere hændelser til S3 (brug CloudWatch Logs til alarmering næsten i realtid). Event History dækker 90 dage og kun administrationshændelser. Datahændelser skal aktiveres eksplicit og koster ekstra. Validering af logfiler bruger SHA-256-hashværdier til at registrere manipulation. Globale tjenestehændelser (IAM, STS, Route 53) vises kun i us-east-1. Organisationsspor kan ikke deaktiveres af medlemskonti.

Hurtigt tjek

Test din forståelse af AWS Solutions Architect (SAA-C03)-begreberne fra denne lektion.

Opsummering af lektionen

I denne lektion lærte du, at: Event History giver gratis adgang til administrationshændelser for de seneste 90 dage, spor giver løbende levering til S3 med konfigurerbar opbevaring og valgfri datahændelser, og organisationsspor gælder for alle medlemskonti og ikke kan deaktiveres af dem. Næste emne er CloudTrail Insights og kontrol af logfilers integritet.

Gratis at komme i gang

Lær Cloud & IT Cert Prep med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
150
Lektioner
600

Ofte stillede spørgsmål

Er lektionen “CloudTrail-spor og hændelseshistorik” gratis?

Ja — hele teksten til “CloudTrail-spor og hændelseshistorik” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cloud & IT Cert Prep-kurset, skal du opgradere til CoddyKit PRO. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “CloudTrail-spor og hændelseshistorik”?

Opret spor for administrations- og datahændelser, lever logs til S3 og CloudWatch Logs, og søg i den 90 dage lange hændelseshistorik i konsollen Du øver dig i Cloud & IT Cert Prep med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Cloud & IT Cert Prep?

Der kræves ingen tidligere erfaring. Cloud & IT Cert Prep på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “CloudTrail-spor og hændelseshistorik”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

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

Ja. Alle Cloud & IT Cert Prep-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. CloudTrail-spor og hændelseshistorik
  2. CloudTrail Insights og integritet af logfiler
  3. AWS Config-regler og afhjælpning
  4. Overensstemmelsespakker og organisationsspor
← Tilbage til Cloud & IT Cert Prep