
تطبيق GitHub لتعيين وتنفيذ السياسات الأمنية
[!IMPORTANT] تم إيقاف تطبيق Allstar المستضاف من OpenSSF. يستمر تطوير Allstar، وهو مشروع فرعي من OpenSSF Scorecard، — يجب عليك الآن تشغيله بنفسك، إما كإجراء GitHub أو كخدمة خلفية.
راجع ossf/allstar#881 لمزيد من التفاصيل.
إذا كانت مؤسستك تعتمد على التطبيق المستضاف، راجع الانتقال من التطبيق المستضاف.
Allstar هو تطبيق GitHub يراقب باستمرار مؤسسات أو مستودعات GitHub للتأكد من الالتزام بأفضل ممارسات الأمان. إذا اكتشف Allstar انتهاكًا لسياسة أمان، فإنه ينشئ مشكلة لتنبيه مالك المستودع أو المؤسسة. بالنسبة لبعض سياسات الأمان، يمكن لـ Allstar أيضًا تغيير إعداد المشروع الذي تسبب في الانتهاك تلقائيًا، وإعادته إلى الحالة المتوقعة.
هدف Allstar هو منحك تحكمًا دقيقًا في الملفات والإعدادات التي تؤثر على أمان مشاريعك. يمكنك اختيار سياسات الأمان التي تريد مراقبتها على مستوى المؤسسة والمستودع، وكيفية التعامل مع انتهاكات السياسات. يمكنك أيضًا تطوير أو المساهمة بسياسات جديدة.
تم تطوير Allstar كجزء من مشروع OpenSSF Scorecard.
إذا كنت تتلقى مشكلات غير مرغوب فيها تم إنشاؤها بواسطة Allstar، فاتبع هذه التعليمات لإلغاء الاشتراك.
Allstar قابل للتكوين بدرجة كبيرة. هناك ثلاثة مستويات رئيسية للتحكم:
تتم هذه التكوينات في مستودع .allstar الخاص بالمؤسسة.
مستوى المستودع: يمكن لمشرفي المستودعات في مؤسسة تستخدم Allstar اختيار
اشتراك مستودعهم أو إلغاء اشتراكه في عمليات الإنفاذ على مستوى المؤسسة.
ملاحظة: هذه الضوابط على مستوى المستودع تعمل فقط عندما يُسمح بـ "تجاوز
المستودع" في إعدادات مستوى المؤسسة. تتم هذه التكوينات في دليل .allstar
الخاص بالمستودع.
مستوى السياسة: يمكن للمسؤولين أو المشرفين اختيار السياسات الممكّنة على
مستودعات محددة والإجراءات التي يتخذها Allstar عند انتهاك سياسة ما. تتم هذه
التكوينات في ملف سياسة yaml إما في مستودع .allstar الخاص بالمؤسسة
(للمسؤولين)، أو في دليل .allstar الخاص بالمستودع (للمشرفين).
قبل تثبيت Allstar على مستوى المؤسسة، يجب عليك تحديد عدد المستودعات التقريبي الذي تريد أن يعمل عليه Allstar. سيساعدك هذا في الاختيار بين استراتيجيتي الاشتراك وإلغاء الاشتراك.
تتيح لك استراتيجية الاشتراك إضافة المستودعات التي تريد أن يعمل عليها Allstar يدويًا. إذا لم تحدد أي مستودعات، فلن يعمل Allstar على الرغم من تثبيته. اختر استراتيجية الاشتراك إذا كنت تريد فرض السياسات على عدد صغير فقط من إجمالي مستودعاتك، أو تريد تجربة Allstar على مستودع واحد قبل تمكينه على المزيد. منذ إصدار v4.3، يتم دعم أنماط glob لإضافة مستودعات متعددة بسهولة بأسماء متشابهة.
تتيح استراتيجية إلغاء الاشتراك (موصى بها) تمكين Allstar على جميع المستودعات وتسمح لك بتحديد المستودعات التي تريد إلغاء اشتراكها من عمليات إنفاذ Allstar يدويًا. يمكنك أيضًا اختيار إلغاء اشتراك جميع المستودعات العامة أو جميع المستودعات الخاصة. اختر هذا الخيار إذا كنت تريد تشغيل Allstar على جميع المستودعات في مؤسسة ما، أو تريد إلغاء اشتراك عدد صغير فقط من المستودعات أو نوع معين (أي عام مقابل خاص) من المستودعات. منذ إصدار v4.3، يتم دعم أنماط glob لإضافة مستودعات متعددة بسهولة بأسماء متشابهة.
| إلغاء الاشتراك (موصى به) optOutStrategy = true |
الاشتراك optOutStrategy = false |
|
|---|---|---|
| السلوك الافتراضي | جميع المستودعات ممكّنة | لا توجد مستودعات ممكّنة |
| إضافة المستودعات يدويًا | إضافة المستودعات يدويًا يعطل Allstar على تلك المستودعات | إضافة المستودعات يدويًا يمكّن Allstar على تلك المستودعات |
| تكوينات إضافية | optOutRepos: سيتم تعطيل Allstar على المستودعات المدرجة optOutPrivateRepos: إذا كان صحيحًا، سيتم تعطيل Allstar على جميع المستودعات الخاصة optOutPublicRepos: إذا كان صحيحًا، سيتم تعطيل Allstar على جميع المستودعات العامة (optInRepos: سيتم تجاهل هذا الإعداد) |
optInRepos: سيتم تمكين Allstar على المستودعات المدرجة (optOutRepos: سيتم تجاهل هذا الإعداد) |
| تجاوز المستودع | إذا كان صحيحًا: يمكن للمستودعات إلغاء اشتراكها من عمليات إنفاذ Allstar
على مستوى المؤسسة باستخدام الإعدادات في ملف المستودع الخاص بها. يتم تجاهل
إعدادات الاشتراك على مستوى المؤسسة التي تنطبق على هذا المستودع. إذا كان خطأ: لا يمكن للمستودعات إلغاء اشتراكها من عمليات إنفاذ Allstar كما تم تكوينها على مستوى المؤسسة. |
إذا كان صحيحًا: يمكن للمستودعات الاشتراك في عمليات إنفاذ Allstar على مستوى
المؤسسة حتى لو لم تكن مهيأة للمستودع على مستوى المؤسسة. يتم تجاهل إعدادات
إلغاء الاشتراك على مستوى المؤسسة التي تنطبق على هذا المستودع. إذا كان خطأ: لا يمكن للمستودعات الاشتراك في عمليات إنفاذ Allstar إذا لم تكن مهيأة على مستوى المؤسسة. |
يعمل Allstar على مؤسستك كتطبيق GitHub: تقوم بإنشاء التطبيق، وتقوم بتشغيل العملية التي تصادق عليه. لذلك يتكون الإعداد من خطوتين مشتركتين في كل نشر — إنشاء التطبيق و إنشاء مستودع التحكم — ثم اختيار كيفية تشغيله:
| إجراء GitHub | الخدمة الخلفية | |
|---|---|---|
| كيف يعمل | وظيفة مجدولة في مستودع .allstar الخاص بك | عملية مستمرة تستضيفها |
| ما تقدمه | لا شيء يتجاوز GitHub | خادم أو منسق حاويات |
| الإيقاع | أيًا كان ما تحدده في cron | مستمر، مع نتائج خلال 5-10 دقائق |
| جهد الإعداد | متوسط | مرتفع |
| الأفضل عندما | تريد الخيار الأقل بنية تحتية | تريد أقصى تحكم، أو تدير خدمات بالفعل |
الإجراء هو الخيار الأقل تكلفة من الاثنين وهو المكان الذي يجب أن تبدأ فيه معظم المؤسسات؛ يمكنك الانتقال إلى خدمة خلفية لاحقًا دون تغيير أي تكوين سياسة.
التطبيق هو هوية شبيهة بالمستخدم مع مجموعة من الأذونات في مؤسستك.
يحتاج Allstar إلى وصول للقراءة إلى معظم الإعدادات ومحتويات الملفات لاكتشاف
الامتثال، ووصول للكتابة إلى المشكلات والفحوصات لتقديم المشكلات ودعم
إجراء block.