আইটি সেবাগুলো কনফিগারেশনের প্রয়োজন হয়। কনফিগারেশনের অংশ হিসেবে থাকে কিছু গোপন তথ্য যা আপনি প্রকাশিত দেখতে চান না। সাধারণ উদাহরণ গুলো হতে পারে ডেটাবেসের ক্রেডেনশিয়াল অথবা এলোমেলো মান যা সেশন কুকিজ বা প্রমাণীকরণ ক্রেডেনশিয়াল রক্ষা করে। আপনি যখন সফটওয়্যার ডেভেলপ করেন, পরিস্থিতি আরো খারাপ হয় বিল্ড পাইপলাইন্স, বিতরণ সার্টিফিকেট এবং এক্সেস কী নিয়ে।
কম্প্রোমাইজড সিক্রেটস ব্যবহারকারী একাউন্ট দখল, তথ্য চুরি, বিল্ড চেইন আক্রমণ এবং অনেক খরচসাপেক্ষ সমস্যার সৃষ্টি করতে পারে। খারাপ খ্যাতি, বুদ্ধিবৃত্তিক সম্পত্তির ক্ষতি এবং বিপুল আইনি খরচগুলি সম্ভব খরচের একটি অংশ মাত্র।
পোসোনো psonoci এর সর্বশেষ সংস্করণের সাথে সুরক্ষিত পরিবেশ প্রস্তাব করে। সুরক্ষিত পরিবেশ আপনাকে প্রক্রিয়াগুলি চালাতে এবং সিস্টেমের সাথে সেগুলিকে প্রকাশ না করেই পরিবেশের ভেরিয়েবল দ্বারা কনফিগার করতে সহায়তা করে। এই পরিবেশ ভেরিয়েবলগুলি পসোনো থেকে সুরক্ষিতভাবে লোড হয়, কোনো সার্ভারে সংরক্ষণ করা হয় না এবং শুধুমাত্র একটি প্রক্রিয়াতে প্রকাশ করা হয়।
প্রথমে আপনাকে পরিবেশের ভেরিয়েবল সিক্রেট তৈরি করতে হবে। দয়া করে মনে রাখবেন যে একটি সিক্রেট বিভিন্ন পরিবেশের ভেরিয়েবল রাখতে সক্ষম হতে পারে, তাই আপনি পরিবেশের ভেরিয়েবলগুলি অভিধা দ্বারা গোষ্ঠীভুক্ত করতে পারেন যেমন একটি পরিবেশ অথবা কেবল দুটি সম্পর্কে অবিচ্ছেদ্য হওয়ায় কারণ যেমন একটি ডেটাবেস ব্যবহারকারী এবং একটি ডেটাবেস পাসওয়ার্ড।
পরবর্তীতে আপনি একটি API কী তৈরি করুন এবং এই API কীটিকে আপনার নতুন পরিবেশের ভেরিয়েবল সিক্রেটে প্রবেশাধিকার দিন।
এখন API কী সিক্রেটসটি মনে রাখুন, কারণ এই প্যারামিটারগুলোই সরাসরি সিস্টেমে যাচাই হয়।
আপনার সার্ভারে অথবা আপনার বিল্ড পাইপলাইনে psono ci একটি কমান্ড দিয়ে ইন্সটল করুন:
curl https://get.psono.com/psono/psono-ci/x86_64-linux/psonoci --output psonoci && chmod +x psonoci
এবং শুধু ./some_command চালানোর পরিবর্তে আপনার প্রক্রিয়াটি এভাবে শুরু করুন:
psonoci \
--api-key-id eaee77c6-169f-4873-9be3-f2613149baa9 \
--api-secret-key-hex c8321d7a8e5b1f5ec3d969ecb5054c7548a1c709ddab2edae2ff7ff028538917 \
--server-url https://example.com/server \
run -- ./some_command
সহজতার জন্য আমরা --api-key-id বা --api-secret-key-hex মত প্যারামিটারগুলিকে আর্গুমেন্ট হিসাবে পাস করি, তবে আপনি একটি কনফিগারেশন ফাইল তৈরি করতে পারেন।
ডেমো উদ্দেশ্যে আমরা এই ছোট পাইটন স্ক্রিপ্টটি তৈরি করেছি service.py যা স্ক্রিপ্টে পাসকৃত সমস্ত পরিবেশের ভেরিয়েবল এবং আর্গুমেন্ট মুদ্রণ করে।
#!/usr/bin/python3
import os
import sys
print("args: {}".format(sys.argv))
print("environment: {}".format(os.environ))
উদাহরণস্বরূপ ./service.py --whatever=argument_1 চালানোর পরিবর্তে আমরা এটিকে এভাবে সম্পাদন করতে পারি:
psonoci \
--api-key-id eaee77c6-169f-4873-9be3-f2613149baa9 \
--api-secret-key-hex c8321d7a8e5b1f5ec3d969ecb5054c7548a1c709ddab2edae2ff7ff028538917 \
--server-url https://example.com/server \
run -- ./service.py --whatever=argument_1
আমরা নিম্নলিখিত আউটপুট পাই:
args: ['service.py', '--whatever', 'argument_1']
environment: environ({'db_host': 'prd-db.example.com:5432', 'db_password': 'Df55sr2UQm7Wshv7', 'db_username': 'production'})
আমরা দেখতে পাই যে সমস্ত আর্গুমেন্ট সঠিকভাবে পাস হয়েছে এবং আমরা পূর্বে কনফিগার করা সমস্ত পরিবেশ ভেরিয়েবলগুলি প্রক্রিয়ার জন্য উপলব্ধ ছিল। প্যারামিটার পাস করার জন্য পতাকা রয়েছে যা আপনাকে স্বাভাবিক সিস্টেমের পরিবেশ ভেরিয়েবলগুলিও পাস করার অনুমতি দেয় এবং পসোনোরগুলোও যুক্ত করে। আরো বিস্তারিত তথ্য আমাদের psonoci এর জন্য ডকুমেন্টেশন এ পাওয়া যেতে পারে।
আশা করি আপনি আমাদের এই ছোট অভিযাত্রাটি পছন্দ করেছেন যেখানে দেখানো হয়েছে কিভাবে Psono আপনার পরিকাঠামো রক্ষা করতে সাহায্য করতে পারে। এই সমস্ত কিছুই সম্ভব হত না Bernd, এই বৈশিষ্ট্যের পেছনে দায়ী মস্তিষ্ক ছাড়া, তাই আপনাকে অনেক ধন্যবাদ বর্ণেড!