ما آلية عمل مؤسسة وأذونات GitHub؟

مكتمل

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

  • أذونات المستودع
  • أذونات الفريق
  • أذونات المؤسسة
  • أذونات الشركة

مستويات أذونات المستودع

يمكنك تخصيص الوصول إلى كل مستودع عن طريق تعيين مستويات أذونات محددة. هناك خمسة أذونات قياسية على مستوى المستودع:

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

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

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

ما هو تفرع المستودع؟

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

يمكنك أيضا تحديث الشوكة الخاصة بك عن طريق سحب التغييرات من المستودع الأصلي ، والذي يطلق عليه غالبا اسم الريبو "المنبع".

إليك كيفية تفرع مستودع:

  1. في GitHub.com ، انتقل إلى الصفحة الرئيسية للمستودع الذي تريد تفرعه.

  2. في الزاوية العلوية اليسرى، حدد شوكة.

  3. اختر مالكا للانقسام (حسابك الشخصي أو المؤسسة).

  4. اختياريا، أعد تسمية المستودع المتشعب أو قم بتضمين جميع الفروع.

  5. حدد Create fork.

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

إدارة أذونات التفرع (للمسؤولين)

بالنسبة للمستودعات المملوكة للمؤسسة، يمكن للمسؤولين التحكم في إمكانية تشعب المستودعات:

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

لتكوين إعدادات الشوكة:

  1. انتقل إلى إعدادات مستودع المؤسسة.

  2. في الشريط الجانبي الأيمن، ضمن Access، انقر على امتيازات الأعضاء.

  3. حدد موقع خيارات تفرع المستودع وقم بتحديثها حسب الحاجة.

    لقطة شاشة توضح أذونات التفرع لمؤسسة GitHub.

‏‫نَصِيحة

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

لمعرفة المزيد ، راجع مقالة GitHub Docs على Fork a repo.

عرض رؤى المستودع

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

خطوات عرض رؤى المستودع

  1. انتقل إلى المستودع على GitHub.
  2. ضمن اسم المستودع، انقر فوق علامة التبويب Insights ( الرؤى ).
  3. استكشف الأقسام التالية ضمن علامة التبويب Insights
    • المساهمون: عرض رسم بياني للمساهمات بمرور الوقت، بما في ذلك الالتزامات والإضافات والحذف من قبل كل مساهم.
    • حركة المرور: مراقبة حركة مرور المستودع، بما في ذلك الزوار الفريدين ومشاهدات الصفحة.
    • الالتزامات: تحليل نشاط الالتزام بمرور الوقت.
    • تكرار التعليمات البرمجية: تتبع عدد الأسطر المضافة والمحذوفة بمرور الوقت.
    • الرسم البياني للتبعية: اعرض تبعيات المستودع الخاص بك وحدد الثغرات الأمنية المحتملة.

أفضل الممارسات لاستخدام رؤى المستودع

  • مراقبة المساهمات: استخدم قسم المساهمين لتحديد المساهمين النشطين ومناطق المستودع التي تحظى بأكبر قدر من الاهتمام.
  • تتبع نسبة استخدام الشبكة: استخدم قسم حركة المرور لفهم كيفية تفاعل المستخدمين مع المستودع الخاص بك وتحديد الاتجاهات في المشاركة.
  • معالجة الثغرات الأمنية: راجع الرسم البياني للتبعية بانتظام للتأكد من أن المستودع الخاص بك يظل آمنا.

من خلال الاستفادة من رؤى المستودع، يمكنك اتخاذ قرارات تستند إلى البيانات لتحسين التعاون والأمان وإدارة المشاريع.

طرق تلقي المستخدمين الوصول إلى المستودع

إجراءات مستخدم معين قائمة بأذونات المستودع الخاصة به

تتأثر الأذونات الفعالة للمستخدم في المستودع بعوامل مختلفة، بما في ذلك:

  • دور المستودع: (على سبيل المثال، المسؤول والكتابة والقراءة)
  • عضوية الفريق: (على سبيل المثال، الأذونات الموروثة من فريق)
  • عضوية المؤسسة: (على سبيل المثال، أذونات المؤسسة الافتراضية ومتطلبات SSO)

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

خيارات عضوية المستودع

عند منح حق الوصول إلى مستودع، هناك عدة طرق يمكن للمستخدم أن يصبح متعاونا:

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

الوصول إلى مستودع المراقبة والتدقيق

يضمن التدقيق المنتظم لمن لديه حق الوصول إلى المستودع الأمان والتوافق المناسبين. فيما يلي بعض الخطوات والأدوات الموصى بها:

  • عرض الوصول في إعدادات المستودع:

    • انتقل إلى الإعدادات > إدارة الوصول (للمستودع).
    • راجع قائمة المستخدمين والفرق، إلى جانب مستويات الأذونات الخاصة بهم.
  • سجل تدقيق المؤسسة (GitHub Enterprise أو مستوى المؤسسة):

    • يمكن لمالكي المؤسسة عرض التغييرات على العضوية والوصول إلى المستودع والأذونات في سجل التدقيق.
    • تصفية الأحداث حسب اسم المستودع أو الوصول إلى التغييرات لعرض أكثر تركيزا.
  • سجل تدقيق المؤسسة (GitHub Enterprise):

    • إذا كنت تدير مؤسسات متعددة، فاستخدم سجل تدقيق حساب المؤسسة لتعقب التغييرات عبر جميع المؤسسات والمستودعات.
    • وهذا أمر ذو قيمة خاصة للإبلاغ عن التوافق أو مراجعات الأمان على نطاق واسع.
  • البرمجة النصية التلقائية:

    • استخدم واجهة برمجة تطبيقات GitHub REST أو واجهة برمجة تطبيقات GraphQL لسرد المتعاونين والفرق والأذونات برمجيا.
    • دمج البرامج النصية مع البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD أو لوحات معلومات الأمان لمراقبة الحالات الشاذة ووضع علامة عليها باستمرار.

بقشيش: إعداد قواعد حماية الفرع والمراجعات المطلوبة لإضافة طبقة أخرى من الأمان والمساءلة عن جميع تغييرات التعليمات البرمجية.

مستويات أذونات الفريق

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

  • التحكم المركزي في الوصول: تعيين أذونات المستودع (على سبيل المثال، القراءة والكتابة) للفريق بأكمله بدلا من إدارة كل مستخدم على حدة.
  • التعاون المنظم: تنظيم الأعضاء حسب القسم أو المشروع أو الدور لمزيد من التعاون الفعال.
  • الرؤية والاتصال: يمكن لكل فريق الحصول على لوحة المناقشة الخاصة به، مما يسهل مشاركة التحديثات وتنسيق الجهود.

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

هناك مستويان من الأذونات على مستوى الفريق:

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

كما يمكن لمالك المؤسسة ترقية أي عضو في المؤسسة ليكون مشرفًا على الفريق.

لمراجعة الوصول إلى مستودع تديره، يمكنك عرض قائمة مجمعة من الفرق والمستخدمين الذين لديهم حق الوصول إلى المستودع في إعداداتك:

لقطة شاشة لشاشة إدارة الوصول.

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

نماذج الأذونات

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

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