2025-10-15

CloudWatch Logs Data Protection ile Hassas Veri Maskeleme

AWSCloudWatchSecurityComplianceDevOps
C

AWS ortamınızda log yönetimi yaparken, logların içine yanlışlıkla sızan hassas veriler (PII, kredi kartı numaraları, API anahtarları vb.) büyük bir güvenlik riski oluşturabilir. Amazon CloudWatch Logs, Data Protection Policies (Veri Koruma Politikaları) özelliği ile bu verileri otomatik olarak tespit edip maskelemenize olanak tanır.

Bu makalede, CloudWatch Logs Data Protection özelliklerini kullanarak hassas verilerinizi nasıl koruyabileceğinizi inceleyeceğiz.

CloudWatch Veri Maskeleme Örneği

CloudWatch Logs Data Protection Nedir?

CloudWatch Logs Data Protection, log gruplarınızdaki hassas verileri tanımlamak ve korumak için makine öğrenimi ve desen eşleştirme (pattern matching) kullanan bir özelliktir. Bu özellik sayesinde:

  • Audit (Denetim): Hassas verilerin nerede bulunduğunu raporlayabilirsiniz.
  • De-identify (Kimliksizleştirme): Hassas verileri maskeleyerek (örn: ***) yetkisiz kişilerin görmesini engelleyebilirsiniz.

Politikalar iki seviyede uygulanabilir:

  1. Hesap Seviyesi (Account Level): Mevcut ve gelecekteki tüm log grupları için geçerlidir.
  2. Log Grubu Seviyesi (Log Group Level): Sadece belirli bir log grubu için geçerlidir.

Veri Tanımlayıcılar (Data Identifiers)

AWS, yaygın hassas veri türleri için yönetilen veri tanımlayıcıları sunar. Bunlar arasında şunlar bulunur:

  • Kimlik Bilgileri: AWS Secret Key, Private Key vb.
  • Finansal Bilgiler: Kredi kartı numaraları, banka hesap numaraları.
  • PII (Kişisel Tanımlanabilir Bilgiler): E-posta adresleri, IP adresleri, ehliyet numaraları, pasaport numaraları.
  • PHI (Sağlık Bilgileri): Sağlık sigortası numaraları.

Veri Tanımlayıcı Seçimi

Bu tanımlayıcılar bölgeye ve ülkeye göre değişiklik gösterebilir (örneğin ABD ehliyeti ile Türkiye kimlik numarası formatları farklıdır).

Adım Adım Kurulum: Hassas Verileri Maskeleme

Bir log grubu için veri koruma politikası oluşturmanın en hızlı yolu AWS CLI veya Konsol kullanmaktır. Aşağıda AWS CLI kullanarak bir log grubuna politika ekleme örneği verilmiştir.

1. Politika Dosyasını Hazırlayın

Öncelikle policy.json adında bir dosya oluşturun. Bu örnekte e-posta adreslerini ve ABD ehliyet numaralarını maskeliyoruz:

{
  "Name": "data-protection-policy",
  "Description": "Hassas verileri maskeleme politikası",
  "Version": "2021-06-01",
  "Statement": [
    {
      "Sid": "redact-policy",
      "DataIdentifier": [
        "arn:aws:dataprotection::aws:data-identifier/EmailAddress",
        "arn:aws:dataprotection::aws:data-identifier/DriversLicense-US"
      ],
      "Operation": {
        "Deidentify": {
          "MaskConfig": {}
        }
      }
    }
  ]
}

2. Politikayı Log Grubuna Uygulayın

Aşağıdaki komut ile politikayı hedef log grubuna uygulayın:

aws logs put-data-protection-policy \
  --log-group-identifier "my-log-group" \
  --policy-document file://policy.json \
  --region us-east-1

Bu işlemden sonra, my-log-group içine gelen yeni loglardaki e-posta adresleri otomatik olarak maskelenecektir. Not: Geçmişe dönük maskeleme yapılmaz, sadece politika aktif edildikten sonra gelen veriler maskelenir.

Maskelenmiş Log Örneği

Denetim Raporları ve Metrikler

CloudWatch, hassas veri tespit edildiğinde LogEventsWithFindings adında bir metrik yayınlar. Bu metriği kullanarak alarmlar oluşturabilirsiniz. Ayrıca, tespit edilen verilerin detaylı raporlarını (Audit Reports) S3, CloudWatch Logs veya Kinesis Data Firehose'a gönderebilirsiniz.

Denetim raporu örneği:

{
    "auditTimestamp": "2025-10-15T10:00:00Z",
    "resourceArn": "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group",
    "dataIdentifiers": [
        {
            "name": "EmailAddress",
            "count": 1,
            "detections": [{ "start": 10, "end": 25 }]
        }
    ]
}

Sıkça Sorulan Sorular (SSS)

1. Geçmiş log verilerim maskelenir mi?

Hayır. Veri koruma politikaları sadece politika etkinleştirildikten sonra log grubuna giren verileri maskeler. Mevcut loglar değişmez.

2. Maskelenmiş veriyi geri açabilir miyim?

Maskeleme işlemi (De-identify) kalıcıdır. Ancak, orijinal veriyi korumak istiyorsanız sadece Audit operasyonunu kullanabilir veya maskelenmemiş veriyi güvenli bir S3 bucket'ına yönlendirebilirsiniz.

3. Bu özelliğin maliyeti nedir?

Veri koruma politikaları tarafından yayınlanan metrikler ücretsizdir. Ancak logların taranması için standart CloudWatch Logs veri işleme ücretleri geçerli olabilir. Detaylar için AWS fiyatlandırma sayfasına bakın.

Sonuç

CloudWatch Logs Data Protection, AWS danışmanlığı süreçlerimizde sıkça önerdiğimiz, uyumluluk (GDPR, HIPAA, KVKK) gereksinimlerini karşılamaya yardımcı olan güçlü bir araçtır. Loglarınızı merkezi olarak yönetirken hassas verilerin sızmasını önlemek için bu politikaları hesap seviyesinde uygulamanızı öneririz.

Daha fazla bilgi için:

<div class="toc"> <h3>İçindekiler</h3> <ul> <li><a href="#cloudwatch-logs-data-protection-nedir">CloudWatch Logs Data Protection Nedir?</a></li> <li><a href="#veri-tanimlayicilar-data-identifiers">Veri Tanımlayıcılar</a></li> <li><a href="#adim-adim-kurulum-hassas-verileri-maskeleme">Adım Adım Kurulum</a></li> <li><a href="#denetim-raporlari-ve-metrikler">Denetim Raporları ve Metrikler</a></li> <li><a href="#sikca-sorulan-sorular-sss">Sıkça Sorulan Sorular</a></li> <li><a href="#sonuc">Sonuç</a></li> </ul> </div>

Kaynak / Source: https://awsfundamentals.com/blog/masking-sensitive-data-with-amazon-cloudwatch-logs-data-protection-policies