تحديد الرموز المميزة للوصول المدعومة

مكتمل

هنا ، تتعرف على الرموز المميزة المختلفة للوصول إلى GitHub وتطبيقاتها وقيودها وحدود المعدل.

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

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

  • الرمز المميز للوصول الشخصي لـ GitHub
  • رموز المستخدم إلى الخادم المميزة لـ GitHub
  • رموز الخادم إلى الخادم المميزة لـ GitHub
  • الرموز المميزة للوصول لـ OAuth
  • تحديث الرموز المميزة

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

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

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

لقطة شاشة مع مثال على رمز مميز للوصول الشخصي GitHub.

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

تتوفر الخطوات التفصيلية لإنشاء رمز مميز للوصول الشخصي هنا: إنشاء رمز وصول شخصي - GitHub Docs

رموز الجهاز المميزة

الرمز المميز للجهاز هو في الأساس إصدار حساب آلي من PAT ، يستخدم في سياق الجهاز ، والذي يتيح الوصول إلى مستودع معين في حالات استخدام محددة غير مرتبطة بالمستخدم. يستخدم إعداد التطبيق باستخدام تدفق OAuth رمزاً مميزاً للجهاز. يتم استخدامها عادة مع العدائين أو خدمات التطبيقات الخاصة أو وظائف Cron (في Linux) أو غيرها من السيناريوهات المماثلة المتعلقة بالمهام التلقائية. تماما مثل رمز الوصول الشخصي، يرتبط الرمز المميز للجهاز بحساب فردي، ويستهلك الحساب الذي تنشئ الرمز المميز للجهاز ترخيصا.

الرموز المميزة لتثبيت تطبيق GitHub

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

الرموز المميزة للوصول لـ OAuth

تُستخدم رموز OAuth2 المميزة لتخويل المستخدمين لتطبيقات OAuth القياسية التي تعمل في المستعرض، وللتطبيقات بلا عنوان مثل أدوات CLI. إنها تسمح لتطبيقك بالوصول إلى واجهة برمجة التطبيقات باستخدام رمز مميز للوصول للمستخدم. تمكنك هذه الرموز المميزة من توصيل هوية المستخدم GitHub بتطبيقات الجهات الخارجية، مما يسمح للتطبيق بتنفيذ إجراءات نيابةً عنك. على سبيل المثال، إذا كنت تريد استخدام تطبيق يطلب user:email نطاقا، منح التطبيق حق الوصول للقراءة فقط إلى عناوين بريدك الإلكتروني الخاصة. ويمكن الحصول على هذه الرموز المميزة باستخدام تدفق تطبيق الويب لتطبيقات الإنتاج. نظرا لأن هذه الرموز قصيرة المدى وتنتهي صلاحيتها في غضون 10 دقائق ، فهي آمنة أيضا.

تحديث الرموز المميزة

يُوصَّل الرمز المميز الخاص بالتحديث بالرمز المميز الخاص بـ OAuth. عند منح الرمز المميز الجديد الخاص بـ OAuth (عبر طلب مستخدم إلى خادم)، يجري تضمين الرمز المميز الخاص بالتحديث في الاستجابة. عند انتهاء صلاحية الرمز المميز للمستخدم، يمكن استبدال الرمز المميز للتحديث برمز مميز جديد للمستخدم مع طلب إعادة الاتصال. في كل مرة يجري فيها إصدار الرمز المميز الجديد الخاص بـ OAuth، يجري تضمين الرمز المميز الخاص بالتحديث. الرموز المميزة الخاصة بالتحديث صالحة لمدة ستة أشهر، وهي تذكير جيد لتحديث الرموز المميزة الخاصة بـ OAuth.

البادئات القابلة للتحديد

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

  • ghp للرموز الشخصية المميزة للوصول لـ GitHub
  • ghu لرموز المستخدم إلى الخادم المميزة لـ GitHub
  • ghs لرموز الخادم إلى الخادم المميزة لـ GitHub
  • gho للرموز المميزة للوصول لـ OAuth
  • ghr لتحديث الرموز

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

حدود معدلات الرمز المميز

تجاوز حدود المعدلات يمكن أن يؤدي إلى فقدان وقت التطوير. دعونا نتحدث عن حدود المعدلات لتطبيقات GitHub وتطبيقات OAuth. من خلال فهم حدود المعدلات، يمكنك أن تكون مورداً للمطورين في فريقك، مما يساعد في تحسين استثمارات مؤسستك في موارد GitHub هذه.

تساعد حدود المعدلات على التحكم في معدل نسبة استخدام الشبكة على GitHub، وتستند إلى الطلبات في الساعة.

  • تطبيق GitHub المثبت على حساب مؤسسة GitHub له حد لمعدل الطلب عند 15000 طلب في الساعة.
  • تمت مصادقة تطبيق OAuth لمستخدم فردي ويقتصر على 5000 طلب في الساعة.

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

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

لقطة شاشة لوحدة تحكم الإدارة التي تحدد حدود معدل واجهة برمجة التطبيقات.

يمكنك التحقق من حالة حد المعدل الحالي في أي وقت باستخدام واجهة برمجة تطبيقات حد المعدل التالية. تُظهر عناوين HTTP التي تم إرجاعها لأي طلب واجهة برمجة تطبيقات حالة حد المعدل الحالي.

curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/rate_limit

مثال على الاستجابة

{
  "resources": {
    "core": {
      "limit": 5000,
      "remaining": 4999,
      "reset": 1372700873,
      "used": 1
    },
    "search": {
      "limit": 30,
      "remaining": 18,
      "reset": 1372697452,
      "used": 12
    },
    "graphql": {
      "limit": 5000,
      "remaining": 4993,
      "reset": 1372700389,
      "used": 7
    },
    "integration_manifest": {
      "limit": 5000,
      "remaining": 4999,
      "reset": 1551806725,
      "used": 1
    },
    "code_scanning_upload": {
      "limit": 500,
      "remaining": 499,
      "reset": 1551806725,
      "used": 1
    }
  },
  "rate": {
    "limit": 5000,
    "remaining": 4999,
    "reset": 1372700873,
    "used": 1
  }
}

لمزيد من المعلومات التفصيلية حول حدود المعدل، راجع تحديد السعر على GitHub Docs.