সমস্যা: পাইথনে boto3 লাইব্রেরি ব্যবহার করে AWS Secret Manager-এ থেকে সিক্রেট কী পাওয়া।
পদ্ধতি/অ্যালগরিদম
ধাপ ১: boto3 এবং botocore এক্সেপশন ইম্পোর্ট করুন এক্সেপশন হ্যান্ডল করার জন্য।
ধাপ ২: secret_stored_location আবশ্যিক প্যারামিটার। এটি সিক্রেট সংরক্ষণের জায়গা।
ধাপ ৩: boto3 লাইব্রেরি ব্যবহার করে AWS সেশন তৈরি করুন। নিশ্চিত করুন region_name ডিফল্ট প্রোফাইলে আছে। না থাকলে সেশন তৈরি করার সময় সিদ্ধা region_name পাস করুন।
ধাপ ৪: secretmanager-এর জন্য AWS ক্লায়েন্ট তৈরি করুন।
ধাপ ৫: get_secret_value কল করুন এবং secret_stored_location কে SecretId হিসেবে পাস করুন।
ধাপ ৬: এটি প্রদত্ত লোকেশনে এনক্রিপশন ছাড়া উপস্থিত সকল সিক্রেট রিটার্ন করে।
ধাপ ৭: মান রিট্রিভ করার সময় যদি কোনো সমস্যা হয় তবে জেনেরিক এক্সেপশন হ্যান্ডল করুন।
উদাহরণ কোড
AWS Secret Manager-এ থেকে প্লেইন টেক্সট সিক্রেট পেতে নিচের কোডটি ব্যবহার করুন:
import boto3
from botocore.exceptions import ClientError
def get_secret_details(secret_stored_location):
session = boto3.session.Session()
s3_client = session.client('secretmanager')
try:
response = s3_client.get_secret_value(SecretId=secret_stored_location)
return response
except ClientError as e:
raise Exception("boto3 client error in get_secret_details: " + e.__str__())
except Exception as e:
raise Exception("Unexpected error in get_secret_details: " + e.__str__())
a = get_secret_details('/secrets/aws')
print(a['SecretString'])আউটপুট
{"aws.user":"SERVICE_USER","aws.accesskey":"I**************"}