إدارة ميزات وتنبيهات GitHub Advanced Security

مكتمل

الآن بعد إعداد الأمان لمشروعك، كل ما عليك فعله هو مراقبة ميزات GitHub Advanced Security وتنبيهاته وإدارتها لمشروعك.

في هذه الوحدة، ستتعلم كيفية استخدام نظرة عامة على الأمان لمراقبة مخاطر الأمان في مشروعك. تغطي هذه الوحدة أيضا كيفية استخدام نقاط نهاية GitHub Advanced Security لإدارة ميزات وتنبيهات GitHub Advanced Security.

استخدام نظرة عامة على الأمان

تتوفر نظرة عامة على الأمان في علامة تبويب الأمان للمؤسسات والمستودعات. يمكنك استخدامه للحصول على عرض عالي المستوى لحالة الأمان لمؤسستك أو لتحديد المستودعات المسببة للمشاكل التي تتطلب تدخلا.

  • على مستوى المؤسسة، تعرض نظرة عامة على الأمان معلومات الأمان المجمعة والمخصصة للمستودع للمستودعات التي تمتلكها مؤسستك. يمكنك أيضا تصفية المعلومات لكل ميزة أمان.
  • على مستوى الفريق، تعرض نظرة عامة على الأمان معلومات أمان خاصة بالمستودع للمستودعات التي يمتلك الفريق امتيازات المسؤول لها.
  • على مستوى المستودع، تعرض نظرة عامة على الأمان ميزات الأمان التي تم تمكينها للمستودع وتوفر خيار تكوين أي ميزات أمان متوفرة غير مستخدمة حاليا.

لقطة شاشة لنظرة عامة على الأمان على مستوى المؤسسة.

بفضل مستوى التفاعل العالي وعوامل التصفية العديدة، تعد نظرة عامة على الأمان مفيدة لكل من التحليلات الواسعة والمحددة لحالة أمان مؤسستك. على سبيل المثال، يمكنك استخدامه لمراقبة اعتماد الميزات من قبل مؤسستك أو من قبل فريق معين أثناء طرح GitHub Advanced Security لمؤسستك، أو استخدامه لمراجعة جميع التنبيهات من نوع معين ومستوى الخطورة عبر جميع المستودعات في مؤسستك.

استخدام نقاط نهاية GitHub Advanced Security

يوضح الجدول التالي نقاط النهاية المتوفرة لكل ميزة أمان متقدم مع ارتباطات إلى وثائقها.

ميزة نقاط النهاية وثائق
مسح التعليمات البرمجية استرداد وتحديث تنبيهات فحص التعليمات البرمجية من مستودع.
إنشاء تقارير تلقائية لتنبيهات فحص التعليمات البرمجية في مؤسسة.
تحميل نتائج التحليل التي تم إنشاؤها باستخدام أدوات فحص التعليمات البرمجية دون اتصال.
واجهة برمجة تطبيقات فحص التعليمات البرمجية
مسح البيانات السرية تمكين أو تعطيل مسح البيانات السرية لمستودع.
استرداد وتحديث تنبيهات مسح البيانات السرية من مستودع خاص.
Repos API
Secret Scanning API
مراجعة التبعية تمكين وتعطيل تنبيهات التبعية والرسم البياني للتبعية لمستودع.
تمكين وتعطيل إصلاحات الأمان لمستودع.
عرض معلومات التبعية.
Repos API
واجهة برمجة تطبيقات GraphQL

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

نطاق الوصول الافتراضي (المتساهل) الوصول الافتراضي (المقيد) أقصى وصول بواسطة المستودعات المتشعبة
الاجراءات القراءة/الكتابة اي قرأ
الشيكات القراءة/الكتابة اي قرأ
المحتويات القراءة/الكتابة قرأ قرأ
نشر القراءة/الكتابة اي قرأ
الرمز المميز للمعرف القراءة/الكتابة اي قرأ
القضايا القراءة/الكتابة اي قرأ
بيانات التعريف قرأ قرأ قرأ
الرزم القراءة/الكتابة اي قرأ
طلبات السحب القراءة/الكتابة اي قرأ
مشاريع المستودع القراءة/الكتابة اي قرأ
أحداث الأمان القراءة/الكتابة اي قرأ
حالات القراءة/الكتابة اي قرأ

يمكنك تعديل أذونات GITHUB_TOKEN في ملفات سير العمل الفردية. إذا كانت الأذونات الافتراضية GITHUB_TOKEN مقيدة، فقد تضطر إلى زيادة الأذونات للسماح بتشغيل بعض الإجراءات والأوامر بنجاح. إذا كانت الأذونات الافتراضية متساهلة، يمكنك تحرير ملف سير العمل لإزالة بعض الأذونات من GITHUB_TOKEN. كممارسة أمان جيدة، يجب منح GITHUB_TOKEN أقل وصول مطلوب.

يمكنك أيضا استخدام مفتاح permissions في ملفات سير العمل لتعديل أذونات GITHUB_TOKEN لسير عمل بأكمله أو للمهام الفردية. يسمح لك هذا المفتاح بتكوين الحد الأدنى من الأذونات المطلوبة لسير عمل أو مهمة. عند استخدام مفتاح permissions، يتم تعيين جميع الأذونات غير المحددة على عدم الوصول، باستثناء نطاق بيانات التعريف، الذي يحصل دائما على حق الوصول للقراءة.

name: Create issue on commit

on: [ push ]

jobs:
  create_commit:
    runs-on: ubuntu-latest
    permissions:
      issues: write
    steps:
      - name: Create issue using REST API
        run: |
          curl --request POST \
          --url http(s)://[hostname]/api/v3/repos/${{ github.repository }}/issues \
          --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
          --header 'content-type: application/json' \
          --data '{
            "title": "Automated issue for commit: ${{ github.sha }}",
            "body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \n\n The commit hash was: _${{ github.sha }}_."
            }' \
          --fail

في المثال السابق، يتم منح حق الوصول للكتابة لنطاق واحد لوظيفة واحدة.

بالإضافة إلى ذلك، يمكنك استخدام مفتاح permissions لإضافة أذونات القراءة وإزالتها للمستودعات المتشعبة، ولكن عادة لا يمكنك منح حق الوصول للكتابة. الاستثناء من هذا السلوك هو إذا حددت الخيار Send write tokens to workflows from pull requests في إعدادات GitHub Actions.