У меня есть скрипт AWS Glue Python, который я использую для подключения к базе данных Aurora Mysql. Для этого я попытался использовать AWS SecretManager, чтобы мне не пришлось жестко кодировать учетные данные базы данных в сценарии.
Хотя я могу успешно использовать secretmanager и использовать его в своем скрипте AWS Glue для подключения к RDS, я вижу, что учетные данные не являются секретными, и если я распечатываю содержимое переменной, содержащей учетные данные базы данных, я могу чтобы увидеть пароли, имя пользователя и т. д. в логах cloudwatch.
Ниже приведен фрагмент кода:
# Getting DB credentials from Secrets Manager
client = boto3.client("secretsmanager", region_name="us-west-2")
get_secret_value_response = client.get_secret_value(
SecretId="RDS_Dev_Cluster"
)
secret = get_secret_value_response['SecretString']
secret = json.loads(secret)
db_username = secret.get('username')
db_password = secret.get('password')
db_url = secret.get('host')
print db_username
print db_password
print db_url
Есть ли способ, которым мы можем зашифровать имя пользователя / пароль. Можем ли мы использовать AWS KMS? Я не пробовал KMS в этом, но хотел бы получить предложения, прежде чем использовать другой сервис AWS. Если нет, то как мы можем замаскировать учетные данные базы данных, кроме secretmanager.
Спасибо