Amazon SCS-C02: Veri Koruma ve S3 — Çalışma kılavuzu
Şunun bir parçası: AWS Security Specialty SCS-C02 — Çalışma kılavuzu. Doğrulanmış cevaplarla şurada pratik yapın: Amazon sınav merkezi, veya şurada süreli deneme sınavları çözün: ExamRoll.io.
S3 Bucket Politikaları, Kaynak ARN’leri ve Açıkça Reddetme (Explicit Deny)
Bir S3 bucket politikası, kimlik tabanlı politikalarla birlikte değerlendirilen, kaynak tabanlı bir JSON belgesidir. Davranışını iki temel kural yönetir. Birincisi, açık bir Deny her zaman kazanır: kaç tane Allow ifadesi olursa olsun, eşleşen bir Deny isteği engeller. İkincisi, Resource elemanı, eylemin ARN deseniyle tam olarak eşleşmelidir. s3:ListBucket gibi bucket seviyesi eylemler arn:aws:s3:::my-bucket üzerinde çalışırken, s3:GetObject ve s3:PutObject gibi nesne seviyesi eylemler arn:aws:s3:::my-bucket/* üzerinde çalışır. Yaygın bir yanlış yapılandırma, s3:GetObject iznini /* soneki olmadan arn:aws:s3:::my-bucket üzerinde vermektir — API çağrısı bir nesne ARN’sini hedefler, hiçbir ifade eşleşmez ve istek varsayılan olarak reddedilir.
Aşağıdaki politika, TLS olmayan tüm erişimi reddeder ve belirli bir rol için okuma izni verirken her iki ARN formunu da doğru şekilde kullanır.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyInsecureTransport",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::reports",
"arn:aws:s3:::reports/*"
],
"Condition": { "Bool": { "aws:SecureTransport": "false" } }
},
{
"Sid": "AllowAnalyticsRead",
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::111122223333:role/Analytics" },
"Action": ["s3:GetObject"],
"Resource": "arn:aws:s3:::reports/*"
}
]
}
Sık düşülen bir tuzak, geniş kapsamlı bir Deny ifadesinden sonra bir Allow ekleyerek bir istisna “yaratmaya” çalışmaktır. Politika ifadeleri sıraya duyarlı değildir ve IAM değerlendirme mantığı, eşleşen herhangi bir reddetme ifadesi bulduğu anda Deny döndürür. Doğru çözüm, altına izin veren bir ifade eklemek yerine, örneğin bir NotPrincipal veya Condition aracılığıyla Deny ifadesinin kapsamını daraltmaktır.
Yaşam Döngüsü Kuralları, Nesne Süresinin Dolması ve Vault Lock
S3 Yaşam Döngüsü (Lifecycle) kuralları, depolama sınıfı geçişlerini ve nesnelerin süresinin dolmasını otomatikleştirir. Saklama (retention) gereksinimlerini karşılamak için — örneğin PII’ı (Kişisel Tanımlanabilir Bilgi) alımdan 30 gün sonra kaldırmak gibi — nesnelerin mevcut sürümlerinin 30 gün sonra süresini dolduran ve kısa bir süre sonra mevcut olmayan sürümleri kalıcı olarak silen bir kural ekleyin. DynamoDB’ye yazılan ilgili meta veriler için, öğelerin aynı programa göre kendi kendini silmesi için DynamoDB TTL özniteliğini etkinleştirin; bu iki mekanizmayı birleştirmek operasyonel olarak verimlidir çünkü hiçbir Lambda, zamanlayıcı veya özel temizleme kodu gerekmez.
LifecycleConfiguration:
Rules:
- Id: ExpirePIIAfter30Days
Status: Enabled
Filter: { Prefix: "ingest/" }
Expiration: { Days: 30 }
NoncurrentVersionExpiration: { NoncurrentDays: 1 }
Mevzuata uygun saklama gereksinimi olan arşivlenmiş veriler için, S3 Glacier Vault Lock, vault seviyesinde ayrı bir WORM kontrolü sağlar. Vault Lock politikası bir kez işleme alındığında (24 saat içinde tamamlanması gereken iki adımlı bir başlatma/tamamlama süreci), hesap kök kullanıcısı tarafından bile değiştirilemez. Bu, S3 nesne seviyesinde çalışan Object Lock’tan farklıdır.
Genel Erişimi Engelleme ve CloudFront OAC
S3 Genel Erişimi Engelleme (Block Public Access - BPA), aksi takdirde genel erişim izni verecek herhangi bir ACL veya politikayı geçersiz kılan, hesap ve bucket düzeyinde dört anahtardan oluşan bir settir. Dördünü de hesap seviyesinde etkinleştirin ve ayarları gevşeteceği durumlarda s3:PutBucketPublicAccessBlock eylemini reddetmek gibi bir SCP ile bunu zorunlu kılın. Bu derinlemesine savunma (defense-in-depth), bir mühendisin izin veren bir ACL aracılığıyla bir bucket’ı yanlışlıkla yeniden genele açık hale getirmesini önler.
CloudFront üzerinden sunulan halka açık içerikler için doğru model Origin Access Control (OAC)‘dir. OAC, CloudFront’tan S3’e giden istekleri SigV4 kullanarak imzalar; bucket politikası daha sonra yalnızca CloudFront dağıtımının hizmet sorumlusuna (service principal) izin verir. OAC (veya eski OAI) olmadan yalnızca CloudFront’a güvenmek, S3 URL’sini doğrudan erişilebilir bırakır, bu da CDN’in erişim kontrollerini ve WAF’ı etkisiz hale getirir. Bucket özel kalmalı, BPA etkinleştirilmeli ve politika dağıtım ARN’si ile sınırlandırılmalıdır:
{
"Effect": "Allow",
"Principal": { "Service": "cloudfront.amazonaws.com" },
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::site-assets/*",
"Condition": {
"StringEquals": {
"AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/E1ABCXYZ"
}
}
}
S3 Object Lock ve Bölgeler Arası Çoğaltma (Cross-Region Replication)
Object Lock, tek tek nesneler üzerinde WORM semantiğini zorunlu kılar ve sürüm oluşturmanın (versioning) etkinleştirilmesini ve Object Lock’un bucket oluşturulurken açılmasını gerektirir (AWS ile iletişime geçilmeden mevcut bir bucket’a sonradan eklenemez). İki saklama modu mevcuttur:
Yönetim (Governance) modu:
s3:BypassGovernanceRetentioniznine sahip ayrıcalıklı kimlikler (principal) saklama süresini kısaltabilir veya kaldırabilir.Uyumluluk (Compliance) modu: AWS hesap kök kullanıcısı da dahil olmak üzere hiçbir kullanıcı, süresi dolana kadar nesneyi silemez, üzerine yazamaz veya saklama süresini azaltamaz. Ayrıca,
s3:PutObjectLegalHoldiznine sahip kullanıcılar tarafından bağımsız olarak bir yasal bekletme (legal hold) uygulanabilir ve kaldırılabilir.
Gereksinim tüm kimliklere karşı mutlak değişmezlik olduğunda Uyumluluk modu doğru seçimdir. Bu garantiyi Bölgeler (Region) arasında genişletmek için Object Lock’u S3 Replication ile eşleştirin. Çoğaltılan nesneler, kilit yapılandırmalarını hedef bucket’ta korur (bu bucket’ta da Object Lock etkinleştirilmiş olmalıdır), böylece Bölge çapında bir olay veya kötü niyetli bir silme girişimi saklanan kopyayı tehlikeye atamaz.
Keşif ve Araştırma için Macie ve Athena
Amazon Macie, PII, PHI, kimlik bilgileri ve diğer hassas kalıpları bulmak için S3 nesnelerini taramak üzere yönetilen ve özel veri tanımlayıcılarını kullanır. Bulguları Security Hub ve EventBridge’e raporlar, bu da kısıtlayıcı, etiket tabanlı bir bucket politikasıyla nesneleri karantinaya almak gibi otomatik düzeltmeleri mümkün kılar. Müşteri verilerini depolayan her Bölgede Macie’yi etkinleştirin ve merkezi bulgular için yönetimi AWS Organizations aracılığıyla devredin.
Amazon Athena, S3’teki veriler üzerinde sunucusuz SQL sağlar ve CloudTrail nesne düzeyindeki veri olaylarını (data events) sorgulamak için standart bir araçtır. Belirli bir S3 nesnesine kimin eriştiğini araştırmak için, bucket için CloudTrail veri olaylarını etkinleştirin, logları merkezi bir S3 bucket’ına teslim edin ve Athena ile sorgulayın:
SELECT eventTime, userIdentity.arn, sourceIPAddress, requestParameters
FROM cloudtrail_logs
WHERE eventName IN ('GetObject','DeleteObject')
AND requestParameters LIKE '%reports/q3-financials.pdf%'
AND eventTime > '2024-01-01T00:00:00Z';
Sık Karşılaşılan Hatalar ve Kök Nedenleri
Nesne ARN’lerinde
/*eksikliği: Nesne seviyesindeki API çağrıları, bucket ARN’sine göre değil,bucket/key(bucket/anahtar) yapısına göre değerlendirilir./*olmadan hiçbir ifade eşleşmez ve IAM zımni reddetme (implicit deny) döndürür. Bu durum, “bucket"a izin verilmiş gibi görünse bileGetObjectçağrılarında beklenmedik 403 hataları olarak ortaya çıkar.Açık bir
Denyifadesinden sonraAlloweklemek: IAM değerlendirmesi sıraya bağlı değildir; eşleşen herhangi birDenyifadesi, değerlendirmeyi kısa devre yaptırarak doğrudan reddetme ile sonuçlanır. Çözüm, izin verici ifadeler eklemek değil,Denyifadesinin kapsamını (Condition,NotPrincipalveyaNotResourcearacılığıyla) daraltmaktır.OAC veya kısıtlayıcı bir bucket policy olmadan CloudFront kullanımı: S3 origin URL’sine doğrudan erişilebilir olmaya devam eder, bu da imzalı URL’leri, WAF kurallarını ve coğrafi kısıtlamaları atlar. Her zaman origin bucket’ında BPA’yı (Block Public Access) etkinleştirin ve
s3:GetObjectizniniAWS:SourceArnkullanarak CloudFront service principal’ı ile kısıtlayın.Object Lock’un mevcut bir bucket’ta etkinleştirilebileceğini varsaymak: Object Lock, bucket oluşturulurken yapılandırılmalıdır. Mevcut bir bucket’a bu özelliği sonradan eklemek için Object Lock etkinleştirilmiş yeni bir bucket oluşturmak ve verileri taşımak gerekir.
Governance ve compliance modlarını karıştırmak: Governance modu, ayrıcalıklı bir kullanıcının saklama süresini kaldırmasını engellemez; yalnızca compliance modu root hesabını bile engeller.
Pratik Problem: Kullanım Senaryosu
Senaryo: Meridian Financial, müşteri ekstrelerini, işlem günlüklerini ve uzun vadeli uyumluluk arşivlerini iki AWS bölgesindeki birden fazla S3 bucket’ında saklamaktadır. Ortamları, müşteri portalları için CloudFront, hesaplar arası günlükleme ve yasal saklama süreleri için verileri arşiv depolama sınıflarına otomatik olarak geçiren yaşam döngüsü (lifecycle) geçişleri kullanmaktadır.
Zorluk: Yakın zamanda yapılan bir iç denetim, Kişisel Tanımlayıcı Bilgileri (PII) açığa çıkaran tutarsız politikalara sahip birkaç bucket, arşivlenmiş kayıtlar için değiştirilemez saklama özelliğinin olmaması ve hassas nesnelerin hesaplar ve bölgeler arasında nerede bulunduğunu keşfetmek için merkezi bir yolun olmadığını ortaya çıkarmıştır.
Önerilen Yaklaşım:
- Hesap ve bucket seviyesinde S3 Block Public Access’i etkinleştirin ve CloudFront Origin Access Control’ü (OAC) dağıtın; bucket policy’sini, yalnızca CloudFront OAC principal’ından gelen
GetObjectisteklerine izin verecek şekilde hassas kaynak ARN’leri kullanarak sıkılaştırın ve OAC üzerinden gelmeyen tüm istekler için açık reddetme (explicit deny) ifadeleri ekleyin. - Bir bucket policy’sinde
kms:Encrypt/kms:GenerateDataKeyizinlerini zorunlu kılarak AWS KMS ile sunucu taraflı şifrelemeyi uygulayın ve şifrelenmemiş yüklemeleri önlemek içinx-amz-server-side-encryptionbaşlığını ve gereklikms:context‘i içermeyenPutObjectistekleri için açık reddetme (explicit deny) ifadeleri ekleyin. - Değiştirilemez olması gereken bucket’lar için S3 Object Lock’u compliance modunda yapılandırın ve çoğaltılan nesnelerin DR (Felaket Kurtarma) bölgesinde de değiştirilemez kalması için object lock meta verilerini koruyan çoğaltma kurallarıyla Cross-Region Replication’ı (CRR) etkinleştirin.
- Eski nesneleri S3 Glacier depolama sınıflarına geçirmek için S3 Lifecycle Kuralları oluşturun ve izin verilen saklama pencereleri için nesne süre sonunu ayarlayın; yasal olarak değiştirilemez olması gereken arşivler için bunları Amazon S3 Glacier kasalarına (vaults) yerleştirin ve tek yazımlı saklamayı (write-once retention) zorunlu kılmak için Glacier Vault Lock politikalarını uygulayın.
- Hesaplar arasında PII’yi keşfetmek ve sınıflandırmak için Amazon Macie’yi dağıtın, araştırma sorguları için S3 Inventory’yi etkinleştirin ve bulguları Amazon Athena ile sorgulayın ve hassas nesneleri etiketlemek, karantinaya almak veya kilitli, şifreli bucket’lara taşımak için otomatik iyileştirmeyi (Lambda/Step Functions) tetikleyin.
Gerekçe: Bu katmanlı yaklaşım, en az ayrıcalık ilkesini ve şifrelemeyi uygular, uyumluluk için değiştirilemez saklama ve bölgeler arası dayanıklılık sağlar ve merkezi keşif ile otomatik iyileştirme için Macie/Athena’yı kullanır. Bu, AWS’nin veri koruma ve yaşam döngüsü yönetimi için en iyi uygulamalarıyla uyumludur.
Amazon Macie: Otomatik Keşif, Sınıflandırma İşleri ve İzin Listeleri
Amazon Macie, Amazon S3’te depolanan hassas verileri — kişisel olarak tanımlanabilir bilgiler (PII), ödeme kartı numaraları (PAN), kimlik bilgileri ve özel regex ile tanımlanmış veri türleri — keşfetmek için makine öğrenimi ve desen eşleştirmeyi kullanan, yönetilen bir veri güvenliği hizmetidir. Macie, sıkça karıştırılan ve birbirini tamamlayan iki modda çalışır.
Otomatik hassas veri keşfi, hesaptaki (veya Macie bir Güvenlik hesabına delege edildiğinde organizasyondaki) her bucket’taki nesnelerden örnekler alan, düşük maliyetli, sürekli çalışan bir süreçtir. Bucket başına bir hassasiyet puanı ve envanter oluşturur. Binlerce bucket’ınız olduğunda ve hassas verilerin nerede yaşadığını henüz bilmediğinizde bu doğru başlangıç noktasıdır, çünkü her nesneyi taramak yerine örnekleme yaparak maliyet ve idari yükü en aza indirir.
Sınıflandırma işleri (hassas veri keşfi işleri), belirli bucket’ları hedefleyen tek seferlik veya zamanlanmış derin taramalardır. Otomatik keşif bir bucket’ı hassas veri içeriyor olarak işaretledikten sonra, kapsamlı bir analiz için o bucket’a yönelik bir sınıflandırma işi oluşturursunuz. Bu nedenle standart model şudur: organizasyon genelinde otomatik keşfi etkinleştirin, ardından yalnızca işaretlenmiş bucket’lar üzerinde sınıflandırma işleriyle devam edin.
İzin listeleri (Allow lists), bilinen zararsız eşleşmeleri göz ardı etme mekanizmasıdır. Bir veri gölü sentetik test PAN’ları (örneğin, iyi bilinen 4111 1111 1111 1111 test kartı aralığı) içeriyorsa, Macie her birini işaretleyecektir. Veriyi yeniden yazmak veya taşımak maliyetli ve yıkıcıdır; doğru yaklaşım, bir Macie izin listesi — ya tam değerlerin bulunduğu bir düz metin listesi ya da bir regex — tanımlamak ve bunu sınıflandırma işleriniz ve otomatik keşif yapılandırmanızla ilişkilendirmektir. İzin listesiyle eşleşenler bulgulardan hariç tutulurken, gerçek PAN’lar uyarıları tetiklemeye devam eder.
Pratik Problem: Kullanım Senaryosu
Senaryo: Meridian Financial, yüzlerce S3 bucket’ında işlem günlüklerini, müşteri belgelerini ve S3 Glacier’a taşınan uzun vadeli arşivleri depolayan çoklu hesaplı bir AWS ortamı işletmektedir. Güvenlik ekiplerinin temel şifreleme ve günlükleme mekanizmaları mevcut, ancak hesaplar arasında merkezi bir hassas veri keşfi veya tutarlı saklama denetimleri bulunmamaktadır.
Zorluk: Yakın zamanda keşfedilen, herkese açık bir bucket’ın, hatalı bir bucket politikası ve S3 Glacier’a yapılan bir yaşam döngüsü geçişi sonucunda PII içeren arşivlenmiş müşteri kayıtları barındırdığı ortaya çıktı. Meridian’ın tüm hassas verileri bulması, açığa çıkan durumları düzeltmesi ve ileriye dönük olarak uyumlu arşiv saklama politikalarını zorunlu kılması gerekmektedir.
Önerilen Yaklaşım:
- AWS Organization genelinde Amazon Macie’yi etkinleştirin ve Macie’nin bucket’ları ve nesneleri hassas veriler ve riskli yapılandırmalar açısından sürekli olarak değerlendirmesi için otomatik S3 keşfini açın.
- Tüm S3 bucket’larını hedefleyen Macie sınıflandırma işleri oluşturun; SSN’ler ve hesap numaraları için özel hassas veri tanımlayıcıları yapılandırın ve bilinen test verilerini, satıcı dosyalarını ve hizmet hesaplarını hariç tutmak için izin listeleri (allow lists) ayarlayın.
- S3 Glacier’daki nesneleri listelemek için S3 Inventory’yi kullanın, ardından sınıflandırma işlerinin Glacier’a arşivlenmiş içeriği denetleyebilmesi için yalnızca envanter tarafından Macie taraması için işaretlenen nesneleri geçici olarak geri yüklemek üzere S3 Batch Operations’ı çalıştırın.
- Macie bulgularını Amazon EventBridge ve Security Hub’a göndererek düzeltmeyi otomatikleştirin; güvenli S3 bucket politikalarını uygulamak, S3 Block Public Access’i etkinleştirmek, herkese açık ACL’leri kaldırmak ve bucket’ları inceleme için etiketlemek üzere Lambda fonksiyonlarını tetikleyin.
- Dayanıklı saklama ve önleme uygulayın: Kritik bucket’larda S3 Versioning ve S3 Object Lock’u (yönetişim/uyumluluk modları) etkinleştirin, bucket politikası aracılığıyla CMK’ler ile SSE-KMS’i zorunlu kılın ve herkese açık ACL’leri engellemek ve uygun yerlerde şifreleme ile Object Lock’u zorunlu kılmak için AWS Organizations SCP’lerini dağıtın.
- S3 için CloudTrail veri olaylarını (data events) etkinleştirin ve bulguları uyarı ve periyodik Macie sınıflandırma işi zamanlaması için SIEM’e aktararak sürekli kapsamayı sağlayın.
Gerekçe: Bu yaklaşım, otomatik keşif ve hedeflenmiş sınıflandırma (izin listeleriyle) için Macie’yi kullanır, Glacier nesnelerini yalnızca denetim için gerektiğinde geri yükler, EventBridge/Lambda aracılığıyla düzeltmeyi otomatikleştirir ve Object Lock ile KMS kullanarak değişmez saklama ve şifrelemeyi zorunlu kılar. Bu, AWS’nin tespit, düzeltme ve önleyici kontroller için en iyi uygulamalarıyla uyumludur.
# Example allow list (regex form) matching common test PANs
Type: Regex
Regex: '^4111[- ]?1111[- ]?1111[- ]?1111$|^5555[- ]?5555[- ]?5555[- ]?4444$'
Name: synthetic-test-pans
Ham Macie bulgularını, izin veya bastırma listeleri yapılandırmadan mutlak doğru olarak kabul etmek, uyarı yorgunluğuna (alert fatigue) yol açar ve sentetik verilerden kaynaklanan gürültü içinde gerçek olayları maskeleyebilir — bu nedenle, yanlış pozitiflerin yoğun olduğu ortamlarda “bulgulara basitçe güvenmek” yanlış bir yaklaşımdır.
Macie Bulgularını EventBridge ile Entegre Etme
Macie, her bulguyu aws.macie kaynağı üzerinden Amazon EventBridge’e yayınlar. Bu, Macie API’sini yoklamadan (polling) bulguları yönlendirmenize olanak tanır. Tipik bir kural, Policy bulgularını nöbetçi personele bildirim için SNS’e iletir ve SensitiveData bulgularını birleştirme için AWS Security Hub’a gönderir.
{
"source": ["aws.macie"],
"detail-type": ["Macie Finding"],
"detail": { "severity": { "description": ["High"] } }
}
Kuralın hedefleri SNS konuları, Security Hub veya özel düzeltme için bir Lambda fonksiyonudur (örneğin, sorunlu bucket’a otomatik olarak kısıtlayıcı bir bucket politikası uygulamak).
Organizasyon Sınırları için Bucket Politikası Koşulları
S3 Block Public Access (BPA), yalnızca genel internetten veya anonim principal’lardan kaynaklanan erişimi engeller. Farklı bir AWS hesabındaki veya farklı bir AWS Organization’daki kimliği doğrulanmış bir principal’ın, bir bucket politikası veya ACL bu tür bir erişime izin veriyorsa bucket’a erişmesini engellemez. Bu nedenle, gereksinim kuruluşlar arası erişimi önlemek olduğunda yalnızca BPA’ya güvenmek yanlıştır — bucket politikalarını Organizations seviyesindeki Hizmet Kontrol Politikaları (SCP’ler) ile birleştirmelisiniz.
İki IAM koşul anahtarı, organizasyon sınırı zorlamasını hassas hale getirir:
aws:ResourceOrgID: erişilen kaynağın sahibi olan Organization ID’si. Kimlik politikalarında/SCP’lerde, principal’ların Organizasyonunuz dışındaki kaynaklara dokunmasını engellemek için kullanılır.aws:PrincipalOrgID: çağrıyı yapan principal’ın Org ID’si. Bucket politikalarında, Organizasyonunuz dışındaki principal’lardan gelen erişimi engellemek için kullanılır.aws:SourceOrgPaths: kaynak principal’ın OU yolu; belirli bir OU’ya (örneğin, yalnızca “Üretim” OU’su bir uyumluluk bucket’ına yazabilir) kapsam belirlemeye olanak tanır.
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "DenyOutsideOrg",
"Effect": "Deny",
"Principal": "*",
"Action": ["s3:GetObject", "s3:DeleteObject"],
"Resource": "arn:aws:s3:::acme-compliance/*",
"Condition": {
"StringNotEqualsIfExists": {
"aws:PrincipalOrgID": "o-abcd1234",
"aws:SourceOrgPaths": "o-abcd1234/r-root/ou-prod-xyz/"
}
}
}]
}
Bunu, aws:ResourceOrgID değerinin sizin Organizasyonunuzla eşleşmediği kaynaklarda s3:DeleteObject* eylemini reddeden bir SCP ile eşleştirin; böylece bir bucket politikası yanlışlıkla gevşetilse bile kuruluşlar arası veri sızdırma veya silme imkansız hale gelir.
S3 Object Lock: Uyumluluk Modu ve Sürümleme
Object Lock, tek tek nesne sürümleri üzerinde bir kez yaz, çok kez oku (WORM) semantiğini zorunlu kılar. Bucket üzerinde S3 Versioning’in etkinleştirilmesini gerektirir (sürümleme olmadan Object Lock mümkün değildir — kilit, anahtarı değil, belirli bir sürüm ID’sini korur).
Yönetişim modu (Governance mode):
s3:BypassGovernanceRetentioniznine sahip kullanıcılar saklama süresini kısaltabilir veya kaldırabilir. Dahili politika uygulamaları için uygundur.Uyumluluk modu (Compliance mode): AWS hesap kök kullanıcısı da dahil olmak üzere hiçbir principal, saklama süresi dolana kadar nesne sürümünü kısaltamaz, kaldıramaz veya silemez. Bu, yasal değişmezlik gereksinimleri (SEC 17a-4, FINRA, HIPAA arşivlemesi) için doğru seçimdir.
Saklama süresi, nesne başına (Retain-Until tarihi) veya varsayılan bucket seviyesinde bir saklama yapılandırması aracılığıyla ayarlanabilir. Yasal Bekletmeler (Legal Holds), s3:PutObjectLegalHold iznine sahip bir principal tarafından açıkça kaldırılana kadar devam eden ayrı, süresiz kilitlerdir.
aws s3api put-object-retention \
--bucket acme-audit-logs \
--key 2024/transactions.parquet \
--retention '{"Mode":"COMPLIANCE","RetainUntilDate":"2031-01-01T00:00:00Z"}'
S3 Glacier Vault Lock: Kilitleme Tamamlanmadan Önceki Politika Hatalarını Düzeltme
S3 Glacier’daki Vault Lock, değiştirilemez kasa erişim politikalarını zorunlu kılar. Süreç iki çağrıdan oluşur: initiate-vault-lock politikayı 24 saatlik bir zaman aralığıyla devam ediyor durumuna getirir ve complete-vault-lock ise politikayı kalıcı hale getirir. 24 saatlik zaman aralığı içinde bir yazım hatası fark edilirse — örneğin, aşırı izin veren bir Principal gibi — doğru ve en ucuz düzeltme yöntemi şudur:
aws glacier abort-vault-lock --account-id - --vault-name compliance-archive
aws glacier initiate-vault-lock --account-id - --vault-name compliance-archive \
--policy file://corrected-policy.json
abort-vault-lock komutu, devam eden kilidi hiçbir ücret ödemeden iptal ederek düzeltilmiş politikayla yeniden başlatmanıza olanak tanır. Alternatif “düzeltmeler” — kasayı silip yeniden oluşturmak (bu, 10 TB’lık tüm arşivlerin silinmesini ve yeniden yüklenmesini gerektirir, bu da geri alma ve aktarım ücretlerine neden olur) veya kilidin tamamlanmasını bekleyip ardından geçici çözümler bulmaya çalışmak — israflı veya imkansızdır. complete-vault-lock çalıştırıldıktan sonra politika sonsuza kadar değiştirilemez hale gelir; iptal etme işlemi yalnızca devam eden kilitleme sürecindeki zaman aralığında geçerlidir.
İlişkili Tuzak: DNSSEC Güven Zinciri
Alan adları arası yaygın bir tuzak, Route 53 DNSSEC ile ilgilidir. Bir alt alan adı için barındırılan bir bölgede (hosted zone) DNSSEC imzalamasını etkinleştirmek, bir Anahtar İmzalama Anahtarı (Key Signing Key - KSK) ve buna karşılık gelen bir DS kaydı oluşturur. Bu DS kaydının üst bölgede (parent zone) yayınlanması gerekir; bu kayıt olmadan, çözümleyiciler (resolver) güven zincirini doğrulayamaz ve ya yanıtları sahte olarak kabul eder ya da güvenli olmayan çözümlemeye geri döner, bu da doğrulama yapan istemciler için DNS’i bozar. DS kaydını dışa aktarmadan ve kayıt kuruluşuna (registrar) veya üst bölgeye eklemeden imzalamayı etkinleştirmek, çalışan bir DNSSEC dağıtımı değil, yapılandırması tamamlanmamış bir durumdur.
← Şifreleme · Tüm alanlar · Ağ ve VPC Güvenliği →
Bu soruları çözün → · ExamRoll.io’da süreli pratik →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Sınavınızı geçin →