Boto3を使用して、AWSSecretManagerでバイナリ/暗号化形式からプレーンテキストとしてシークレットキーを取得する方法
問題の説明: boto3を使用する Pythonのライブラリを使用して、AWSSecretManagerに存在するバイナリ/暗号化形式からプレーンテキストとしてシークレットキーを取得します
この問題を解決するためのアプローチ/アルゴリズム
-
ステップ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: 暗号化されている場合は、関数を呼び出して base64.b64decodeを使用してバイナリ値をデコードします
-
ステップ8: すべてのシークレットを復号化モード、つまり指定された場所のプレーンテキストとして返します。
-
ステップ9: 値の取得中に問題が発生した場合は、一般的な例外を処理します。
サンプルコード
次のコードを使用して、AWSシークレットマネージャーから復号化されたプレーンテキストシークレットを取得します-
import boto3 from botocore.exceptions import ClientError def get_decrypted_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) if not ('SecretString' in response): decoded_secret_values = base64.b64decode(response['SecretBinary']) return decoded_secret_values except ClientError as e: raise Exception("boto3 client error in get_decrypted_secret_details: " + e.__str__()) except Exception as e: raise Exception("Unexpected error in get_decrypted_secret_details: " + e.__str__()) a = get_decrypted_secret_details('/secrets/aws') print(a)
出力
{"user":"SERVICE_USER","accesskey":"I**************"}
-
Boto3を使用して、AWS Glueデータカタログから1つまたは複数の指定されたクローラーのメトリックを取得するにはどうすればよいですか?
問題の説明 − Pythonでboto3ライブラリを使用して、指定したクローラーのメトリックを取得します。 例 −指定されたクローラーcrawler_for_s3_file_jobのメトリックを取得します。 この問題を解決するためのアプローチ/アルゴリズム ステップ1 −例外を処理するためにboto3およびbotocore例外をインポートします。 ステップ2 − crawler_names は必須パラメータです。これはリストであるため、ユーザーは一度に1つまたは複数のクローラー名を送信してメトリックをフェッチできます。 ステップ3 −boto3ライブラリを使用してAWSセッションを
-
Boto3を使用して移行操作のステータスを取得するにはどうすればよいですか?
問題の説明 − Pythonでboto3ライブラリを使用して、移行操作のステータスを取得します。 例 −アカウントの移行操作のステータスを取得します。 この問題を解決するためのアプローチ/アルゴリズム ステップ1 −例外を処理するためにboto3およびbotocore例外をインポートします。 ステップ2 −移行ステータスを確認する必要のあるパラメータcatalog_idを渡します。ただし、これはオプションのパラメーターです。提供されていない場合、デフォルトでは、移行が進行中か完了しているかどうか、ログインしているユーザーアカウントをチェックします。 catalog_idは、ユーザーアカウ