0Pricing
DevOps Bootcamp · درس

إدارة الأسرار باستخدام GitHub

تعمّقوا في تخزين بيانات الاعتماد الحساسة والوصول إليها بأمان باستخدام GitHub Secrets وOpenID Connect (OIDC).

إدارة الأسرار باستخدام GitHub درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

لماذا تُعد إدارة الأسرار الآمنة مهمة؟

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

إدارة الأسرار هي ممارسة تخزين هذه البيانات الحساسة وإدارتها بأمان. وهي تضمن عدم وصول إليها إلا الأنظمة والمستخدمون المصرح لهم، مما يمنع كشفها دون تصريح.

ما المقصود بـ GitHub Secrets؟

توفّر GitHub طريقة آمنة لتخزين المعلومات الحساسة تُسمى GitHub Secrets. وهي متغيرات بيئة مشفّرة يمكنك استخدامها في مسارات عمل GitHub Actions.

  • لا تُكتب في السجلات افتراضيًا.
  • لا تظهر في واجهة المستخدم بعد إنشائها.
  • لا يمكن الوصول إليها إلا من خلال مسارات العمل المحددة.

وهذا يحافظ على أمان بيانات اعتمادك ويمنع كشفها عن طريق الخطأ.

إعداد أسرار المستودع

يمكنك تعريف الأسرار على مستويات مختلفة: مستوى المستودع أو البيئة أو المؤسسة. وغالبًا ما تبدأ بـ أسرار المستودع.

لإنشاء سر:

  1. انتقل إلى علامة التبويب الإعدادات في مستودعك.
  2. انتقل إلى الأسرار والمتغيرات > Actions.
  3. انقر على سر جديد للمستودع.

امنحه اسمًا فريدًا، مثل API_KEY، ثم الصق قيمة السر.

الوصول إلى الأسرار في مسارات العمل

بعد تعريف سر، يمكنك استخدامه في ملفات YAML الخاصة بمسارات العمل. وتمرّر GitHub Actions الأسرار تلقائيًا إلى مهامك بوصفها متغيرات بيئة.

يمكنك الوصول إليها باستخدام سياق ${{ secrets.SECRET_NAME }}. يحاكي هذا البرنامج النصي خطوةً تستخدم مثل هذا السر. ولتشغيله، افترض أن MY_API_KEY مضبوط كمتغير بيئة بواسطة GitHub Actions.

#!/bin/bash
# This script simulates a workflow step
# where a secret is passed as an environment variable.

echo "Attempting to use an API key..."

# In a real GitHub Action, MY_API_KEY would be
# set by ${{ secrets.MY_API_KEY }} in the workflow YAML.

if [ -z "$MY_API_KEY" ]; then
  echo "Error: MY_API_KEY is not set!"
  echo "Please define it as a secret in your workflow."
else
  echo "Successfully accessed API key (partially shown): ${MY_API_KEY:0:5}..."
fi

نطاقات أوسع للأسرار

بالإضافة إلى أسرار المستودع، توفّر GitHub نطاقين آخرين أكثر قوة:

  • أسرار المؤسسة: متاحة لعدة مستودعات ضمن مؤسسة واحدة. وهي مفيدة للأسرار المشتركة بين العديد من المشاريع، مثل رمز مميز للنشر على مستوى الشركة.
  • أسرار البيئة: مرتبطة ببيئات نشر محددة، مثل staging وproduction. ويمكن أن تخضع لقواعد حماية، مثل اشتراط الموافقة اليدوية قبل النشر.

استخدم دائمًا أصغر نطاق ضروري لتحقيق أقصى قدر من الأمان.

ما هو OpenID Connect (OIDC)؟

OpenID Connect (OIDC) هو طبقة مصادقة مبنية فوق OAuth 2.0. وهو معيار يتيح للعملاء التحقق من هوية المستخدم النهائي استنادًا إلى المصادقة التي أجراها خادم التفويض.

في CI/CD، يتيح OIDC لمسارات العمل المصادقة بأمان مع موفري الخدمات السحابية، مثل AWS وAzure وGCP، من دون الحاجة إلى تخزين بيانات اعتماد طويلة الأجل، مثل مفاتيح API، بوصفها GitHub Secrets.

كيفية عمل OIDC مع Actions

يمكن لـ GitHub Actions أن يعمل كمزوّد OIDC. عند تشغيل سير عمل، تنشئ GitHub رمز OIDC مميزًا وفريدًا وقصير الأجل للمهمة المحددة.

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

الفوائد الرئيسية لـ OIDC

يوفّر استخدام OIDC مع GitHub Actions مزايا أمنية مهمة:

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

دمج OIDC مع السحابة

لاستخدام OIDC، تحتاج إلى تهيئة موفّر الخدمات السحابية، مثل AWS IAM أو Azure AD أو GCP IAM، للوثوق بجهة إصدار OIDC الخاصة بـ GitHub.

ويتضمن ذلك عادةً ما يلي:

  1. إعداد موفّر هوية (IdP) في حسابك السحابي.
  2. تحديد دور/سياسة تمنح أذونات محددة.
  3. إضافة «سياسة ثقة» إلى الدور، تسمح لرموز OIDC الصادرة عن GitHub باستخدامه، وغالبًا ما تكون هذه السياسة مشروطة بمطالبات الرمز، مثل السماح بالوصول من مستودع محدد فقط.

يطلب سير العمل بعد ذلك رمزًا مميزًا ويستخدمه للمصادقة.

تحقق سريع: الوصول الآمن

لقد تعلّمت عن GitHub Secrets لتخزين البيانات الحساسة وعن OpenID Connect للمصادقة السحابية من دون بيانات اعتماد.

أي العبارات التالية حول إدارة الأسرار في GitHub Actions صحيحة؟

مراجعة: تأمين بيانات اعتمادك

أحسنت! لقد تعلّمت كيفية إدارة البيانات الحساسة بأمان في مسارات CI/CD.

  • توفر GitHub Secrets تخزينًا مشفّرًا لمفاتيح API والرموز المميزة ضمن مستودعك أو مؤسستك أو بيئات محددة.
  • يوفّر OpenID Connect (OIDC) طريقة أكثر أمانًا للمصادقة مع موفري الخدمات السحابية، وذلك باستخدام رموز قصيرة الأجل وقابلة للتحقق بدلًا من بيانات الاعتماد الثابتة.

تُعد هذه الممارسات ضرورية لبناء مسارات DevOps قوية وآمنة.

الأسئلة الشائعة

هل درس «إدارة الأسرار باستخدام GitHub» مجاني؟

نعم — نص درس «إدارة الأسرار باستخدام GitHub» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

ماذا ستتعلم في «إدارة الأسرار باستخدام GitHub»؟

تعمّقوا في تخزين بيانات الاعتماد الحساسة والوصول إليها بأمان باستخدام GitHub Secrets وOpenID Connect (OIDC). تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟

لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «إدارة الأسرار باستخدام GitHub»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟

نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أفضل ممارسات الأمان في CI/CD
  2. إدارة الأسرار باستخدام GitHub
  3. اختبار أمان التطبيقات الساكن (SAST)
  4. أمان الاعتماديات وسلسلة التوريد (SCA)
← العودة إلى DevOps Bootcamp