समस्या कथन: boto3 . का उपयोग करें एडब्ल्यूएस सीक्रेट मैनेजर में विशिष्ट स्थान से सभी गुप्त कुंजियों को पुनर्स्थापित करने के लिए पायथन में पुस्तकालय।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
-
चरण 1: आयात करें boto3 और बोटोकोर अपवादों को संभालने के लिए अपवाद।
-
चरण 2: गुप्त_संग्रहीत_स्थान आवश्यक पैरामीटर है।
-
चरण 3: boto3 lib . का उपयोग करके AWS सत्र बनाएं . सुनिश्चित करें कि क्षेत्र_नाम डिफ़ॉल्ट प्रोफ़ाइल में उल्लेख किया गया है। यदि इसका उल्लेख नहीं है, तो स्पष्ट रूप से region_name . पास करें सत्र बनाते समय।
-
चरण 4: गुप्त प्रबंधक . के लिए AWS क्लाइंट बनाएं ।
-
चरण 5: restore_secret पर कॉल करें और secret_stored_location . पास करें SecretId . के रूप में ।
-
चरण 6: यह पुनर्स्थापित रहस्य का मेटाडेटा लौटाता है।
-
चरण 7: गुप्त बहाल करते समय कुछ गलत होने पर सामान्य अपवाद को संभालें।
उदाहरण कोड
AWS गुप्त प्रबंधक में रहस्यों को पुनर्स्थापित करने के लिए निम्न कोड का उपयोग करें -
import boto3 from botocore.exceptions import ClientError def restore_secret_details(secret_stored_location): session = boto3.session.Session() s3_client = session.client('secretmanager') try: response = s3_client.restore_secret(SecretId=secret_stored_location) return response except ClientError as e: raise Exception("boto3 client error in restore_secret_details: " + e.__str__()) except Exception as e: raise Exception("Unexpected error in restore_secret_details: " + e.__str__()) a = restore_secret_details('/secrets/aws') print(a)
आउटपुट
{'ARN': 'arn:aws:secretsmanager:us-east-1:***************:secret:/secrets/aws-wr1Aj6', 'Name': '/secrets/aws', 'ResponseMetadata': {'RequestId': 'b32fe48d**************ab', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 03 Apr 2021 09:40:48 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '197', 'connection': 'keep-alive', 'x-amzn-requestid': *********************************}, 'RetryAttempts': 0}}