أداة تشفير وفك تشفير Ansible Vault
تشفير وفك تشفير أسرار Ansible Vault مباشرةً في المتصفح باستخدام AES-256
الإدخال
الإخراج
ملف القراءة
ما هو Ansible Vault؟
Ansible Vault هي ميزة مدمجة في Ansible تقوم بتشفير البيانات الحساسة مثل كلمات المرور ومفاتيح API والشهادات بحيث يمكن تخزينها بأمان جنباً إلى جنب مع playbooks والأدوار في التحكم بالإصدارات. يستخدم تشفير AES-256 متماثل مع اشتقاق المفتاح PBKDF2، مما يعني أن كلمة مرور واحدة تُستخدم للتشفير وفك التشفير معاً. يتم تحديد محتوى Vault المشفر بواسطة رأس $ANSIBLE_VAULT;1.1;AES256 متبوعاً بنص مشفر مرمز بصيغة hex.
يحل Ansible Vault تحدياً أساسياً في DevOps: كيفية الحفاظ على الأسرار في نفس المستودع مثل كود البنية التحتية دون الكشف عنها. بدلاً من إدارة متاجر أسرار منفصلة أو الاعتماد على متغيرات البيئة، يمكن للفريق التزام الملفات المشفرة مباشرة إلى Git وفك تشفيرها في وقت التشغيل أثناء تنفيذ playbook.
وصف الأداة
تقوم هذه الأداة بتشفير وفك تشفير محتوى Ansible Vault مباشرة في المتصفح. أدخل كلمة مرور vault ونصاً عادياً لإنتاج كتلة vault مشفرة متوافقة تماماً، أو الصق كتلة vault موجودة للكشف عن السر الأصلي. لا تغادر أي بيانات المتصفح — جميع العمليات التشفيرية تعمل على جانب العميل.
أمثلة
تشفير النص العادي:
الإدخال (نص عادي):
db_password: s3cur3P@ss!الإخراج (vault مشفر):
$ANSIBLE_VAULT;1.1;AES256
33383239333036363833303565653032383832663162356533343630623030613133623032636566
6536303436646561356461623866386133623462383832620a646363626137626635353462386430
34333937313366383038346135656563316236313139333933383139376333353266666436316536
6335376265313432610a313537363637383264646261303637646631346137393964386432313633
3666فك تشفير محتوى vault:
الصق الكتلة المشفرة أعلاه مع كلمة المرور الصحيحة لاستعادة قيمة db_password: s3cur3P@ss! الأصلية.
الميزات
- تشفير AES-256 متوافق تماماً مع تنسيق Ansible Vault 1.1
- جانب العميل فقط — لا يتم إرسال أي بيانات إلى أي خادم
- يدعم التشفير وفك التشفير باستخدام حقل كلمة مرور واحد
- تحويل فوري مع معاينة مباشرة أثناء الكتابة
- يعمل مع الأسرار متعددة الأسطر وأجزاء YAML والنصوص العشوائية
حالات الاستخدام
- تشفير سر جديد بسرعة قبل التزامه بمستودع Git يحتوي على Ansible playbooks
- فك تشفير ومراجعة محتوى vault أثناء تصحيح الأخطاء دون الحاجة إلى تثبيت Ansible محلياً
- مشاركة الأسرار المشفرة مع زملاء الفريق الذين يمكنهم فك تشفيرها في المتصفح باستخدام كلمة مرور vault مشتركة
كيفية العمل
يستخدم Ansible Vault 1.1 العملية التالية:
- اشتقاق المفتاح — يشتق PBKDF2-HMAC-SHA256 مفتاحاً بطول 80 بايت من كلمة المرور وملح عشوائي (10,000 تكرار). يتم تقسيم المفتاح إلى مفتاح تشفير بطول 32 بايت ومفتاح HMAC بطول 32 بايت و IV بطول 16 بايت.
- التشفير — يتم تشفير النص العادي باستخدام AES-256-CTR مع المفتاح المشتق و IV.
- المصادقة — يتم حساب HMAC-SHA256 على النص المشفر لضمان السلامة.
- الترميز — يتم ترميز الملح وملخص HMAC والنص المشفر بصيغة hex ودمجها تحت رأس
$ANSIBLE_VAULT;1.1;AES256.
يعكس فك التشفير العملية: تعيد كلمة المرور اشتقاق نفس المفاتيح، وتتحقق من HMAC، وتفك تشفير النص المشفر.
القيود
- يدعم فقط تنسيق Ansible Vault 1.1 مع تشفير AES-256
- لا يدعم تسميات معرّف vault لإعدادات كلمات مرور متعددة
- قد تسبب الملفات الكبيرة تأخيرات واجهة مستخدم قصيرة بسبب خطوة اشتقاق المفتاح التي تتطلب موارد CPU كثيفة