السياسة كتعليمة برمجية وفحوصات الامتثال
أضيفوا طبقة حماية إلى استراتيجية الاختبار عبر فحص خطط Terraform بحثًا عن مخالفات الأمان والامتثال قبل وصولها إلى الإنتاج.
السياسة كتعليمة برمجية وفحوصات الامتثال درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
الاختبار لا يقتصر على الوظائف
تثبت اختبارات الوحدة والتكامل أن البنية التحتية تعمل. أما Policy as code فتثبت أنها مسموح بها: فلا توجد حاويات S3 عامة، ولا تُستخدم إلا أنواع المثيلات المعتمدة، وتكون الوسوم المطلوبة موجودة. وتُشغّل هذه الفحوصات تلقائيًا مع كل تغيير.
موضع فحوصات السياسات
تأتي فحوصات السياسات بين plan وapply. إذ يجري تحليل ناتج الخطة، ويمنع أي انتهاك تنفيذ apply، تمامًا كما يمنع اختبار فاشل دمج التغييرات.
الفحص الساكن باستخدام tfsec
يفحص tfsec ملفات HCL بحثًا عن أخطاء الإعداد المعروفة، من دون الحاجة إلى بيانات اعتماد سحابية. وهو سريع بما يكفي لتشغيله مع كل commit.
tfsec .قراءة ناتج الفحص
تعرض أدوات الفحص معرّف القاعدة، ودرجة الخطورة، والمورد المخالف. استخدم المعرّف للبحث عن إرشادات المعالجة أو لكتم خطر مقبول.
Result: aws-s3-enable-bucket-encryption
Severity: HIGH
Resource: aws_s3_bucket.dataCheckov للفحص متعدد الأطر
يغطي Checkov Terraform بالإضافة إلى تنسيقات IaC أخرى، ويربط النتائج بأطر امتثال مثل CIS وSOC2.
checkov -d . --framework terraformفحص الخطة لا الشيفرة فقط
لالتقاط المشكلات التي لا تظهر إلا بعد حل المتغيرات، صدّر الخطة إلى JSON وافحص ذلك الملف الناتج.
terraform plan -out=tfplan.binary
terraform show -json tfplan.binary > plan.json
checkov -f plan.jsonOpen Policy Agent وConftest
بالنسبة إلى القواعد التنظيمية المخصصة، يتيح لك OPA مع conftest كتابة السياسات بلغة Rego واختبارها مقابل JSON الخاص بالخطة.
conftest test plan.json --policy policy/سياسة Rego بسيطة
ترفض قاعدة Rego هذه أي حاوية S3 تكون ACL الخاصة بها مضبوطة على public-read. ويفشل Conftest التشغيل إذا انطبقت القاعدة.
package main
deny[msg] {
r := input.resource_changes[_]
r.type == "aws_s3_bucket"
r.change.after.acl == "public-read"
msg := "S3 buckets must not be public-read"
}كتم المخاطر المقبولة
قد تكون النتيجة أحيانًا استثناءً معروفًا. تتيح لك التعليقات المضمّنة تجاوز قاعدة محددة مع الاحتفاظ بسجل تدقيق، بدلًا من تعطيل الفحص بأكمله.
resource "aws_s3_bucket" "logs" {
# tfsec:ignore:aws-s3-enable-bucket-encryption
bucket = "public-logs"
}فشل البناء
في CI، تعيد هذه الأدوات رمز خروج غير صفري عند وجود انتهاكات، مما يفشل خط الأنابيب ويمنع متابعة apply غير المتوافق.
tfsec . --soft-fail=falseتوزيع الفحوصات على طبقات
يشغّل خط الأنابيب الناضج fmt وvalidate أولًا، ثم الفحوصات الساكنة للسياسات (tfsec/checkov)، ثم قواعد OPA المخصصة، وبعد ذلك فقط مجموعة Terratest الوظيفية. وتلتقط كل طبقة نوعًا مختلفًا من المشكلات.
تحقق سريع
اختبر معرفتك بالسياسات باعتبارها شيفرة.
مراجعة: ضوابط البنية التحتية
أضفت طبقة امتثال إلى الاختبارات:
- tfsec وCheckov لفحص أخطاء الإعداد المعروفة.
- OPA/conftest مع Rego للقواعد التنظيمية المخصصة.
- فحص JSON الخاص بالخطة لالتقاط مشكلات القيم المحلولة.
- تمنع رموز الخروج غير الصفرية عمليات apply غير المتوافقة في CI.
الأسئلة الشائعة
هل درس «السياسة كتعليمة برمجية وفحوصات الامتثال» مجاني؟
نعم — نص درس «السياسة كتعليمة برمجية وفحوصات الامتثال» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «السياسة كتعليمة برمجية وفحوصات الامتثال»؟
أضيفوا طبقة حماية إلى استراتيجية الاختبار عبر فحص خطط Terraform بحثًا عن مخالفات الأمان والامتثال قبل وصولها إلى الإنتاج. تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «السياسة كتعليمة برمجية وفحوصات الامتثال»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أمرا Terraform `validate` و`fmt`
- اختبار الوحدات باستخدام Terratest
- اختبار تكامل الموارد السحابية
- السياسة كتعليمة برمجية وفحوصات الامتثال