Ansible Vault এনক্রিপ্টর ডিক্রিপ্টর
AES-256 ব্যবহার করে সরাসরি ব্রাউজারে Ansible Vault সিক্রেট এনক্রিপ্ট ও ডিক্রিপ্ট করুন
ইনপুট
আউটপুট
রিডমি
Ansible Vault কি?
Ansible Vault হল Ansible এর একটি অন্তর্নির্মিত বৈশিষ্ট্য যা পাসওয়ার্ড, API কী এবং সার্টিফিকেটের মতো সংবেদনশীল ডেটা এনক্রিপ্ট করে যাতে সেগুলি playbook এবং role এর সাথে সংস্করণ নিয়ন্ত্রণে নিরাপদে সংরক্ষণ করা যায়। এটি PBKDF2 কী ডেরিভেশনের সাথে AES-256 সিমেট্রিক এনক্রিপশন ব্যবহার করে, যার অর্থ এনক্রিপশন এবং ডিক্রিপশন উভয়ের জন্য একটি একক পাসওয়ার্ড ব্যবহার করা হয়। Vault-এনক্রিপ্ট করা কন্টেন্ট $ANSIBLE_VAULT;1.1;AES256 হেডার দ্বারা চিহ্নিত করা হয় যার পরে hex-এনকোড করা ciphertext আসে।
Ansible Vault একটি মৌলিক DevOps চ্যালেঞ্জ সমাধান করে: অবকাঠামো কোডের সমান রিপোজিটরিতে গোপন তথ্য কীভাবে রাখা যায় তা প্রকাশ না করে। আলাদা গোপন স্টোর পরিচালনা করার বা পরিবেশ ভেরিয়েবলের উপর নির্ভর করার পরিবর্তে, দলগুলি এনক্রিপ্ট করা ফাইলগুলি সরাসরি Git এ প্রতিশ্রুতিবদ্ধ করতে পারে এবং playbook সম্পাদনের সময় রানটাইমে সেগুলি ডিক্রিপ্ট করতে পারে।
টুল বর্ণনা
এই টুলটি ব্রাউজারে সরাসরি Ansible Vault কন্টেন্ট এনক্রিপ্ট এবং ডিক্রিপ্ট করে। একটি vault পাসওয়ার্ড এবং plaintext প্রবেশ করান যাতে একটি সম্পূর্ণ সামঞ্জস্যপূর্ণ এনক্রিপ্ট করা vault blob তৈরি হয়, অথবা একটি বিদ্যমান vault blob পেস্ট করুন যাতে আসল গোপন তথ্য প্রকাশ পায়। কোনো ডেটা ব্রাউজার ছেড়ে যায় না — সমস্ত ক্রিপ্টোগ্রাফিক অপারেশন ক্লায়েন্ট-সাইডে চলে।
উদাহরণ
Plaintext এনক্রিপ্ট করা:
ইনপুট (plaintext):
db_password: s3cur3P@ss!আউটপুট (এনক্রিপ্ট করা vault):
$ANSIBLE_VAULT;1.1;AES256
33383239333036363833303565653032383832663162356533343630623030613133623032636566
6536303436646561356461623866386133623462383832620a646363626137626635353462386430
34333937313366383038346135656563316236313139333933383139376333353266666436316536
6335376265313432610a313537363637383264646261303637646631346137393964386432313633
3666Vault কন্টেন্ট ডিক্রিপ্ট করা:
সঠিক পাসওয়ার্ডের সাথে উপরের এনক্রিপ্ট করা ব্লক পেস্ট করুন যাতে আসল db_password: s3cur3P@ss! মান পুনরুদ্ধার করা যায়।
বৈশিষ্ট্য
- AES-256 এনক্রিপশন সম্পূর্ণভাবে Ansible Vault 1.1 ফর্ম্যাটের সাথে সামঞ্জস্যপূর্ণ
- শুধুমাত্র ক্লায়েন্ট-সাইড — কোনো ডেটা কোনো সার্ভারে পাঠানো হয় না
- একটি একক পাসওয়ার্ড ফিল্ডের সাথে এনক্রিপশন এবং ডিক্রিপশন উভয়ই সমর্থন করে
- আপনি টাইপ করার সাথে সাথে লাইভ প্রিভিউ সহ তাৎক্ষণিক রূপান্তর
- মাল্টি-লাইন গোপন তথ্য, YAML ফ্রাগমেন্ট এবং নির্বিচারে পাঠের সাথে কাজ করে
ব্যবহারের ক্ষেত্র
- Ansible playbook ধারণকারী Git রিপোজিটরিতে প্রতিশ্রুতিবদ্ধ করার আগে দ্রুত একটি নতুন গোপন তথ্য এনক্রিপ্ট করা
- ডিবাগিং এর সময় vault কন্টেন্ট ডিক্রিপ্ট এবং পরিদর্শন করা স্থানীয়ভাবে Ansible ইনস্টল করার প্রয়োজন ছাড়াই
- সহকর্মীদের সাথে এনক্রিপ্ট করা গোপন তথ্য শেয়ার করা যারা একটি ভাগ করা vault পাসওয়ার্ড ব্যবহার করে ব্রাউজারে সেগুলি ডিক্রিপ্ট করতে পারে
এটি কীভাবে কাজ করে
Ansible Vault 1.1 নিম্নলিখিত প্রক্রিয়া ব্যবহার করে:
- কী ডেরিভেশন — PBKDF2-HMAC-SHA256 পাসওয়ার্ড এবং একটি র্যান্ডম salt থেকে একটি 80-বাইট কী ডেরাইভ করে (10,000 পুনরাবৃত্তি)। কীটি একটি 32-বাইট এনক্রিপশন কী, একটি 32-বাইট HMAC কী এবং একটি 16-বাইট IV তে বিভক্ত করা হয়।
- এনক্রিপশন — Plaintext AES-256-CTR দিয়ে ডেরাইভ করা কী এবং IV ব্যবহার করে এনক্রিপ্ট করা হয়।
- প্রমাণীকরণ — একটি HMAC-SHA256 ciphertext এর উপর গণনা করা হয় যাতে অখণ্ডতা নিশ্চিত করা যায়।
- এনকোডিং — Salt, HMAC digest এবং ciphertext hex-এনকোড করা হয় এবং
$ANSIBLE_VAULT;1.1;AES256হেডারের অধীনে একত্রিত করা হয়।
ডিক্রিপশন প্রক্রিয়াটি বিপরীত করে: পাসওয়ার্ড একই কী পুনরায় ডেরাইভ করে, HMAC যাচাই করে এবং ciphertext ডিক্রিপ্ট করে।
সীমাবদ্ধতা
- শুধুমাত্র AES-256 এনক্রিপশন সহ Ansible Vault 1.1 ফর্ম্যাট সমর্থন করে
- মাল্টি-পাসওয়ার্ড সেটআপের জন্য vault ID লেবেল সমর্থন করে না
- বড় ফাইলগুলি CPU-নিবিড় কী ডেরিভেশন ধাপের কারণে সংক্ষিপ্ত UI বিলম্ব সৃষ্টি করতে পারে