Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Boto3 का उपयोग करके AWS Secrets Manager में प्लेन टेक्स्ट के रूप में सीक्रेट कुंजी बनाना


समस्या कथन: AWS Secrets Manager में प्लेन टेक्स्ट के रूप में सीक्रेट कुंजी बनाने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें।

समस्या हल करने का दृष्टिकोण/एल्गोरिदम

  • चरण 1: boto3 और botocore एक्सेप्शन आयात करें ताकि एक्सेप्शन संभाले जा सकें।

  • चरण 2: secret_stored_location और secret_key_pair आवश्यक पैरामीटर हैं। यह वह स्थान है जहां सीक्रेट्स दिए गए कुंजी-मान मान के साथ सहेजे जाते हैं। सुनिश्चित करें कि secret_key_pair स्ट्रिंग के रूप में लिखा गया है, डिक्शनरी के रूप में नहीं। उदाहरण: '{key:pair}'

  • चरण 3: boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि डिफ़ॉल्ट प्रोफ़ाइल में region_name उल्लिखित है। यदि नहीं, तो सत्र बनाते समय स्पष्ट रूप से region_name पास करें।

  • चरण 4: secretmanager के लिए AWS क्लाइंट बनाएं।

  • चरण 5: create_secret कॉल करें और secret_stored_location को Name के रूप में और secret_key_pair को SecretString पैरामीटर के रूप में पास करें।

  • चरण 6: यह जोड़े गए सीक्रेट का मेटाडेटा लौटाता है।

  • चरण 7: सीक्रेट बनाते समय यदि कुछ गलत होता है तो सामान्य एक्सेप्शन को संभालें।

उदाहरण कोड

AWS Secrets Manager में सीक्रेट्स बनाने के लिए निम्न कोड का उपयोग करें:

import boto3
from botocore.exceptions import ClientError

def create_secret_details(secret_stored_location, secret_key_pair: str):
    session = boto3.session.Session()
    s3_client = session.client('secretmanager')
    try:
        response = s3_client.create_secret(Name=secret_stored_location, SecretString=secret_key_pair)
        return response
    except ClientError as e:
        raise Exception("boto3 client error in create_secret_details: " + e.__str__())
    except Exception as e:
        raise Exception("Unexpected error in create_secret_details: " + e.__str__())

details = '{"user_test":"test"}'
a = create_secret_details('/secrets/aws', details)
print(a)

आउटपुट

{'ARN': 'arn:aws:secretsmanager:us-east-1:***************:secret:/secrets/aws-wr1Aj6', 'Name': '/secrets/aws', 'VersionId': 'fcdc1b5b-2a35-4d12-9d84-65d529651d2e', '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}}

महत्वपूर्ण सुधार नोट

मूल कोड में त्रुटि: उदाहरण में get_decrypted_secret_details फ़ंक्शन को कॉल किया गया है जो परिभाषित नहीं है। इसे create_secret_details होना चाहिए। उपरोक्त कोड में इसे ठीक कर दिया गया है।

महत्वपूर्ण पैरामीटर

  • Name: सीक्रेट का अनुकूल नाम (पथ-शैली नाम समर्थित, जैसे /prod/db/password)

  • SecretString: प्लेनटेक्स्ट सीक्रेट मान (JSON स्ट्रिंग अनुशंसित)

  • SecretBinary: बाइनरी सीक्रेट डेटा के लिए (SecretString के बजाय)

  • Description: वैकल्पिक विवरण

  • Tags: वैकल्पिक टैग सूची

  • KmsKeyId: एन्क्रिप्शन के लिए कस्टम KMS कुंजी (डिफ़ॉल्ट AWS-प्रबंधित कुंजी का उपयोग करता है)

IAM अनुमति

secretsmanager:CreateSecret अनुमति आवश्यक है।


  1. - Boto3 का उपयोग करके AWS Glue से Glue जॉब कैसे डिलीट करें?

    समस्या विवरण - Python में boto3 लाइब्रेरी का उपयोग करके अपने अकाउंट में बने Glue जॉब को डिलीट करें।उदाहरण - अपने अकाउंट में बने Glue जॉब transfer_from_s3 को डिलीट करें।इस समस्या को हल करने का दृष्टिकोण/एल्गोरिदमचरण 1 - अपवादों को संभालने के लिए boto3 और botocore एक्सेप्शन्स आयात करें।चरण 2 - पैरामीट

  1. - Boto3 और AWS क्लाइंट का उपयोग करके वेट कार्यक्षमता से चेक करें कि S3 बकेट में की मौजूद है या नहीं?

    जब कोई यूज़र प्रोग्रामिंग कोड में वेट कार्यक्षमता का उपयोग करके सत्यापित करना चाहता है कि बकेट में की मौजूद है या नहीं।समस्या विवरण - Python में boto3 लाइब्रेरी का उपयोग करके चेक करें कि बकेट में की मौजूद है या नहीं, वेटर्स कार्यक्षमता का उपयोग करके। उदाहरण के लिए, वेटर्स का उपयोग करके चेक करें कि B

  1. - Python में Boto3 लाइब्रेरी का उपयोग करके AWS सत्र कैसे बनाएं?

    जब कोई उपयोगकर्ता लैम्ब्डा या प्रोग्रामिंग कोड का उपयोग करके AWS सेवाओं का उपयोग करना चाहता है, तो पहले AWS सेवाओं तक पहुंचने के लिए एक सत्र सेट अप करने की आवश्यकता होती है। AWS सत्र डिफ़ॉल्ट के साथ-साथ आवश्यकताओं के आधार पर कस्टमाइज़्ड भी हो सकता है। समस्या विवरण Python में Boto3 लाइब्रेरी का उपयो