قواعد AWS Config والمعالجة
انشر قواعد Config المُدارة والمخصّصة لاكتشاف الموارد غير المتوافقة، واستخدم مستندات SSM Automation للمعالجة التلقائية
قواعد AWS Config والمعالجة درس مجاني في Cloud & IT Cert Prep على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cloud & IT Cert Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
ما هي AWS Config؟
AWS Config خدمة تدقيق مستمر للتهيئة، تسجل حالة تهيئة موارد AWS بمرور الوقت وتقيّم تلك التهيئات مقابل قواعد محددة. بخلاف CloudTrail (الذي يسجل من فعل ماذا)، تجيب AWS Config عن سؤالَي ما شكل هذا المورد الآن؟ وما شكله في أي وقت سابق؟. كما تجيب عن السؤال: هل تتوافق هذه التهيئة مع سياستي؟ — مما يجعلها الخدمة الأساسية للحوكمة والامتثال.
عناصر التهيئة وسجل التهيئة
عندما تسجل AWS Config موردًا، فإنها تنشئ عنصر تهيئة (CI) — وهو لقطة لسمات المورد وعلاقاته وبياناته الوصفية في نقطة زمنية محددة. وفي كل مرة يتغير فيها المورد، يُسجَّل عنصر CI جديد. تحتفظ AWS Config بـسجل تهيئة كامل لكل مورد، مما يتيح لك معرفة كيفية تطور مجموعة أمان على مدار أشهر وتحديد وقت إضافة قاعدة أو إزالتها بدقة. تُسلَّم عناصر CI إلى حاوية S3، واختياريًا إلى CloudWatch Events.
# 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
لبدء استخدام AWS Config، تنشئ مسجّل تهيئة (لتحديد أنواع الموارد التي يجب تسجيلها) وقناة تسليم (لتحديد حاوية S3 وموضوع SNS اختياري لإشعارات التغيير). يمكنك تسجيل جميع أنواع الموارد المدعومة أو مجموعة فرعية محددة. ويتيح لك مجمّع التهيئة دمج بيانات Config من حسابات ومناطق متعددة في عرض واحد لإعداد تقارير الامتثال على مستوى المؤسسة.
# 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 defaultقواعد AWS Config: القواعد المُدارة
تحدد قواعد Config حالة التهيئة المطلوبة لمواردك. أما قواعد AWS Config المُدارة فهي قواعد مُعدّة مسبقًا توفرها AWS لتغطية فحوصات الامتثال الشائعة — فعلى سبيل المثال، تتحقق s3-bucket-public-read-prohibited من عدم إمكانية القراءة العامة لحاويات S3، وتتحقق ec2-instance-no-public-ip من عدم امتلاك مثيلات EC2 عناوين IP عامة، بينما تتحقق iam-password-policy من استيفاء سياسة كلمات مرور الحساب لمتطلبات التعقيد. يتوفر أكثر من 300 قاعدة مُدارة.
# 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}'قواعد Config مخصصة باستخدام Lambda
عندما لا تغطي أي قاعدة مُدارة من AWS متطلبك، يمكنك كتابة قاعدة Config مخصصة باستخدام دالة AWS Lambda. تتلقى Lambda عناصر التهيئة كحمولات أحداث، ويجب أن تعيد حكمًا هو COMPLIANT أو NON_COMPLIANT. ويمكن للقواعد المخصصة فرض اصطلاحات تسمية خاصة بالمؤسسة، أو علامات مطلوبة، أو معرّفات AMI معتمدة، أو أي منطق يتطلبه فريق الامتثال لديك. ويمكن للقواعد التقييم عند التغيير (عندما يتغير المورد)، أو بشكل دوري (كل ساعة أو 3 أو 6 أو 12 أو 24 ساعة)، أو بالطريقتين.
# 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
تدعم Config أيضًا القواعد الاستباقية باستخدام AWS CloudFormation Guard — وهي لغة للسياسات بصيغة برمجية. تقيّم القواعد الاستباقية الموارد قبل إنشائها عبر CloudFormation أو AWS CDK أو Terraform Cloud، فتكتشف التهيئات غير المتوافقة وقت النشر بدلًا من اكتشافها بعد وجودها في بيئة الإنتاج. وينقل ذلك الامتثال إلى مراحل مبكرة من مسار البنية التحتية. ويُعد التقييم الاستباقي ميزة أحدث قد يشير إليها اختبار SAA-C03 في سيناريوهات الحوكمة التي تطبق مبدأ النقل إلى اليسار.
المعالجة التلقائية باستخدام SSM
يمكن إقران قواعد Config بـإجراءات المعالجة التلقائية بحيث تُصلح الموارد غير المتوافقة دون تدخل بشري. وإجراءات المعالجة هي مستندات التشغيل الآلي في AWS Systems Manager (SSM). فعلى سبيل المثال، إذا أصبحت حاوية S3 غير متوافقة لأن شخصًا ما فعّل الوصول العام، يمكن لـ Config تشغيل مستند SSM AWS-DisableS3BucketPublicReadWrite تلقائيًا لإعادة تفعيل حظر الوصول العام للحاوية. ويمكن أن تكون المعالجة تلقائية (فورية) أو يدوية (تُشغَّل عند الطلب).
# 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
}
]'الخط الزمني للإعدادات وعلاقات الموارد
يعرض Resource Timeline في AWS Config ضمن وحدة التحكم كل تغيير في إعدادات المورد على شكل خط زمني؛ ويمكنكم الرجوع إلى أي نقطة زمنية لمعرفة الحالة الدقيقة للمورد، بما في ذلك علاقاته بالموارد الأخرى، مثل مجموعات الأمان المرفقة أو دور IAM المرتبط به. يؤدي النقر على إحدى العلاقات إلى الانتقال إلى الخط الزمني للمورد المرتبط. وهذا يجعل Config أداة لا تقدر بثمن لتحليل السبب الجذري، إذ يمكنكم تحديد التغيير الذي تسبب بدقة في تعطّل بيئة الإنتاج.
# 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}'تجميع Config عبر الحسابات
يجمع configuration aggregator بيانات Config من عدة حسابات ومناطق AWS في حساب واحد لإعداد تقارير امتثال مركزية. في AWS Organisation، يمكنكم إنشاء مجمّع في حساب الإدارة ليشمل تلقائيًا جميع حسابات الأعضاء من دون الحاجة إلى تفويض كل حساب على حدة. وتدعم المجمّعات إجراء الاستعلامات باستخدام Advanced Queries، وهي واجهة شبيهة بـ SQL للعثور على جميع الموارد غير الممتثلة عبر المؤسسة خلال ثوانٍ.
# 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'المعالجة على نطاق واسع
عندما يكون لديكم آلاف الموارد غير الممتثلة، تتيح لكم remediation exceptions في Config إعفاء موارد محددة لفترة زمنية معينة مع توثيق السبب، مما يجنبكم تنفيذ معالجة خاطئة لحالات استثنائية مشروعة. ولإجراء التنظيف على نطاق واسع، يمكنكم تشغيل المعالجة يدويًا بشكل جماعي من وحدة التحكم، أو استخدام ارتباطات Systems Manager State Manager لتطبيق الإعدادات المطلوبة على مجموعات من مثيلات EC2 وفق جدول زمني، مع الجمع بين اكتشاف Config وفرض SSM للإعدادات.
# 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:00Zمقارنة AWS Config وCloudTrail
من الأسئلة الشائعة في اختبار SAA-C03 التمييز بين Config وCloudTrail. يجيب CloudTrail عن الأسئلة التالية: من فعل ماذا، ومتى، ومن أين (سجل تدقيق لاستدعاءات API). أما AWS Config فيجيب عن السؤالين التاليين: ما شكل المورد الآن، وكيف كان شكله بمرور الوقت (سجل حالة الإعدادات والامتثال). وهما خدمتان متكاملتان؛ إذ يخبركم CloudTrail بأن شخصًا ما استدعى ModifySecurityGroup في الساعة 3 مساءً، بينما يعرض Config حالة مجموعة الأمان قبل التغيير وبعده. استخدموا الخدمتين معًا لتحقيق حوكمة أمنية شاملة.
تحقق سريع
اختبروا مدى فهمكم لمفاهيم AWS Solutions Architect (SAA-C03) الواردة في هذا الدرس.
مراجعة الدرس
تعلمتم في هذا الدرس أن AWS Config يسجل حالة الإعدادات بمرور الوقت ويقيّم الموارد مقابل قواعد الامتثال، وأن القواعد المُدارة والمخصصة تتحقق من مئات سمات الموارد من خلال تقييم تلقائي أو عند الطلب، وأن معالجة SSM Automation يمكنها إصلاح الموارد غير الممتثلة تلقائيًا من دون تدخل بشري. بعد ذلك، سنستكشف Conformance Packs وOrganisation Trails لتحقيق الحوكمة على مستوى المؤسسات.
الأسئلة الشائعة
هل درس «قواعد AWS Config والمعالجة» مجاني؟
نعم — نص درس «قواعد AWS Config والمعالجة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cloud & IT Cert Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
ماذا ستتعلم في «قواعد AWS Config والمعالجة»؟
انشر قواعد Config المُدارة والمخصّصة لاكتشاف الموارد غير المتوافقة، واستخدم مستندات SSM Automation للمعالجة التلقائية تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟
لا تُشترط خبرة سابقة. Cloud & IT Cert Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «قواعد AWS Config والمعالجة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟
نعم. كل درس في Cloud & IT Cert Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مسارات CloudTrail وسجل الأحداث
- CloudTrail Insights وسلامة ملفات السجل
- قواعد AWS Config والمعالجة
- حزم التوافق ومسارات Organisation