Nik*_*ash 7 amazon-web-services node.js express secret-manager aws-secrets-manager
我正在尝试从我的凭证和机密迁移到我的 Express 项目中的 AWS Secrets Manager。
当前结构有一个 config.json 文件,该文件在 express 应用程序时同步加载。
但是当我尝试从 AWS API 获取凭证时,流程将不起作用。因为在我以前的方法中,文件是同步加载的,因此,当应用程序启动时,所有凭证都可用,但当从 AWS API 获取凭证时,则不可能。
我想了解在 Express/Node 项目中需要 API 调用以获取凭据的任何秘密管理器的理想方法是什么。
以下是我如何获取续集迁移的秘密。
const aws = require('aws-sdk');
aws.config.update({
region: 'ca-central-1', // IMPORTANT: configure your aws region
});
const returnSequelizeConfig = async () => {
const secretsManager = new aws.SecretsManager();
const secret = await secretsManager
.getSecretValue({ SecretId: 'dev/postgres' }) // fetch secret
.promise();
const parsedSecret = JSON.parse(secret.SecretString);
return {
development: {
database: parsedSecret.dbname,
username: parsedSecret.username,
password: parsedSecret.password,
host: 'db-instance.XXXXX.ca-central-1.rds.amazonaws.com', // replace with host
dialect: 'postgres',
},
test: {
username: 'postgres',
password: 'postgres',
database: 'db',
host: 'localhost',
dialect: 'postgres',
},
};
};
module.exports = returnSequelizeConfig;
Run Code Online (Sandbox Code Playgroud)
然后,当运行您的sequelize迁移时,它将首先获取秘密,然后返回配置。
| 归档时间: |
|
| 查看次数: |
696 次 |
| 最近记录: |