समस्या कथन: AWS Secrets Manager में रैंडम पासवर्ड उत्पन्न करने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें।
समस्या हल करने का दृष्टिकोण/एल्गोरिदम
चरण 1: boto3 और botocore एक्सेप्शन आयात करें ताकि एक्सेप्शन संभाले जा सकें।
चरण 2: यहां कोई पैरामीटर नहीं हैं।
चरण 3: boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि डिफ़ॉल्ट प्रोफ़ाइल में region_name उल्लिखित है। यदि नहीं, तो सत्र बनाते समय स्पष्ट रूप से region_name पास करें।
चरण 4: secretmanager के लिए AWS क्लाइंट बनाएं।
चरण 5: वांछित जटिलता के अनुसार पैरामीटर पास करके get_random_password कॉल करें।
चरण 6: यह एक रैंडम पासवर्ड लौटाता है।
चरण 7: रैंडम पासवर्ड उत्पन्न करते समय यदि कुछ गलत होता है तो सामान्य एक्सेप्शन को संभालें।
उदाहरण कोड
रैंडम पासवर्ड उत्पन्न करने के लिए निम्न कोड का उपयोग करें:
import boto3
from botocore.exceptions import ClientError
def generate_random_password():
session = boto3.session.Session()
s3_client = session.client('secretmanager')
try:
response = s3_client.get_random_password(
PasswordLength=18,
ExcludeCharacters="",
ExcludeNumbers=False,
ExcludePunctuation=True,
ExcludeUppercase=False,
ExcludeLowercase=False,
IncludeSpace=False,
RequireEachIncludedType=True
)
return response
except ClientError as e:
raise Exception("boto3 client error in generate_random_password: " + e.__str__())
except Exception as e:
raise Exception("Unexpected error in generate_random_password: " + e.__str__())
a = generate_random_password()
print(a["RandomPassword"])
आउटपुट
mcwJ6tLfN0uidY9zcY
पैरामीटर विवरण
PasswordLength: पासवर्ड की लंबाई (डिफ़ॉल्ट 32, अधिकतम 4096)
ExcludeCharacters: बाहर रखने के लिए विशिष्ट वर्णों की स्ट्रिंग
ExcludeNumbers: संख्याओं को बाहर रखें (True/False)
ExcludePunctuation: विराम चिह्नों को बाहर रखें (True/False)
ExcludeUppercase: बड़े अक्षरों को बाहर रखें (True/False)
ExcludeLowercase: छोटे अक्षरों को बाहर रखें (True/False)
IncludeSpace: स्पेस शामिल करें (True/False)
RequireEachIncludedType: प्रत्येक शामिल प्रकार का कम से कम एक वर्ण आवश्यक है (True/False)
उपयोग के मामले
यह फ़ंक्शन डेटाबेस क्रेडेंशियल्स, API कुंजियों, या किसी भी संवेदनशील मान के लिए सुरक्षित पासवर्ड उत्पन्न करने के लिए आदर्श है जिसे बाद में Secrets Manager में संग्रहीत किया जा सकता है।