0Pricing
Ansible Academy · درس

أسرار Vault في Pipeline

فك التشفير بأمان في CI دون تسريب

أسرار Vault في Pipeline درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 4 دروس في المجموع.

مشكلة الأسرار في مسار التنفيذ

تظل ملفات vault المشفّرة آمنة في git، لكن المشغّل لا يزال يحتاج إلى كلمة مرور vault لفك تشفيرها وقت التشغيل. 🔐

لا ترفع كلمة المرور أبدًا

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

خزّنها ضمن أسرار CI

ضع كلمة المرور في GitHub Secret مثل VAULT_PASSWORD، حيث تُخفى في السجلات ولا تُحقن إلا وقت التشغيل.

env:
  VAULT_PASS: ${{ secrets.VAULT_PASSWORD }}

اكتب ملف كلمة مرور مؤقتًا

اكتب السر في إحدى الخطوات إلى ملف كلمة مرور قصير العمر، ليتمكن المشغّل من تمريره إلى Ansible أثناء تشغيل الـ play.

- run: echo "$VAULT_PASS" > .vault_pass

فك التشفير باستخدام vault-password-file

وجّه الـ play إلى ذلك الملف باستخدام --vault-password-file، حتى يفك Ansible محتوى vault دون عرض أي مطالبة.

ansible-playbook site.yml \
  --vault-password-file .vault_pass

أو استخدم متغير البيئة

يقرأ Ansible أيضًا ANSIBLE_VAULT_PASSWORD_FILE، لذا يمكنك ضبطه مرة واحدة بدلًا من تمرير الخيار في كل أمر.

export ANSIBLE_VAULT_PASSWORD_FILE=.vault_pass

لا تستخدم --ask-vault-pass في CI

ينتظر الخيار التفاعلي --ask-vault-pass تدخل شخص، ولذلك يعلّق مسار التنفيذ. مرّر كلمة المرور دائمًا من ملف بدلًا من ذلك.

نظّف الملف دائمًا

احذف الملف المؤقت عند انتهاء المهمة. وتضمن خطوة always إجراء التنظيف حتى إذا فشل الـ playbook في منتصف التنفيذ.

- if: always()
  run: rm -f .vault_pass

أخفِ السر ولا تعرضه

يخفي CI الأسرار المسجّلة تلقائيًا في السجلات، لكن لا تنفّذ echo لكلمة المرور بنفسك أبدًا، لأن إخراجها يدويًا قد يتجاوز آلية الإخفاء.

سمِّ معرّفات vault متعددة

عند استخدام عدة vaults، امنح كل واحد معرّف vault حتى تُفك أسرار الإنتاج وstaging باستخدام كلمات المرور الخاصة بكل منهما.

--vault-id prod@.prod_pass \
--vault-id stage@.stage_pass

دوّر كلمة المرور دون إعادة النشر

يؤدي تغيير سر CI إلى تدوير كلمة المرور لمسار التنفيذ بأكمله دفعة واحدة، دون الحاجة إلى تغيير الكود.

تحقق سريع

كيف ينبغي لمسار التنفيذ تزويد Ansible بكلمة مرور vault؟

مراجعة سريعة: تبقى الأسرار سرية

فككت تشفير vault بأمان داخل CI: خزّن كلمة المرور كسر، ومرّرها عبر ملف كلمة مرور، وتجنب المطالبات، ونظّف الملف بعد الانتهاء. 🔒

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

هل درس «أسرار Vault في Pipeline» مجاني؟

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

ماذا ستتعلم في «أسرار Vault في Pipeline»؟

فك التشفير بأمان في CI دون تسريب تتمرن على Ansible Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

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

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

كم من الوقت يستغرق درس «أسرار Vault في Pipeline»؟

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

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

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

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

  1. ansible-lint كبوابة للجودة
  2. تشغيل Playbooks في GitHub Actions
  3. أسرار Vault في Pipeline
  4. عمليات نشر مشروطة بالموافقات وCheck Mode
← العودة إلى Ansible Academy