gpt4 book ai didi

python - AWS Glue 与 SecretManager 用于数据库凭证

转载 作者:太空宇宙 更新时间:2023-11-03 21:34:51 25 4
gpt4 key购买 nike

我有一个 AWS Glue Python 脚本,用于连接到 Aurora Mysql 数据库。为此,我尝试使用 AWS SecretManager,这样我就不必在脚本中对数据库凭证进行硬编码。

虽然我能够成功使用 Secretmanager 并在我的 AWS Glue 脚本中使用它来连接到 RDS,但我发现凭证不是 secret 的,如果我打印保存数据库凭证的变量的内容,我就能够查看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之外,我们如何屏蔽数据库凭证。

谢谢

最佳答案

AWS 文档指出,AWS Secret Manager 始终存储加密的 key ,它通常透明地处理解密。当您指定 AWS Secret Manager 应使用的 KMS key 时。 transparently decrypts and returns them to you in plaintext

所以基本上您看到的解密结果只是减去您必须调用 KMS API 进行解密的调用。

关于python - AWS Glue 与 SecretManager 用于数据库凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53300978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com