تمكين التعليقات التوضيحية لطلب السحب في GitHub وAzure DevOps

يعرض أمان DevOps نتائج الأمان كتعليقات توضيحية في طلبات السحب (PR). يمكن لمشغلي الأمان تمكين التعليقات التوضيحية ل PR في Microsoft Defender for Cloud. يمكن معالجة أي مشكلات مكشوفة من قبل المطورين. يمكن لهذه العملية منع وإصلاح الثغرات الأمنية المحتملة والتكوينات الخاطئة قبل دخولها مرحلة الإنتاج. يقوم أمان DevOps بتعليق الثغرات الأمنية ضمن الاختلافات التي تم تقديمها أثناء طلب السحب بدلا من جميع الثغرات الأمنية التي تم اكتشافها عبر الملف بأكمله. يمكن للمطورين رؤية التعليقات التوضيحية في أنظمة إدارة التعليمات البرمجية المصدر الخاصة بهم ويمكن لمشغلي الأمان رؤية أي نتائج لم يتم حلها في Microsoft Defender for Cloud.

باستخدام Microsoft Defender for Cloud، يمكنك تكوين تعليقات PR التوضيحية في Azure DevOps. يمكنك الحصول على تعليقات توضيحية للعلاقات العامة في GitHub إذا كنت عميل GitHub Advanced Security.

ما هي التعليقات التوضيحية لطلب السحب

التعليقات التوضيحية لطلب السحب هي تعليقات تتم إضافتها إلى طلب سحب في GitHub أو Azure DevOps. توفر هذه التعليقات التوضيحية ملاحظات حول تغييرات التعليمات البرمجية التي تم إجراؤها ومشكلات الأمان المحددة في طلب السحب وتساعد المراجعين على فهم التغييرات التي يتم إجراؤها.

يمكن إضافة التعليقات التوضيحية من قبل مستخدم لديه حق الوصول إلى المستودع، ويمكن استخدامه لاقتراح تغييرات أو طرح أسئلة أو تقديم ملاحظات حول التعليمات البرمجية. يمكن أيضا استخدام التعليقات التوضيحية لتعقب المشكلات والأخطاء التي تحتاج إلى إصلاح قبل دمج التعليمات البرمجية في الفرع الرئيسي. يستخدم أمان DevOps في Defender for Cloud التعليقات التوضيحية لعرض نتائج الأمان.

المتطلبات الأساسية

بالنسبة إلى GitHub:

بالنسبة إلى Azure DevOps:

تمكين التعليقات التوضيحية لطلب السحب في GitHub

من خلال تمكين التعليقات التوضيحية لطلب السحب في GitHub، يكتسب المطورون القدرة على رؤية مشكلات الأمان الخاصة بهم عند إنشاء طلب السحب مباشرة إلى الفرع الرئيسي.

لتمكين التعليقات التوضيحية لطلب السحب في GitHub:

  1. انتقل إلى GitHub وسجل الدخول.

  2. حدد مستودعا قمت بإلحاقه ب Defender for Cloud.

  3. انتقل إلى Your repository's home page>.github/workflows.

    لقطة شاشة توضح مكان الانتقال إلى، لتحديد مجلد سير عمل GitHub.

  4. حدد msdevopssec.yml، الذي تم إنشاؤه في المتطلبات الأساسية.

    لقطة شاشة توضح لك مكان وجودك على الشاشة لتحديد ملف msdevopssec.yml.

  5. حدد تحرير.

    لقطة شاشة توضح شكل زر التحرير.

  6. حدد موقع قسم المشغل وتحديثه لتضمين:

    # Triggers the workflow on push or pull request events but only for the main branch
    pull_request:
      branches: ["main"]
    

    يمكنك أيضا عرض مستودع عينة.

    (اختياري) يمكنك تحديد الفروع التي تريد تشغيلها عن طريق إدخال الفرع (الفروع) ضمن قسم المشغل. إذا كنت تريد تضمين كافة الفروع، فقم بإزالة الأسطر مع قائمة الفروع. 

  7. حدد "Start commit".

  8. حدد Commit changes.

    ستكون أي مشكلات يتم اكتشافها بواسطة الماسح الضوئي قابلة للعرض في قسم الملفات التي تم تغييرها في طلب السحب.

    • يستخدم في الاختبارات - التنبيه غير موجود في التعليمات البرمجية للإنتاج.

تمكين التعليقات التوضيحية لطلب السحب في Azure DevOps

من خلال تمكين التعليقات التوضيحية لطلب السحب في Azure DevOps، يكتسب المطورون القدرة على رؤية مشكلات الأمان الخاصة بهم عند إنشاء PRs مباشرة إلى الفرع الرئيسي.

تمكين نهج التحقق من صحة البنية ل CI Build

قبل أن تتمكن من تمكين التعليقات التوضيحية لطلب السحب، يجب أن يكون الفرع الرئيسي قد مكن نهج التحقق من صحة البنية ل CI Build.

لتمكين نهج التحقق من صحة البنية ل CI Build:

  1. سجّل الدخول إلى مشروع Azure DevOps.

  2. انتقل إلى Project settings Repositories>.

    لقطة شاشة توضح لك مكان الانتقال إلى، لتحديد المستودعات.

  3. حدد المستودع لتمكين طلبات السحب.

  4. حدد نُهج.

  5. انتقل إلى الفرع الرئيسي لنهج >الفرع.

    لقطة شاشة توضح مكان تحديد موقع نهج الفرع.

  6. حدد موقع قسم Build Validation.

  7. تأكد من تبديل التحقق من صحة البنية لمستودعك إلى تشغيل.

    لقطة شاشة توضح مكان تبديل CI Build.

  8. حدد حفظ.

    لقطة شاشة تعرض التحقق من صحة البنية.

بمجرد الانتهاء من هذه الخطوات، يمكنك تحديد البنية الأساسية لبرنامج ربط العمليات التجارية للبناء التي قمت بإنشائها مسبقا وتخصيص إعداداته لتناسب احتياجاتك.

تمكين التعليقات التوضيحية لطلب السحب

لتمكين التعليقات التوضيحية لطلب السحب في Azure DevOps:

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. انتقل إلى أمان Defender for Cloud>DevOps.

  3. حدد جميع المستودعات ذات الصلة لتمكين التعليقات التوضيحية لطلب السحب.

  4. حدد إدارة الموارد.

    لقطة شاشة توضح لك كيفية إدارة الموارد.

  5. تبديل التعليقات التوضيحية لطلب السحب إلى تشغيل.

    لقطة شاشة تعرض التبديل الذي تم التبديل إليه.

  6. (اختياري) حدد فئة من القائمة المنسدلة.

    إشعار

    يتم حاليا دعم نتائج التكوينات الخاطئة للبنية الأساسية كتعليمة برمجية فقط (ARM وBicep وTerraform وCloudFormation وDockerfiles و Helm Charts والمزيد).

  7. (اختياري) حدد مستوى خطورة من القائمة المنسدلة.

  8. حدد حفظ.

سيتم عرض جميع التعليقات التوضيحية على طلبات السحب الخاصة بك من الآن فصاعدا استنادا إلى التكوينات الخاصة بك.

لتمكين التعليقات التوضيحية لطلب السحب لمشاريعي ومنظماتي في Azure DevOps:

يمكنك القيام بذلك برمجيا عن طريق استدعاء واجهة برمجة تطبيقات موارد Update Azure DevOps Resource API المكشوفة ل Microsoft. موفر موارد الأمان.

معلومات واجهة برمجة التطبيقات:

أسلوب Http: عناوين URL ل PATCH:

  • تحديث مشروع Azure DevOps: https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>/projects/<adoProjectName>?api-version=2023-09-01-preview
  • Azure DevOps Org Update]: https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>?api-version=2023-09-01-preview

نص الطلب:

{
   "properties": {
"actionableRemediation": {
              "state": <ActionableRemediationState>,
              "categoryConfigurations":[
                    {"category": <Category>,"minimumSeverityLevel": <Severity>}
               ]
           }
    }
}

المعلمات / الخيارات المتاحة

<ActionableRemediationState>الوصف/ تعليمات: حالة خيارات تكوين التعليق التوضيحي ل PR: ممكن | ذوي الاحتياجات الخاصه

<Category>الوصف: فئة النتائج التي سيتم تعليقها على طلبات السحب. خيارات: IaC | التعليمات البرمجية | البيانات الاصطناعية | التبعيات | ملاحظة الحاويات: يتم دعم IaC فقط حاليا

<Severity>الوصف: الحد الأدنى من خطورة النتيجة التي سيتم أخذها في الاعتبار عند إنشاء تعليقات توضيحية ل PR. خيارات: عالية | متوسط | منخفض

مثال على تمكين التعليقات التوضيحية ل PR لمؤسسة Azure DevOps لفئة IaC مع الحد الأدنى من الخطورة المتوسطة باستخدام أداة az cli.

تحديث المؤسسة:

az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'Medium'}]}}}

مثال على تمكين التعليقات التوضيحية ل PR لمشروع Azure DevOps لفئة IaC مع الحد الأدنى من الخطورة عالية باستخدام أداة az cli.

تحديث المشروع:

az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg/projects/testProject?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'High'}]}}}"

معرفة المزيد

الخطوات التالية

تعرف الآن على المزيد حول أمان DevOps.