0%
الأسرار والمتغيرات والبيئات المحمية

الأسرار والبيئات

ما الذي يحمي الرمز المميز فعلًا، وما الذي يكشفه دون أن تلاحظ.

10-15 دقيقة

نادرًا ما يتسرب السر بسبب هجوم. بل يتسرب لأن مطورًا مستعجلًا أضاف echo $API_KEY للتأكد من أن المتغير قد مُرِّر فعلًا، ثم بقي سجل التنفيذ ستة أشهر في مستودع عام ولم يتذكر أحد ذلك. ويتسرب أيضًا لأن رمزًا مميزًا مُرِّر كوسيط في سطر الأوامر، فصار ظاهرًا في قائمة العمليات على الـ runner، أو لأن أمر curl في الوضع المفصّل نسخ ترويسة التفويض إلى مخرجاته.

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

الأسرار أم المتغيرات: التمييز الصحيح

يوفر GitHub مكانين للتخزين في إعدادات المستودع.

المتغيرات (vars) مقروءة بوضوح في الواجهة وتظهر في السجلات. وهي مخصصة لما هو إعداد وليس صلاحية وصول: عنوان URL لواجهة API، أو اسم منطقة، أو معرّف مشروع، أو مستوى التسجيل.

أما الأسرار (secrets) فلا يمكن قراءتها أبدًا بعد إدخالها، حتى من صاحبها، وهي مخفية في السجلات. وهي مخصصة لما يمنح صلاحية وصول: رمز مميز، أو كلمة مرور، أو مفتاح خاص، أو سلسلة اتصال.

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!