Computer >> Máy Tính >  >> Lập trình >> Python

Cách sử dụng Boto3 để xóa tất cả các khóa bí mật khỏi một vị trí cụ thể trong AWS Secret Manager

Tuyên bố sự cố: Sử dụng boto3 thư viện bằng Python để xóa tất cả các khóa bí mật khỏi một vị trí cụ thể trong AWS Secret Manager

Phương pháp tiếp cận / Thuật toán để giải quyết vấn đề này

  • Bước 1: Nhập boto3 botocore các ngoại lệ để xử lý các ngoại lệ.

  • Bước 2: secret_stored_location là tham số bắt buộc.

  • Bước 3: Tạo phiên AWS bằng boto3 lib . Đảm bảo rằng region_name được đề cập trong hồ sơ mặc định. Nếu nó không được đề cập, thì hãy chuyển region_name một cách rõ ràng trong khi tạo phiên.

  • Bước 4: Tạo ứng dụng AWS cho người quản lý thư ký .

  • Bước 5: Gọi delete_secret và vượt qua secret_stored_location dưới dạng SecretId .

  • Bước 6: Nó trả về siêu dữ liệu của bí mật đã xóa.

  • Bước 7: Xử lý ngoại lệ chung nếu xảy ra sự cố khi xóa bí mật.

Mã mẫu

Sử dụng mã sau để xóa bí mật trong Trình quản lý bí mật của AWS -

import boto3
from botocore.exceptions import ClientError

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

a = delete_secret_details('/secrets/aws')
print(a)

Đầu ra

{'ARN': 'arn:aws:secretsmanager:us-east-1:***************:secret:/secrets/aws-wr1Aj6', 'Name': '/secrets/aws', 'DeletionDate': datetime.datetime(2021, 5, 3, 15, 26, 19, 898000, tzinfo=tzlocal()), '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}}