Python
 Computer >> コンピューター >  >> プログラミング >> Python

Boto3を使用して、AWSシークレットマネージャーからプレーンテキストとして保存されたシークレットキーを取得する方法


問題の説明: boto3を使用する AWSシークレットマネージャーからシークレットキーを取得するPythonのライブラリ

この問題を解決するためのアプローチ/アルゴリズム

  • ステップ1: boto3をインポートします およびbotocore 例外を処理するための例外。

  • ステップ2: secret_stored_location 必須パラメータです。秘密が保存される場所です。

  • ステップ3: boto3 libを使用してAWSセッションを作成します 。 region_nameを確認してください デフォルトのプロファイルに記載されています。言及されていない場合は、 region_nameを明示的に渡します セッションの作成中。

  • ステップ4: secretmanagerのAWSクライアントを作成します 。

  • ステップ5: get_secret_valueに電話します secret_stored_locationを渡します SecretIdとして 。

  • ステップ6: 指定された場所に暗号化なしで存在するすべてのシークレットを返します。

  • ステップ7: 値の取得中に問題が発生した場合は、一般的な例外を処理します。

サンプルコード

次のコードを使用して、AWSSecretManagerからプレーンテキストのシークレットを取得します-

import boto3
from botocore.exceptions import ClientError

def get_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)
   return response
   except ClientError as e:
      raise Exception("boto3 client error in get_secret_details: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in get_secret_details: " + e.__str__())

a = get_secret_details('/secrets/aws')
print(a['SecretString'])

出力

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

  1. Boto3を使用して、AWS Glueデータカタログから1つまたは複数の指定されたクローラーのメトリックを取得するにはどうすればよいですか?

    問題の説明 − Pythonでboto3ライブラリを使用して、指定したクローラーのメトリックを取得します。 例 −指定されたクローラーcrawler_for_s3_file_jobのメトリックを取得します。 この問題を解決するためのアプローチ/アルゴリズム ステップ1 −例外を処理するためにboto3およびbotocore例外をインポートします。 ステップ2 − crawler_names は必須パラメータです。これはリストであるため、ユーザーは一度に1つまたは複数のクローラー名を送信してメトリックをフェッチできます。 ステップ3 −boto3ライブラリを使用してAWSセッションを

  2. PythonでBoto3ライブラリを使用して、AWS S3に存在するバケットのリストを取得するにはどうすればよいですか?

    問題の説明 − Pythonでboto3ライブラリを使用して、AWSに存在するすべてのバケットのリストを取得します。 例 −バケットの名前を取得します– BUCKET_1、BUCKET2、BUCKET_3 この問題を解決するためのアプローチ/アルゴリズム ステップ1 −例外を処理するためにboto3およびbotocore例外をインポートします。 ステップ2 −Boto3ライブラリを使用してAWSセッションを作成します。 ステップ3 −S3用のAWSリソースを作成する ステップ4 −関数buckets.all()を使用します バケット名を一覧表示します。 ステップ5 −不要な例外が