繁体   English   中英

在 Javascript Express 应用程序中存储机密的最佳实践

[英]Best practice store secrets in Javascript Express App

我使用 express 和 AWS lambda 创建了一个简单的 NodeJS REST API。 我开始使用环境变量,现在我的 API 中到处都是 process.env。

但是,我刚刚开始在 AWS 中测试 secretmanager。 它似乎工作正常。 我构建了一个模块 getAWSsecrets.js ,我可以通过简单的运行轻松访问它:

async function testFunc() {
  let credentials = await getSecrets();
  console.log(credentials);
}

这是按预期工作的,getSecrets() 方法返回一个包含我需要的所有秘密的 json 对象。 但是在我的应用程序中的每个位置,我都需要发出此 API 请求以获取机密。 是否有更好的方法以某种方式缓存机密以避免不得不一遍又一遍地调用机密管理器。

说了这么多,或许是最安全的吧? 我该如何进行,什么被认为是最佳实践? 也许这没有问题,只是我的直觉说这看起来“笨拙”。

在每次冷启动(第一次运行)时,获取所有秘密并使用它们。


let credentials;
let coldstart = false;

exports.handler = async (event, context) => {
   if(!coldstart){
     credentials = await getSecrets();
     coldstart=true;
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM