AWS Solutions Architect · Ders

CloudTrail İzleri ve Olay Geçmişi

Yönetim ve veri olayı izleri oluşturun, günlükleri S3 ve CloudWatch Logs'a teslim edin ve konsolda 90 günlük olay geçmişinde arama yapın.

1. ders / 413 adım

CloudTrail İzleri ve Olay Geçmişi, CoddyKit'te ücretsiz bir AWS Solutions Architect dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AWS Solutions Architect öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AWS Solutions Architect kursu toplamda 4 dersten oluşur.

AWS CloudTrail Nedir?

AWS CloudTrail, AWS hesabınızda yapılan her API çağrısını (konsoldan, CLI'dan, SDK'dan veya başka bir AWS hizmetinden yapılmış olmasına bakılmaksızın) kaydeden bir hizmettir. Her kayıt CloudTrail olayı olarak adlandırılır ve API eylemini, istekte bulunanın kimliğini, kaynak IP adresini, istek parametrelerini ve yanıtı içerir. CloudTrail, AWS güvenlik denetiminin, uyumluluğun ve operasyonel incelemenin temelidir. SAA-C03 sınavında, bir soru "bu değişikliği kim yaptı?" diye sorduğunda yanıt CloudTrail'dir.

Olay Geçmişi: Ücretsiz 90 Günlük Geriye Dönük İnceleme

Varsayılan olarak her AWS hesabı, konsolda görüntülenebilen veya CLI aracılığıyla sorgulanabilen, yönetim olaylarına ait CloudTrail Olay Geçmişi adlı 90 günlük devingen kayda erişebilir. Kaynak adına, kaynak türüne, olay adına veya kullanıcı adına göre filtreleme yapabilirsiniz. Olay Geçmişi ücretsizdir, yapılandırma gerektirmez ve hemen kullanılabilir. Yakın zamanda yapılan değişiklikleri incelemenin en hızlı yoludur; ancak daha uzun saklama süresi veya daha güçlü sorgular için bir Trail oluşturmanız gerekir.

# 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 Trail Oluşturma

Bir Trail, olayları sürekli olarak bir S3 klasörüne (isteğe bağlı olarak CloudWatch Logs'a) ileten bir CloudTrail yapılandırmasıdır. S3 depolama ve veri aktarımı için ücret ödersiniz. Bir Trail tek bir Bölgeyle sınırlandırılabilir veya hesabınızdaki mevcut ve gelecekteki tüm Bölgelerden olayları yakalayan çok Bölgeli bir Trail olarak yapılandırılabilir. SAA-C03 sınavı için her zaman çok Bölgeli bir Trail önerin; tek Bölgeli Trail'ler diğer Bölgelerdeki etkinlikleri kaçırır ve güvenlik açığı olarak değerlendirilir.

# 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

Yönetim Olayları ve Veri Olayları

CloudTrail iki olay kategorisini kaydeder: Yönetim olayları (denetim düzlemi olayları olarak da adlandırılır), kaynaklar üzerindeki işlemleri kaydeder; örneğin bir EC2 örneği oluşturma, bir güvenlik grubunu değiştirme veya bir IAM politikası ekleme. Bunlar her Trail'de varsayılan olarak etkinleştirilir ve olay başına ek ücret alınmaz. Veri olayları, nesne düzeyindeki işlemleri kaydeder: S3 GetObject, PutObject, DeleteObject veya Lambda Invoke. Veri olaylarının hacmi çok yüksek olabilir ve ek ücret doğurabilir; bu nedenle kaynak veya kaynak türü başına açıkça etkinleştirilmeleri gerekir.

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

CloudTrail ve CloudWatch Logs Entegrasyonu

CloudTrail olaylarını CloudWatch Logs'a iletmek, API etkinliği için gerçek zamanlı uyarıları etkinleştirir. CloudTrail günlük grubu üzerinde belirli olayları sayan metrik filtreleri oluşturabilirsiniz; örneğin DeleteBucket veya CreateUser çağrılarını sayabilir ve ardından şüpheli bir eylemden birkaç dakika içinde güvenlik ekibinizi uyarmak için CloudWatch alarmları ayarlayabilirsiniz. Bu, SAA-C03 sınavında sıkça başvurulan CIS AWS Foundations Benchmark'ın temel bir kalıbıdır.

# 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

Küresel Hizmet Olayları

Başta IAM, STS, Route 53 ve CloudFront olmak üzere bazı AWS hizmetleri küreseldir ve API çağrılarını küresel hizmet olayları olarak günlüğe kaydeder. Bu olaylar, işlemin nerede başlatıldığına bakılmaksızın her zaman us-east-1 Bölgesinde kaydedilir. Bir Trail oluştururken IAM kullanıcı oluşturma işlemlerinin, politika değişikliklerinin ve STS rol varsayımlarının yakalanması için --include-global-service-events seçeneğini etkinleştirin. Birden çok Bölgeye özgü Trail'iniz varsa yinelenen günlük kayıtlarını önlemek için küresel hizmet olaylarını yalnızca birinde etkinleştirin.

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

CloudTrail Günlükleri için S3 Klasör Politikası

CloudTrail, CloudTrail hizmet sorumlusuna (cloudtrail.amazonaws.com) klasörde GetBucketAcl ve PutObject çağrılarını yapma izni veren belirli bir S3 klasör politikası gerektirir. AWS, klasörün herkese açık olmamasını ve Nesne Sahipliğinin Klasör Sahibi Tarafından Zorunlu Kılındı olarak ayarlanmasını zorunlu tutar. CloudTrail günlüklerini uygulamanızın kullandığı klasörde asla saklamayın; bu, uygulama klasörü kilitlendiğinde denetim günlüklerine erişimin kesintiye uğradığı döngüsel bir bağımlılık oluşturur.

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

Kuruluş Trail'leri

Bir AWS Kuruluşunda, yönetim hesabından mevcut ve gelecekteki tüm üye hesaplara otomatik olarak uygulanan bir kuruluş Trail'i oluşturabilirsiniz. Üye hesaplar kuruluş Trail'ini değiştiremez veya silemez; böylece denetim kapsamından kaçınılamaz. Kuruluş Trail'leri günlükleri hesap başına öneklerle merkezi bir S3 klasörüne iletir. Bu sayede güvenlik ekibi, Athena veya bir SIEM aracı kullanarak tüm hesapların denetim günlüklerini tek bir yerden sorgulayabilir.

# 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

Günlük Analizi için Athena Entegrasyonu

S3'e iletilen CloudTrail günlükleri JSON biçimindedir. CloudTrail konsolundaki Amazon Athena entegrasyonunu kullanarak hesap, Bölge ve tarihe göre otomatik olarak bölümlendirilmiş bir Glue tablosu oluşturabilirsiniz. Böylece verileri bir veritabanına yüklemeden standart SQL kullanarak aylarca süren API geçmişini sorgulayabilirsiniz. Athena maliyetlerini kontrol etmek ve tüm tablo taramalarını önlemek için sorgularınızda tarihe göre bölümleme yapın (WHERE year='2024' AND month='01').

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

Olay Geçmişi ile Trail Günlüklerini Sorgulama

CloudTrail kayıtlarında arama yapmanın iki yolu vardır: konsoldaki Event History (son 90 gün, yalnızca yönetim olayları, sınırlı filtreler) ve S3/Athena'daki Trail günlükleri (sınırsız saklama, veri olayları da dahil, tam SQL olanakları). Sınav senaryolarında soru 90 günden eski bir olayı araştırmayı veya veri düzlemi olaylarını (S3 GetObject, Lambda Invoke) sorgulamayı istiyorsa her zaman Trail günlüklerinin Athena üzerinden sorgulanmasını önerin. Soru yakın zamanda gerçekleşen bir yönetim olayını araştırmanın en basit yolunu soruyorsa Event History yeterlidir.

Sınav İçin Önemli CloudTrail Bilgileri

SAA-C03 sınavı için bunları ezberleyin: CloudTrail gerçek zamanlı değildir — olayların S3'e teslim edilmesi 15 dakikaya kadar sürebilir (gerçeğe yakın gerçek zamanlı uyarılar için CloudWatch Logs kullanın). Event History, yalnızca yönetim olayları için 90 günlüktür. Veri olayları açıkça etkinleştirilmelidir ve ek ücrete tabidir. Günlük dosyası doğrulaması, SHA-256 karmalarını kullanır ve değişiklikleri algılar. Genel hizmet olayları (IAM, STS, Route 53) yalnızca us-east-1'de görünür. Organizasyon Trail'leri üye hesaplar tarafından devre dışı bırakılamaz.

Hızlı Kontrol

Bu dersteki AWS Solutions Architect (SAA-C03) kavramlarını anlayıp anlamadığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: Event History ücretsiz 90 günlük yönetim olayı erişimi sağlar, Trail'ler yapılandırılabilir saklama süresi ve isteğe bağlı veri olaylarıyla S3'e sürekli teslimat sunar ve organizasyon Trail'leri tüm üye hesaplara uygulanır ve bu hesaplar tarafından devre dışı bırakılamaz. Sırada CloudTrail Insights ve günlük dosyası bütünlüğü doğrulamasını inceleyeceğiz.

Başlamak ücretsiz

Yapay zeka eğitmeniyle AWS Solutions Architect öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“CloudTrail İzleri ve Olay Geçmişi” dersi ücretsiz mi?

Evet — “CloudTrail İzleri ve Olay Geçmişi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AWS Solutions Architect kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AWS Solutions Architect kursu toplamda 4 dersten oluşur.

“CloudTrail İzleri ve Olay Geçmişi” dersinde ne öğreneceğim?

Yönetim ve veri olayı izleri oluşturun, günlükleri S3 ve CloudWatch Logs'a teslim edin ve konsolda 90 günlük olay geçmişinde arama yapın. AWS Solutions Architect ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

AWS Solutions Architect öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AWS Solutions Architect, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“CloudTrail İzleri ve Olay Geçmişi” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu AWS Solutions Architect dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AWS Solutions Architect dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. CloudTrail İzleri ve Olay Geçmişi
  2. CloudTrail Insights ve Günlük Dosyası Bütünlüğü
  3. AWS Config Kuralları ve Düzeltme
  4. Uyumluluk Paketleri ve Organizasyon İzleri
← AWS Solutions Architect Sayfasına Dön