将 MySQL 凭据存储在 SAM/Lambda 中

Storing MySQL credentials in SAM/Lambda

我目前有一个 SAM 模板,其中包含一组 Lambda 函数。在每个 Lambda 函数中,我都定义了我的 RDS 数据库的凭据:

const connection = await mysql.createConnection({
    host: '-----.-----.eu-west-2.rds.amazonaws.com',
    user: '------',
    password: '-----',
    port: ------,
    database: '----',
});

我知道这可能不是最好的做法 - 存储此信息的标准方法是什么?它应该包含在模板的全局环境变量中吗?

使用 AWS::SSM::Parameter OR AWS::SecretsManager::Secret 存储凭据。

向您的 Lambda IAM Role 添加必要的权限,然后在您的 lambda 中,您可以从相应的服务中获取它们。

How to securely provide database credentials to Lambda functions by using AWS Secrets Manager