ما هي آلية عمل مصادقة GitHub؟

مكتمل

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

خيارات مصادقة GitHub

هناك العديد من الخيارات للمصادقة مع GitHub:

اسم المستخدم وكلمة المرور

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

الرموز المُميزة للوصول الشخصي

Screenshot of the personal access token screen.

تُعد الرموز المُميزة للوصول الشخصي (PAT) بديلاً لاستخدام كلمات المرور للمصادقة مع GitHub عند استخدام GitHub API أو خط الأوامر. يمكن للمستخدمين إنشاء رمز مُميز عبر خيار إعدادات GitHub، وربط أذونات الرموز المميزة بمستودع أو مؤسسة. عندما يتفاعل المستخدمون مع GitHub باستخدام أداة سطر الأوامر git، يمكنهم إدخال معلومات الرمز المميز عندما يطلب منهم اسم المستخدم وكلمة المرور الخاصة بهم.

مفاتيح SSH

كبديل لاستخدام الرموز المُميزة للوصول الشخصي، يمكن للمستخدمين الاتصال والمصادقة مع الخوادم والخدمات البعيدة عبر SSH بمساعدة مفاتيح SSH. تلغي مفاتيح SSH حاجة المستخدمين إلى توفير اسم المستخدم، والرمز المُميز للوصول الشخصي مع كل تفاعل.

عند إعداد SSH، ينشئ المستخدم مفتاح SSH، ويضيفه إلى عامل ssh، ثم يضيف المفتاح إلى حسابه على GitHub. تضمن إضافة مفتاح SSH إلى ssh-agent أن مفتاح SSH يحتوي على عبارة مرور كطبقة إضافية من الأمان. يمكن للمستخدم تكوين نسخته المحلية من git لتوفير عبارة المرور تلقائيًا، أو يمكنه توفيرها يدويًا في كل مرة يستخدم فيها أداة خط الأوامر git للتفاعل مع GitHub.

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

مفاتيح النشر

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

خيارات الأمان الإضافية في GitHub

يوفر GitHub أيضا خيارات الأمان الإضافية التالية.

المصادقة الثنائية

Screenshot of the two-factor authentication screen.

المصادقة الثنائية (2FA)، والمعروفة أحيانا باسم المصادقة متعددة العوامل (MFA)، هي طبقة إضافية من الأمان تستخدم عند تسجيل الدخول إلى مواقع الويب أو التطبيقات. مع 2FA، يجب على المستخدمين تسجيل الدخول باستخدام اسم المستخدم وكلمة المرور الخاصة بهم وتوفير شكل آخر من أشكال المصادقة التي لا يمكنهم الوصول إليها إلا.

بالنسبة لـ GitHub، فإن الشكل الثاني للمصادقة هو تعليمة برمجية يتم إنشاؤها بواسطة تطبيق على جهاز الجوال الخاص بالمستخدم، أو تُرسل كرسالة نصية (SMS). بعد تمكين المصادقة الثنائية، ينشئ GitHub تعليمةً برمجيةً للمصادقة في أي وقت يحاول فيه شخص ما تسجيل الدخول إلى حسابه على GitHub. يمكن للمستخدمين تسجيل الدخول إلى حساباتهم فقط إذا كانوا يعرفون كلمة المرور الخاصة بهم ويمكنهم الوصول إلى رمز المصادقة على هواتفهم.

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

يمكن لمالكي الشركة فرض نُهج أمان معينة لجميع المؤسسات المملوكة لحساب الشركة.

تسجيل الدخول الأحادي بلغة SAML

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

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

عندما يصل المستخدمون إلى الموارد داخل مؤسسة تستخدم SAML SSO، فإن GitHub يعيد توجيههم إلى SAML IdP التابع للمؤسسة للمصادقة. بعد المصادقة بنجاح مع حسابهم على IdP، يعيد IdP توجيههم إلى GitHub؛ حيث يمكنهم الوصول إلى موارد المؤسسة.

تقدم GitHub دعمًا محدودًا لجميع موفري الهوية الذين يطبقون معيار SAML 2.0 مع الدعم الرسمي للعديد من موفري الهوية الشائعين بما في ذلك:

  • Active Directory Federation Services ‏(AD FS)
  • Microsoft Entra ID
  • Okta
  • OneLogin
  • PingOne

... من بين أمور أخرى.

LDAP

بروتوكول الوصول إلى الدليل الخفيف (LDAP) هو بروتوكول تطبيق شائع للوصول إلى خدمات معلومات الدليل وصيانتها. يتيح لك LDAP مصادقة GitHub Enterprise Server مع حساباتك الحالية، وإدارة الوصول إلى المستودع بشكل مركزي. إنه أحد البروتوكولات الأكثر شيوعا المستخدمة لدمج برامج الجهات الخارجية مع دلائل مستخدمي الشركة الكبيرة.

يتكامل GitHub Enterprise Server مع خدمات LDAP الشائعة مثل:

  • Active Directory
  • Oracle Directory Server Enterprise Edition
  • Openldap
  • فتح الدليل

... من بين أمور أخرى.