Cloud & IT Cert Prep · Oppitunti

CloudTrail-polut ja tapahtumahistoria

Luo hallinta- ja datatapahtumien polkuja, toimita lokit S3:een ja CloudWatch Logsiin ja hae konsolista 90 päivän tapahtumahistoriaa.

Oppitunti 1/413 vaihetta

CloudTrail-polut ja tapahtumahistoria on ilmainen Cloud & IT Cert Prep-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cloud & IT Cert Prep-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.

Mikä on AWS CloudTrail?

AWS CloudTrail on palvelu, joka tallentaa kaikki AWS-tilillänne tehdyt API-kutsut — riippumatta siitä, onko kutsu tehty konsolista, CLI:stä, SDK:sta tai toisesta AWS-palvelusta. Jokaista tietuetta kutsutaan CloudTrail-tapahtumaksi, ja se sisältää API-toiminnon, pyynnön esittäjän identiteetin, lähde-IP-osoitteen, pyyntöparametrit ja vastauksen. CloudTrail muodostaa AWS:n tietoturvatarkastuksen, vaatimustenmukaisuuden ja operatiivisen tutkinnan perustan. SAA-C03-kokeessa se on oikea vastaus aina, kun kysytään, kuka muutoksen teki.

Tapahtumahistoria: maksuton 90 päivän tarkastelu

Oletusarvoisesti jokaisella AWS-tilillä on käytettävissään CloudTrail Event History — 90 päivän ajalta rullaava hallintatapahtumien tietue, jota voi tarkastella konsolissa tai kysellä CLI:n avulla. Voitte suodattaa tietueita resurssinimen, resurssityypin, tapahtuman nimen tai käyttäjänimen perusteella. Event History on maksuton, ei vaadi määrityksiä ja on käytettävissä heti. Se on nopein tapa tutkia viimeaikaisia muutoksia, mutta pidempää säilytystä tai tehokkaampia kyselyjä varten on luotava 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

CloudTrail Trailin luominen

Trail on CloudTrail-määritys, joka toimittaa tapahtumat jatkuvasti S3-säilöön ja valinnaisesti CloudWatch Logsiin. Maksatte S3-tallennuksesta ja tiedonsiirrosta. Trail voidaan rajata yhteen alueeseen tai määrittää monialueiseksi Trailiksi, joka kerää tapahtumat kaikilta tilinne nykyisiltä ja tulevilta alueilta. SAA-C03-koetta varten suositelkaa aina monialueista Trail-määritystä — yhden alueen Trail ei tallenna muiden alueiden toimintaa, ja sitä pidetään tietoturva-aukona.

# 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

Hallintatapahtumat ja datatapahtumat

CloudTrail tallentaa kahteen luokkaan kuuluvia tapahtumia: hallintatapahtumat (joita kutsutaan myös ohjaustason tapahtumiksi) tallentavat resursseihin kohdistuvat toiminnot — kuten EC2-instanssin luomisen, suojausryhmän muokkaamisen ja IAM-käytännön liittämisen. Ne ovat oletusarvoisesti käytössä jokaisessa Trailissa ilman tapahtumakohtaista lisämaksua. Datatapahtumat tallentavat oliotason toiminnot — S3:n GetObject-, PutObject- ja DeleteObject-toiminnot tai Lambdan Invoke-toiminnon. Datatapahtumia voi olla erittäin paljon, ja niistä veloitetaan erikseen, joten ne on otettava käyttöön erikseen resurssin tai resurssityypin mukaan.

# 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/"]
        }
      ]
    }
  ]'

CloudTrailin ja CloudWatch Logsin integrointi

CloudTrail-tapahtumien toimittaminen CloudWatch Logsiin mahdollistaa API-toimintojen reaaliaikaiset hälytykset. Voitte luoda CloudTrail-lokiryhmään mittarisuodattimia, joilla lasketaan tiettyjä tapahtumia — esimerkiksi DeleteBucket- tai CreateUser-kutsuja — ja määrittää sitten CloudWatch-hälytyksiä ilmoittamaan tietoturvatiimille epäilyttävästä toiminnasta muutamassa minuutissa. Tämä on keskeinen malli CIS AWS Foundations Benchmark -viitekehyksessä, johon SAA-C03-kokeessa viitataan usein.

# 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

Globaalit palvelutapahtumat

Jotkin AWS-palvelut — erityisesti IAM, STS, Route 53 ja CloudFront — ovat globaaleja ja kirjaavat API-kutsunsa globaaleina palvelutapahtumina. Nämä tapahtumat tallennetaan aina us-east-1-alueelle riippumatta siitä, missä toiminto käynnistettiin. Kun luotte Trailia, ottakaa käyttöön --include-global-service-events, jotta IAM-käyttäjien luomiset, käytäntömuutokset ja STS-roolioletukset tallentuvat. Jos käytössänne on useita aluekohtaisia Traileja, ottakaa globaalit palvelutapahtumat käyttöön vain yhdessä niistä päällekkäisten lokitietueiden välttämiseksi.

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

S3-säilökäytäntö CloudTrail-lokeille

CloudTrail edellyttää erityistä S3-säilökäytäntöä, joka antaa CloudTrail-palveluperiaatteelle (cloudtrail.amazonaws.com) oikeudet kutsua säilöön kohdistuvia toimintoja GetBucketAcl ja PutObject. AWS valvoo, ettei säilö ole julkisesti käytettävissä ja että Object Ownership -asetuksena on Bucket Owner Enforced. Älkää koskaan tallentako CloudTrail-lokeja samaan säilöön, jota sovelluksenne käyttää — tällöin syntyy kehäriippuvuus, jossa pääsy auditointilokeihin häiriintyy, jos sovelluksen säilön käyttöoikeuksia rajoitetaan.

# 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"}}
#     }
#   ]
# }

Organisaation Trail-määritykset

AWS Organisation -ympäristössä voitte luoda hallintatililtä organisaation Trailin, joka otetaan automaattisesti käyttöön kaikissa nykyisissä ja tulevissa jäsenutileissä. Jäsentilit eivät voi muokata tai poistaa organisaation Trailia, joten auditoinnin kattavuutta ei voi kiertää. Organisaation Trailit toimittavat lokit keskitettyyn S3-säilöön tilikohtaisilla etuliitteillä, jolloin tietoturvatiimi voi kysellä kaikkien tilien auditointilokeja samasta paikasta Athenan tai SIEM-työkalun avulla.

# 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-integrointi lokianalyysia varten

S3:een toimitetut CloudTrail-lokit ovat JSON-muodossa. Voitte käyttää CloudTrail-konsolin Amazon Athena -integrointia Glue-taulukon automaattiseen luomiseen niin, että taulukko osioidaan tilin, alueen ja päivämäärän mukaan. Näin voitte kysellä kuukausien API-historiaa tavallisella SQL:llä lataamatta tietoja tietokantaan. Käyttäkää kyselyissä päivämäärän mukaista osiointia (WHERE year='2024' AND month='01'), jotta vältätte koko taulukon tarkistamisen ja hallitsette Athenan kustannuksia.

-- 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;

Event Historyn ja trail-lokien kyselyt

CloudTrail-tietueita voi hakea kahdella tavalla: konsolin Event Historysta (viimeiset 90 päivää, vain hallintatapahtumat, rajalliset suodattimet) ja S3:ssa/Athena-palvelussa olevista trail-lokeista (rajoittamaton säilytysaika, myös data-tapahtumat ja SQL:n kaikki ominaisuudet). Koetilanteissa: jos kysymyksessä pyydetään tutkimaan yli 90 päivää vanhaa tapahtumaa tai kyselemään datatason tapahtumia (S3 GetObject, Lambda Invoke), suositelkaa aina trail-lokien kyselyä Athenan kautta. Jos kysymyksessä pyydetään yksinkertaisinta tapaa tutkia tuoretta hallintatapahtumaa, Event History riittää.

CloudTrailin tärkeimmät faktat kokeeseen

Painakaa nämä mieleen SAA-C03-koetta varten: CloudTrail ei toimi reaaliaikaisesti — tapahtumien toimittaminen S3:een voi kestää enintään 15 minuuttia (käyttäkää CloudWatch Logsia lähes reaaliaikaiseen hälytykseen). Event History säilyttää hallintatapahtumat 90 päivän ajan. Data-tapahtumat on otettava erikseen käyttöön, ja niistä veloitetaan lisämaksu. Lokitiedostojen vahvistuksessa käytetään SHA-256-tiivisteitä peukaloinnin havaitsemiseen. Globaalit palvelutapahtumat (IAM, STS, Route 53) näkyvät vain alueella us-east-1. Organisaation trail-lokeja eivät jäsen-tilit voi poistaa käytöstä.

Pikatesti

Testatkaa ymmärrystänne tämän oppitunnin AWS Solutions Architect (SAA-C03) -käsitteistä.

Oppitunnin yhteenveto

Tässä oppitunnissa opitte, että Event History tarjoaa maksutta pääsyn 90 päivän hallintatapahtumiin, Trails toimittavat tapahtumia jatkuvasti S3:een määritettävällä säilytysajalla ja valinnaisilla data-tapahtumilla, ja organisaation trail-lokit koskevat kaikkia jäsen-tilejä eivätkä jäsen-tilit voi poistaa niitä käytöstä. Seuraavaksi tutustumme CloudTrail Insightsiin ja lokitiedostojen eheyden vahvistamiseen.

Aloita maksutta

Opi Cloud & IT Cert Prep tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
150
Oppitunnit
600

Usein kysytyt kysymykset

Onko oppitunti ”CloudTrail-polut ja tapahtumahistoria” ilmainen?

Kyllä – oppitunnin ”CloudTrail-polut ja tapahtumahistoria” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cloud & IT Cert Prep-kurssin, päivitä CoddyKit PROhon. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”CloudTrail-polut ja tapahtumahistoria”?

Luo hallinta- ja datatapahtumien polkuja, toimita lokit S3:een ja CloudWatch Logsiin ja hae konsolista 90 päivän tapahtumahistoriaa. Harjoittelet Cloud & IT Cert Prep-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Cloud & IT Cert Prep-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Cloud & IT Cert Prep-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”CloudTrail-polut ja tapahtumahistoria”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Cloud & IT Cert Prep-oppitunnilla?

Kyllä. Jokainen Cloud & IT Cert Prep-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. CloudTrail-polut ja tapahtumahistoria
  2. CloudTrail Insights ja lokitiedostojen eheys
  3. AWS Config -säännöt ja korjaustoimet
  4. Conformance Packit ja organisaation polut
← Takaisin: Cloud & IT Cert Prep