AWS Config Kuralları ve Düzeltme
Uyumlu olmayan kaynakları algılamak için yönetilen ve özel Config kuralları dağıtın ve otomatik düzeltme için SSM Automation belgelerini kullanın.
AWS Config Kuralları ve Düzeltme, CoddyKit'te ücretsiz bir AWS Solutions Architect dersidir. Bu, 4 dersinin 3. 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 Config Nedir?
AWS Config, AWS kaynaklarınızın yapılandırma durumunu zaman içinde kaydeden ve bu yapılandırmaları istenen kurallara göre değerlendiren sürekli yapılandırma denetimi hizmetidir. CloudTrail'ın (kimin ne yaptığını kaydeder) aksine AWS Config, bu kaynak şu anda nasıl görünüyor? ve geçmişte herhangi bir noktada nasıl görünüyordu? sorularını yanıtlar. Ayrıca bu yapılandırma ilkemle uyumlu mu? sorusunu da yanıtlayarak yönetişim ve uyumluluk için başvurulacak hizmet olur.
Yapılandırma Öğeleri ve Yapılandırma Geçmişi
AWS Config bir kaynağı kaydettiğinde, kaynağın belirli bir andaki yapılandırma öğesini (CI) — özniteliklerinin, ilişkilerinin ve meta verilerinin anlık görüntüsünü — oluşturur. Bir kaynak her değiştiğinde yeni bir CI kaydedilir. AWS Config her kaynak için eksiksiz bir yapılandırma geçmişi tutar; bu sayede bir güvenlik grubunun aylar boyunca nasıl değiştiğini ve bir kuralın tam olarak ne zaman eklendiğini veya kaldırıldığını görebilirsiniz. CI'lar bir S3 bucket'ına ve isteğe bağlı olarak CloudWatch Events'e teslim edilir.
# Get the full configuration history for an EC2 security group
aws configservice get-resource-config-history \
--resource-type AWS::EC2::SecurityGroup \
--resource-id sg-0abc1234def567890 \
--limit 10 \
--query 'configurationItems[].{Time:configurationItemCaptureTime,Status:configurationItemStatus}'AWS Config'i Etkinleştirme
AWS Config'i kullanmaya başlamak için, kaydedilecek kaynak türlerini belirterek bir yapılandırma kaydedicisi ve değişiklik bildirimleri için bir S3 bucket'ı ile isteğe bağlı SNS konusunu belirterek bir teslimat kanalı oluşturursunuz. Desteklenen tüm kaynak türlerini veya belirli bir alt kümeyi kaydedebilirsiniz. Bir yapılandırma toplulaştırıcısı, kuruluş genelinde uyumluluk raporlaması için birden çok hesaptaki ve Bölgedeki Config verilerini tek bir görünümde birleştirmenizi sağlar.
# Enable AWS Config recording for all resource types
aws configservice put-configuration-recorder \
--configuration-recorder \
name=default,roleARN=arn:aws:iam::111122223333:role/AWSConfigRole \
--recording-group allSupported=true,includeGlobalResourceTypes=true
# Set up delivery channel
aws configservice put-delivery-channel \
--delivery-channel \
name=default,s3BucketName=my-config-bucket-111122223333,snsTopicARN=arn:aws:sns:us-east-1:111122223333:ConfigChanges
aws configservice start-configuration-recorder --configuration-recorder-name defaultAWS Config Rules: Yönetilen Kurallar
Config rules, kaynaklarınız için istenen yapılandırma durumunu tanımlar. AWS Managed Config kuralları, yaygın uyumluluk denetimlerini kapsayan ve AWS tarafından sağlanan önceden oluşturulmuş kurallardır. Örneğin s3-bucket-public-read-prohibited, S3 bucket'larının herkese açık olarak okunabilir olmadığını denetler; ec2-instance-no-public-ip, EC2 bulut sunucularının genel IP'lere sahip olmadığını denetler; iam-password-policy ise hesap parolası ilkenizin karmaşıklık gereksinimlerini karşılayıp karşılamadığını doğrular. 300'den fazla yönetilen kural kullanılabilir.
# Add the managed rule to check S3 buckets are not publicly readable
aws configservice put-config-rule \
--config-rule '{
"ConfigRuleName": "s3-bucket-public-read-prohibited",
"Source": {
"Owner": "AWS",
"SourceIdentifier": "S3_BUCKET_PUBLIC_READ_PROHIBITED"
},
"Scope": {
"ComplianceResourceTypes": ["AWS::S3::Bucket"]
}
}'
# View compliance status of all rules
aws configservice describe-compliance-by-config-rule \
--query 'ComplianceByConfigRules[].{Rule:ConfigRuleName,Compliance:Compliance.ComplianceType}'Lambda ile Özel Config Rules
Hiçbir AWS Managed kuralı gereksiniminizi karşılamıyorsa AWS Lambda işlevi kullanarak bir özel Config kuralı yazabilirsiniz. Lambda, yapılandırma öğelerini olay yükleri olarak alır ve COMPLIANT veya NON_COMPLIANT sonucu döndürmelidir. Özel kurallar kuruluşa özgü adlandırma kurallarını, gerekli etiketleri, onaylanmış AMI kimliklerini veya uyumluluk ekibinizin gerektirdiği herhangi bir mantığı zorunlu kılabilir. Kurallar değişiklik sırasında (kaynak değiştiğinde), düzenli aralıklarla (her 1/3/6/12/24 saatte bir) ya da her iki durumda da değerlendirme yapabilir.
# Register a custom Lambda-backed Config rule
aws configservice put-config-rule \
--config-rule '{
"ConfigRuleName": "required-tags-enforcer",
"Source": {
"Owner": "CUSTOM_LAMBDA",
"SourceIdentifier": "arn:aws:lambda:us-east-1:111122223333:function:RequiredTagsChecker",
"SourceDetails": [{
"EventSource": "aws.config",
"MessageType": "ConfigurationItemChangeNotification"
}]
},
"Scope": {
"ComplianceResourceTypes": ["AWS::EC2::Instance","AWS::S3::Bucket"]
}
}'CloudFormation Guard ile Proaktif Kurallar
Config, ilke olarak kod yazmayı sağlayan bir dil olan AWS CloudFormation Guard'ı kullanarak proaktif kuralları da destekler. Proaktif kurallar, kaynakları CloudFormation, AWS CDK veya Terraform Cloud aracılığıyla oluşturulmadan önce değerlendirir; uyumlu olmayan yapılandırmaları üretimde var olduktan sonra değil, dağıtım sırasında yakalar. Bu, altyapı işlem hattınızdaki uyumluluk denetimlerini erkene taşır. Proaktif değerlendirme daha yeni bir özelliktir ve SAA-C03 sınavı bunu denetimleri erkene taşıma yönetişimi senaryolarında ele alabilir.
SSM ile Otomatik Düzeltme
Config kuralları, uyumlu olmayan kaynakların insan müdahalesi olmadan düzeltilmesi için otomatik düzeltme eylemleriyle eşleştirilebilir. Düzeltme eylemleri, AWS Systems Manager (SSM) Automation belgeleridir. Örneğin, bir S3 bucket'ı birinin genel erişimi etkinleştirmesi nedeniyle uyumlu olmaktan çıkarsa Config, bucket'ın genel erişim engelini yeniden etkinleştirmek için AWS-DisableS3BucketPublicReadWrite SSM belgesini otomatik olarak çalıştırabilir. Düzeltme otomatik (hemen) veya manuel (istek üzerine tetiklenen) olabilir.
# Add automatic remediation to a Config rule
aws configservice put-remediation-configurations \
--remediation-configurations '[
{
"ConfigRuleName": "s3-bucket-public-read-prohibited",
"TargetType": "SSM_DOCUMENT",
"TargetId": "AWS-DisableS3BucketPublicReadWrite",
"Parameters": {
"S3BucketName": {"ResourceValue": {"Value": "RESOURCE_ID"}},
"AutomationAssumeRole": {"StaticValue": {"Values": ["arn:aws:iam::111122223333:role/ConfigRemediationRole"]}}
},
"Automatic": true,
"MaximumAutomaticAttempts": 3,
"RetryAttemptSeconds": 60
}
]'Config Zaman Çizelgesi ve Kaynak İlişkileri
AWS Config konsolundaki Kaynak Zaman Çizelgesi, bir kaynaktaki tüm yapılandırma değişikliklerini zaman çizelgesi olarak gösterir — herhangi bir noktaya geri dönerek kaynağın tam olarak nasıl göründüğünü ve diğer kaynaklarla ilişkilerini (örneğin hangi güvenlik gruplarının bağlı olduğunu veya hangi IAM rolünün ilişkilendirildiğini) görebilirsiniz. Bir ilişkiye tıkladığınızda, ilgili kaynağın zaman çizelgesine yönlendirilirsiniz. Bu özellik, Config'i kök neden analizinde son derece değerli kılar: üretim ortamını tam olarak hangi değişikliğin bozduğunu belirleyebilirsiniz.
# Get current compliance status for all EC2 instances
aws configservice get-compliance-details-by-resource \
--resource-type AWS::EC2::Instance \
--resource-id i-0123456789abcdef0 \
--query 'EvaluationResults[].{Rule:EvaluationResultIdentifier.EvaluationResultQualifier.ConfigRuleName,Compliance:ComplianceType}'Hesaplar Arasında Config Verilerini Birleştirme
Bir yapılandırma toplayıcısı, birden fazla AWS hesabındaki ve Bölgedeki Config verilerini merkezi uyumluluk raporlaması için tek bir hesapta toplar. Bir AWS Organisation içinde, tek tek yetkilendirme gerektirmeden tüm üye hesaplarını otomatik olarak içeren bir toplayıcıyı yönetim hesabında oluşturabilirsiniz. Toplayıcılar, kuruluş genelindeki uyumlu olmayan tüm kaynakları saniyeler içinde bulmanızı sağlayan SQL benzeri bir arayüz olan Advanced Queries ile sorgulamayı destekler.
# Query all non-compliant resources across an organisation using Advanced Query
aws configservice select-aggregate-resource-config \
--configuration-aggregator-name OrgAggregator \
--expression "SELECT resourceId, resourceType, accountId, awsRegion
WHERE complianceType = 'NON_COMPLIANT'
AND resourceType = 'AWS::S3::Bucket'"
--query 'Results'Büyük Ölçekte Düzeltme
Binlerce uyumlu olmayan kaynağınız olduğunda, Config'in düzeltme istisnaları belirli kaynakları belgelenmiş bir gerekçeyle ve tanımlanmış bir süre boyunca muaf tutmanıza olanak tanır — böylece meşru özel durumların yanlış pozitif olarak düzeltilmesini önlersiniz. Büyük ölçekli temizlik işlemleri için konsoldan toplu manuel düzeltme başlatabilir veya zamanlanmış bir şekilde EC2 örnek filolarına istenen yapılandırmaları uygulamak üzere Systems Manager State Manager ilişkilerini kullanabilirsiniz; böylece Config'in algılama özelliğini SSM'nin uygulama özelliğiyle birleştirirsiniz.
# Add a remediation exception for a specific resource
aws configservice put-remediation-exceptions \
--config-rule-name s3-bucket-public-read-prohibited \
--resource-keys ResourceType=AWS::S3::Bucket,ResourceId=my-public-website-bucket \
--message 'Static website hosting requires public access' \
--expiration-time 2025-01-01T00:00:00ZAWS Config ve CloudTrail Karşılaştırması
Sık sorulan bir SAA-C03 sorusu, Config ile CloudTrail arasındaki farkı ayırt etmektir. CloudTrail şu soruların yanıtını verir: kim, neyi, ne zaman ve nereden yaptı (API çağrısı denetim günlüğü). AWS Config ise kaynağın şu anda nasıl göründüğünü ve zaman içinde nasıl göründüğünü yanıtlar (yapılandırma durumu geçmişi ve uyumluluk). Bunlar birbirini tamamlar — CloudTrail birinin saat 15.00'te ModifySecurityGroup çağrısını yaptığını gösterirken Config, güvenlik grubunun önceki ve sonraki durumunu gösterir. Eksiksiz güvenlik yönetimi için ikisini birlikte kullanın.
Hızlı Kontrol
Bu derste öğrendiğiniz AWS Çözüm Mimarı (SAA-C03) kavramlarını test edin.
Ders Özeti
Bu derste şunları öğrendiniz: AWS Config, yapılandırma durumunu zaman içinde kaydeder ve kaynakları uyumluluk kurallarına göre değerlendirir; yönetilen ve özel kurallar, yüzlerce kaynak özniteliğini otomatik veya isteğe bağlı değerlendirmeyle denetler; SSM Automation düzeltmesi ise uyumlu olmayan kaynakları insan müdahalesi olmadan otomatik olarak düzeltebilir. Sıradaki derste kurumsal ölçekte yönetişim için Conformance Paketlerini ve Organisation Trails'i inceleyeceğiz.
Sıkça Sorulan Sorular
“AWS Config Kuralları ve Düzeltme” dersi ücretsiz mi?
Evet — “AWS Config Kuralları ve Düzeltme” 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.
“AWS Config Kuralları ve Düzeltme” dersinde ne öğreneceğim?
Uyumlu olmayan kaynakları algılamak için yönetilen ve özel Config kuralları dağıtın ve otomatik düzeltme için SSM Automation belgelerini kullanı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 3. dersidir.
“AWS Config Kuralları ve Düzeltme” 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
- CloudTrail İzleri ve Olay Geçmişi
- CloudTrail Insights ve Günlük Dosyası Bütünlüğü
- AWS Config Kuralları ve Düzeltme
- Uyumluluk Paketleri ve Organizasyon İzleri