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

Boto3 का उपयोग करके AWS Secrets Manager में सभी सीक्रेट्स की सूची प्राप्त करना


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

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

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

  • चरण 2: यहां कोई पैरामीटर नहीं हैं।

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

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

  • चरण 5: सभी सीक्रेट्स प्राप्त करने के लिए list_secrets फ़ंक्शन कॉल करें।

  • चरण 6: यह सभी सीक्रेट्स का मेटाडेटा लौटाता है।

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

उदाहरण कोड

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

import boto3
from botocore.exceptions import ClientError

def get_all_secrets():
    session = boto3.session.Session()
    s3_client = session.client('secretmanager')
    try:
        response = s3_client.list_secrets()
        return response
    except ClientError as e:
        raise Exception("boto3 client error in get_all_secrets: " + e.__str__())
    except Exception as e:
        raise Exception("Unexpected error in get_all_secrets: " + e.__str__())

a = get_all_secrets()
for details in a['SecretList']:
    print(details['Name'])

आउटपुट

tests/secrets
tests/aws/secrets
tests/aws/users

अतिरिक्त जानकारी

  • list_secrets पेजिनेटेड परिणाम लौटाता है। डिफ़ॉल्ट रूप से 100 परिणाम प्रति पृष्ठ।

  • बड़ी संख्या में सीक्रेट्स के लिए पेजिनेटर का उपयोग करें: paginator = client.get_paginator('list_secrets')

  • परिणाम में प्रत्येक सीक्रेट का मेटाडेटा होता है (ARN, नाम, विवरण, टैग, बनाई गई तिथि, आदि) लेकिन सीक्रेट मान नहीं।

  • सीक्रेट मान प्राप्त करने के लिए get_secret_value का उपयोग करें।

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

  • फिल्टरिंग के लिए Filters पैरामीटर का उपयोग करें (नाम, टैग, आदि के आधार पर)।


  1. - Boto3 का उपयोग करके AWS Glue में मौजूद सभी ट्रिगर्स के माध्यम से पेजिनेट करना

    समस्या कथन: आपके खाते में बनाए गए AWS Glue Data Catalog से सभी ट्रिगर्स के माध्यम से पेजिनेट करने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें। समस्या हल करने का दृष्टिकोण/एल्गोरिदम चरण 1: boto3 और botocore एक्सेप्शन आयात करें ताकि एक्सेप्शन संभाले जा सकें। चरण 2: max_items, page_size और starti

  1. - AWS Client का उपयोग करके Boto3 से S3 में मौजूद बकेट की सूची कैसे प्राप्त करें?

    समस्या विवरण Python में Boto3 लाइब्रेरी का उपयोग करके AWS में मौजूद सभी बकेट की सूची प्राप्त करें। उदाहरण - BUCKET_1, BUCKET2, BUCKET_3 जैसे बकेट के नाम प्राप्त करें। इस समस्या को हल करने का दृष्टिकोण/एल्गोरिदम चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें। चरण 2 - Boto3 लाइब्

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

    समस्या विवरण Python में boto3 लाइब्रेरी का उपयोग करके AWS में मौजूद सभी बकेट की सूची प्राप्त करें। उदाहरण - BUCKET_1, BUCKET2, BUCKET_3 जैसे बकेट के नाम प्राप्त करें। इस समस्या को हल करने का दृष्टिकोण/एल्गोरिदम चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें। चरण 2 - Boto3 लाइब्