কম্পিউটার

AWS সিক্রেট ম্যানেজারে বাইনারি/এনক্রিপ্টেড ফরম্যাট থেকে প্লেইন টেক্সট হিসাবে গোপন কী পেতে Boto3 কীভাবে ব্যবহার করবেন


সমস্যা বিবৃতি: boto3 ব্যবহার করুন AWS সিক্রেট ম্যানেজারে উপস্থিত বাইনারি/এনক্রিপ্ট করা ফরম্যাট থেকে প্লেইন টেক্সট হিসাবে গোপন কী পেতে পাইথনে লাইব্রেরি

এই সমস্যা সমাধানের জন্য পদ্ধতি/অ্যালগরিদম

  • ধাপ 1: boto3 আমদানি করুন৷ এবং বোটোকোর ব্যতিক্রমগুলি পরিচালনা করার জন্য ব্যতিক্রম৷

  • ধাপ 2: গোপন_সংরক্ষিত_অবস্থান প্রয়োজনীয় পরামিতি। এটি এমন একটি জায়গা যেখানে গোপনীয়তা সংরক্ষণ করা হয়।

  • ধাপ 3: boto3 lib ব্যবহার করে একটি AWS সেশন তৈরি করুন . অঞ্চলের_নাম নিশ্চিত করুন ডিফল্ট প্রোফাইলে উল্লেখ করা আছে। যদি এটি উল্লেখ না থাকে, তাহলে স্পষ্টভাবে অঞ্চল_নাম পাস করুন সেশন তৈরি করার সময়।

  • পদক্ষেপ 4: সিক্রেট ম্যানেজার-এর জন্য একটি AWS ক্লায়েন্ট তৈরি করুন .

  • ধাপ 5: get_secret_value কল করুন এবং secret_stored_location পাস করুন সিক্রেটআইডি হিসেবে .

  • ধাপ 6: এটা প্লেইন টেক্সট নাকি এনক্রিপ্ট করা আছে কিনা চেক করুন।

  • পদক্ষেপ 7: এটি এনক্রিপ্ট করা থাকলে, base64.b64decode ব্যবহার করে বাইনারি মান ডিকোড করতে ফাংশনটিকে কল করুন

  • ধাপ 8: এটি সমস্ত গোপনীয়তাকে ডিক্রিপ্ট করা মোড হিসাবে ফিরিয়ে দেয়, যেমন, প্রদত্ত অবস্থানে প্লেইন টেক্সট৷

  • ধাপ 9: মান পুনরুদ্ধার করার সময় কিছু ভুল হলে জেনেরিক ব্যতিক্রম পরিচালনা করুন।

উদাহরণ কোড

AWS সিক্রেট ম্যানেজার -

থেকে ডিক্রিপ্ট করা প্লেইন টেক্সট সিক্রেট পেতে নিম্নলিখিত কোডটি ব্যবহার করুন
import boto3
from botocore.exceptions import ClientError

def get_decrypted_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)
   if not ('SecretString' in response):
      decoded_secret_values = base64.b64decode(response['SecretBinary'])
   return decoded_secret_values
      except ClientError as e:
         raise Exception("boto3 client error in get_decrypted_secret_details: " + e.__str__())
      except Exception as e:
         raise Exception("Unexpected error in get_decrypted_secret_details: " + e.__str__())

a = get_decrypted_secret_details('/secrets/aws')
print(a)

আউটপুট

{"user":"SERVICE_USER","accesskey":"I**************"}

  1. Boto3 কিভাবে ব্যবহার করবেন AWS Glue Data Catalog থেকে সমস্ত ডাটাবেসের বিশদ বিবরণ পাবেন?

  2. AWS গ্লু ডেটা ক্যাটালগ থেকে সংযোগের বিশদ বিবরণ পেতে Boto3 কীভাবে ব্যবহার করবেন?

  3. AWS আঠালো ডেটা ক্যাটালগ থেকে একটি শ্রেণীবিভাগের বিবরণ পেতে Boto3 কীভাবে ব্যবহার করবেন?

  4. একটি মাইগ্রেশন অপারেশনের অবস্থা পেতে Boto3 কিভাবে ব্যবহার করবেন?