প্রকল্প সম্পর্কে

Vault হলো HashiCorp-এর একটি সিক্রেট ম্যানেজমেন্ট টুল। সিক্রেট হলো এমন কিছু যা আপনি কঠোরভাবে নিয়ন্ত্রণ করতে চান, যেমন API কী, পাসওয়ার্ড, সার্টিফিকেট এবং অনুরূপ ক্রেডেনশিয়াল। Vault যেকোনো সিক্রেটের জন্য একটি ইউনিফাইড ইন্টারফেস প্রদান করে, সাথে কঠোর অ্যাক্সেস নিয়ন্ত্রণ এবং বিস্তারিত অডিট লগ অফার করে। README-তে বর্ণিত মূল বৈশিষ্ট্যগুলি: - সুরক্ষিত সিক্রেট স্টোরেজ: Vault যেকোনো কী/ভ্যালু জোড়া সংরক্ষণ করে এবং স্থায়ী স্টোরেজে লেখার আগে ডেটা এনক্রিপ্ট করে, তাই কাঁচা স্টোরেজে অ্যাক্সেস থাকলেই সিক্রেট পড়া যায় না। এটি ডিস্ক, Consul এবং অন্যান্য ব্যাকএন্ডে লিখতে পারে। - ডায়নামিক সিক্রেট: Vault AWS বা SQL ডেটাবেসের মতো সিস্টেমের জন্য চাহিদা অনুযায়ী সিক্রেট তৈরি করতে পারে। উদাহরণস্বরূপ, একটি অ্যাপ্লিকেশন S3 বাকেটের জন্য ক্রেডেনশিয়াল অনুরোধ করতে পারে, এবং Vault চাহিদা অনুযায়ী বৈধ অনুমতি সহ একটি AWS কীপেয়ার তৈরি করে, তারপর লিজ শেষ হলে স্বয়ংক্রিয়ভাবে তা প্রত্যাহার করে। - ডেটা এনক্রিপশন: Vault ডেটা সংরক্ষণ না করেই এনক্রিপ্ট এবং ডিক্রিপ্ট করতে পারে, যাতে নিরাপত্তা দল এনক্রিপশন প্যারামিটার নির্ধারণ করতে পারে এবং ডেভেলপাররা নিজস্ব এনক্রিপশন ডিজাইন না করেই SQL ডেটাবেসের মতো জায়গায় এনক্রিপ্টেড ডেটা সংরক্ষণ করতে পারে। - লিজিং এবং নবায়ন: প্রতিটি সিক্রেট একটি লিজের সাথে যুক্ত; লিজ শেষ হলে Vault স্বয়ংক্রিয়ভাবে সিক্রেটটি প্রত্যাহার করে, এবং ক্লায়েন্টরা অন্তর্নির্মিত renew API-এর মাধ্যমে লিজ নবায়ন করতে পারে। - প্রত্যাহার: Vault একক সিক্রেট বা সিক্রেটের গাছ প্রত্যাহার সমর্থন করে, যেমন একটি নির্দিষ্ট ব্যবহারকারীর দ্বারা পড়া সমস্ত সিক্রেট বা একটি নির্দিষ্ট ধরনের সমস্ত সিক্রেট, যা কী রোলিং এবং অনুপ্রবেশের পরে সিস্টেম লক ডাউন করতে সাহায্য করে। README-তে ডকুমেন্টেশন, শুরু করার গাইড, টিউটোরিয়াল এবং HashiCorp-এর লার্নিং প্ল্যাটফর্মে একটি সার্টিফিকেশন পরীক্ষার পাশাপাশি বিভিন্ন ভাষায় অ্যাপ্লিকেশন থেকে Vault-এর সাথে ইন্টারঅ্যাক্ট করার উদাহরণ রিপোজিটরি এবং একটি নমুনা অ্যাপ্লিকেশনের দিকে নির্দেশ করা হয়েছে। ডেভেলপমেন্টের জন্য, Vault Go-তে লেখা। README-তে Go ইনস্টল করা এবং GOPATH/GOBIN সেট করা, GOPATH-এর বাইরে রিপোজিটরি ক্লোন করা এবং `make bootstrap` দিয়ে বুটস্ট্র্যাপ করার বর্ণনা রয়েছে। ডেভেলপমেন্ট বিল্ড `make` বা `make dev` দিয়ে তৈরি হয়, এবং UI বিল্ড `make static-dist dev-ui` দিয়ে তৈরি হয়। টেস্ট `make test` (Docker প্রয়োজন) দিয়ে চলে, এবং প্যাকেজ-নির্দিষ্ট টেস্ট TEST ভেরিয়েবল দিয়ে চালানো যায়। অ্যাকসেপ্টেন্স টেস্ট `make testacc` দিয়ে চলে এবং এটি বাস্তব সম্পদ তৈরি, পরিবর্তন বা ধ্বংস করতে পারে, তাই সতর্কতার সাথে চালানো উচিত। রিপোজিটরিতে `sdk/helper/testcluster/docker` প্যাকেজ ব্যবহার করে একটি পরীক্ষামূলক Docker-ভিত্তিক টেস্টিং মেকানিজমও নথিভুক্ত করা হয়েছে, যার মধ্যে কাস্টম বাইনারি এবং এন্টারপ্রাইজ লাইসেন্সের বিকল্প রয়েছে। রিপোজিটরি দুটি ইমপোর্টযোগ্য লাইব্রেরি প্রকাশ করে: `github.com/hashicorp/vault/api` এবং `github.com/hashicorp/vault/sdk`। README-তে উল্লেখ করা হয়েছে যে মূল Vault প্রোডাক্টকে ডিপেন্ডেন্সি হিসেবে ইমপোর্ট করা একটি সমর্থিত ব্যবহারের ক্ষেত্রে নয়। নিরাপত্তা সংক্রান্ত সমস্যাগুলি দায়িত্বশীলভাবে security@hashicorp.com-এ জানানো উচিত।