0Pricing
DevOps Bootcamp · درس

تشفير متغير واحد مضمنًا

اخلط بين المتغيرات النصية والمستوردة

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

ليست كل الأمور أسرارًا

تكون إحدى القيم في الملف حساسة أحيانًا، بينما تكون بقية القيم غير ضارة. وقد يبدو تشفير الملف بأكمله إجراءً مبالغًا فيه. 🤔

شفّر متغيرًا واحدًا فقط

يمكن لـ Vault تشفير قيمة واحدة وترك بقية YAML قابلة للقراءة. ويحافظ ذلك على وضوح الفروقات وإمكانية تصفح الإعدادات.

الأمر encrypt_string

استخدم ansible-vault encrypt_string لتحويل قيمة نصية صريحة واحدة إلى كتلة مشفّرة يمكنك لصقها في أي ملف vars.

ansible-vault encrypt_string 's3cr3t' --name 'db_password'

ما الذي ينتجه الأمر

يطبع الأمر مفتاح YAML تستخدم قيمته الوسم !vault، يليه نص مشفّر على شكل كتلة ذات مسافة بادئة.

db_password: !vault |
  $ANSIBLE_VAULT;1.1;AES256
  39653764...

الصقها في vars

انسخ تلك الكتلة مباشرةً إلى group_vars أو إلى vars في ملف تشغيل، بجانب المتغيرات النصية الصريحة العادية.

vars:
  app_user: deploy
  db_password: !vault |
    $ANSIBLE_VAULT;1.1;AES256
    39653764...

الوسم !vault

يُعد الوسم !vault إشارةً إلى Ansible بأن هذه القيمة الواحدة مشفّرة ويجب فك تشفيرها قبل استخدامها.

تُستخدم مثل أي متغير

تُفك القيمة تلقائيًا وقت التشغيل. وتشير إليها باستخدام الصيغة العادية {{ }}، تمامًا كما تفعل مع أي متغير عادي.

- name: Set DB password
  debug:
    msg: "{{ db_password }}"

تجنّب النص الصريح في سطر الأوامر

يُعد وضع سر في سجل أوامر الصدفة أمرًا محفوفًا بالمخاطر. أضف --stdin-name لكتابة القيمة تفاعليًا بدلًا من ذلك.

ansible-vault encrypt_string --stdin-name 'db_password'

التشفير المضمّن مقابل تشفير الملف بأكمله

يكون التشفير المضمّن مناسبًا لعدد قليل من الأسرار ضمن إعدادات عامة. أما الملفات السرّية بالكامل، فتشفير الملف بأكمله أبسط.

كلمة المرور نفسها في كلتا الحالتين

تستخدم القيم المضمّنة كلمة مرور Vault نفسها المستخدمة لتشفير الملف بأكمله، لذلك تفك Ansible تشفير كليهما بعبارة مرور واحدة في كل تشغيل.

تبقى الفروقات قابلة للمراجعة

الميزة المهمة هي أن سطر السر وحده يكون نصًا مشفّرًا، لذلك تظل مراجعة الشيفرة وgit diff تعرضان كل تغيير غير حساس بوضوح.

اختبار سريع

تريد تشفير قيمة واحدة مع إبقاء بقية ملف vars قابلة للقراءة.

خلاصة

باستخدام encrypt_string، تشفّر قيمة واحدة داخل كتلة !vault، وتخلط الأسرار والنصوص الصريحة في الملف نفسه القابل للقراءة. ✨

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

هل درس «تشفير متغير واحد مضمنًا» مجاني؟

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

ماذا ستتعلم في «تشفير متغير واحد مضمنًا»؟

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

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

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

كم من الوقت يستغرق درس «تشفير متغير واحد مضمنًا»؟

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

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

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

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

  1. تشفير ملف باستخدام ansible-vault create
  2. تحرير ملفات Vault وعرضها وإعادة تشفير مفاتيحها
  3. تشفير متغير واحد مضمنًا
  4. فك التشفير وقت التشغيل باستخدام --ask-vault-pass
← العودة إلى DevOps Bootcamp