فحص مستودع GitHub المتصل أو مشروع Azure DevOps
يمكنك إعداد Microsoft Security DevOps لفحص مستودع GitHub المتصل أو مشروع Azure DevOps. استخدم إجراء GitHub أو ملحق Azure DevOps لتشغيل Microsoft Security DevOps فقط على التعليمات البرمجية المصدر للبنية الأساسية كتعليق برمجي (IaC)، والمساعدة في تقليل وقت تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية.
توضح لك هذه المقالة كيفية تطبيق ملف تكوين YAML لقالب لفحص المستودع أو المشروع المتصل خصيصا بحثا عن مشكلات أمان IaC باستخدام قواعد Microsoft Security DevOps.
المتطلبات الأساسية
- بالنسبة إلى Microsoft Security DevOps، قم بإعداد إجراء GitHub أو ملحق Azure DevOps استنادا إلى نظام إدارة التعليمات البرمجية المصدر:
- تأكد من أن لديك قالب IaC في المستودع الخاص بك.
إعداد وتشغيل إجراء GitHub لفحص التعليمات البرمجية المصدر IaC المتصلة
لإعداد إجراء وعرض نتائج الفحص في GitHub:
قم بتسجيل الدخول إلى GitHub.
انتقل إلى الصفحة الرئيسية لمستودعك.
في دليل الملفات، حدد .github>workflows>msdevopssec.yml.
لمزيد من المعلومات حول العمل مع إجراء في GitHub، راجع المتطلبات الأساسية.
حدد أيقونة تحرير هذا الملف (القلم الرصاص).
في قسم Run analyzers من ملف YAML، أضف هذه التعليمة البرمجية:
with: categories: 'IaC'
إشعار
القيم حساسة لحالة الأحرف.
إليك مثال:
حدد Commit changes . . . . .
حدد Commit changes.
(اختياري) إضافة قالب IaC إلى المستودع الخاص بك. إذا كان لديك بالفعل قالب IaC في المستودع الخاص بك، فتخط هذه الخطوة.
على سبيل المثال، قم بتثبيت قالب IaC الذي يمكنك استخدامه لنشر تطبيق ويب Linux أساسي.
حدد ملف azuredeploy.json.
حدد "Raw".
انسخ جميع المعلومات الموجودة في الملف، كما في المثال التالي:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "webAppName": { "type": "string", "defaultValue": "AzureLinuxApp", "metadata": { "description": "The base name of the resource, such as the web app name or the App Service plan." }, "minLength": 2 }, "sku": { "type": "string", "defaultValue": "S1", "metadata": { "description": "The SKU of the App Service plan." } }, "linuxFxVersion": { "type": "string", "defaultValue": "php|7.4", "metadata": { "description": "The runtime stack of the current web app." } }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "The location for all resources." } } }, "variables": { "webAppPortalName": "[concat(parameters('webAppName'), '-webapp')]", "appServicePlanName": "[concat('AppServicePlan-', parameters('webAppName'))]" }, "resources": [ { "type": "Microsoft.Web/serverfarms", "apiVersion": "2020-06-01", "name": "[variables('appServicePlanName')]", "location": "[parameters('location')]", "sku": { "name": "[parameters('sku')]" }, "kind": "linux", "properties": { "reserved": true } }, { "type": "Microsoft.Web/sites", "apiVersion": "2020-06-01", "name": "[variables('webAppPortalName')]", "location": "[parameters('location')]", "kind": "app", "dependsOn": [ "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]" ], "properties": { "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]", "siteConfig": { "linuxFxVersion": "[parameters('linuxFxVersion')]" } } } ] }
في مستودع GitHub، انتقل إلى المجلد .github/workflows .
حدد إضافة ملف>إنشاء ملف جديد.
أدخل اسما للملف.
الصق المعلومات المنسخة في الملف.
حدد الالتزام بملف جديد.
تتم إضافة ملف القالب إلى المستودع الخاص بك.
تحقق من انتهاء فحص Microsoft Security DevOps:
بالنسبة للمستودع، حدد Actions.
حدد سير العمل لمشاهدة حالة الإجراء.
لعرض نتائج الفحص، انتقل إلى أمان Defender for Cloud>DevOps (لا توجد متطلبات مسبقة ل GHAS) أو تنبيهات فحص رمز الأمان>أصلا في GitHub (يتطلب ترخيص GHAS).
إعداد وتشغيل ملحق Azure DevOps لفحص التعليمات البرمجية المصدر IaC المتصلة
لإعداد ملحق وعرض نتائج الفحص في Azure DevOps:
قم بتسجيل الدخول إلى Azure DevOps.
حدد مشروعك.
حدد Pipelines.
حدد البنية الأساسية لبرنامج ربط العمليات التجارية حيث تم تكوين ملحق Azure DevOps ل Microsoft Security DevOps.
حدد تحرير البنية الأساسية لبرنامج ربط العمليات التجارية.
في ملف تكوين البنية الأساسية لبرنامج ربط العمليات التجارية YAML، أسفل
displayName
السطر لمهمة MicrosoftSecurityDevOps@1 ، أضف هذه التعليمة البرمجية:inputs: categories: 'IaC'
إليك مثال:
حدد حفظ.
(اختياري) أضف قالب IaC إلى مشروع Azure DevOps. إذا كان لديك بالفعل قالب IaC في مشروعك، فتخط هذه الخطوة.
اختر ما إذا كنت تريد التثبيت مباشرة إلى الفرع الرئيسي أو إنشاء فرع جديد للتثبيت، ثم حدد حفظ.
لعرض نتائج فحص IaC، حدد Pipelines، ثم حدد البنية الأساسية لبرنامج ربط العمليات التجارية التي قمت بتعديلها.
راجع الاطلاع على مزيد من التفاصيل، وحدد تشغيل مسار معين.
عرض التفاصيل ومعلومات المعالجة لقواعد IaC المطبقة
أدوات فحص IaC المضمنة مع Microsoft Security DevOps هي Template Analyzer (PSRule مضمنة في Template Analyzer) و Checkov وTerrascan.
يقوم Template Analyzer بتشغيل القواعد على قوالب Azure Resource Manager (قوالب ARM) وقوالب Bicep. لمزيد من المعلومات، راجع قواعد محلل القالب وتفاصيل المعالجة.
يقوم Terrascan بتشغيل القواعد على قوالب وقوالب ARM ل CloudFormation وDocker وHelm وKubernetes وKustomize وTerraform. لمزيد من المعلومات، راجع قواعد Terrascan.
يشغل Chekov قواعد على قوالب وقوالب ARM ل CloudFormation وDocker وHelm وKubernetes وKustomize وTerraform. لمزيد من المعلومات، راجع قواعد Checkov.
لمعرفة المزيد حول أدوات فحص IaC المضمنة مع Microsoft Security DevOps، راجع:
المحتوى ذو الصلة
في هذه المقالة، تعلمت كيفية إعداد إجراء GitHub وملحق Azure DevOps ل Microsoft Security DevOps للفحص بحثا عن تكوينات أمان IaC الخاطئة وكيفية عرض النتائج.
للحصول على مزيد من المعلومات:
- تعرف على المزيد حول أمان DevOps.
- تعرف على كيفية توصيل مستودع GitHub الخاص بك ب Defender for Cloud.
- تعرف على كيفية توصيل مشروع Azure DevOps ب Defender for Cloud.