Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security Lambda函数需要在代码中使用键作为依赖项,将其存储在何处?_Security_Amazon Web Services_Aws Lambda - Fatal编程技术网

Security Lambda函数需要在代码中使用键作为依赖项,将其存储在何处?

Security Lambda函数需要在代码中使用键作为依赖项,将其存储在何处?,security,amazon-web-services,aws-lambda,Security,Amazon Web Services,Aws Lambda,我有一些这样的代码,将在Lambda内部运行: var Parse = require('parse').Parse; Parse.initialize("Your App Id", "Your JavaScript Key"); var query = new Parse.Query(Parse.User); query.find({ success: function(users) { for (var i = 0; i < users.length; ++i) {

我有一些这样的代码,将在Lambda内部运行:

var Parse = require('parse').Parse;

Parse.initialize("Your App Id", "Your JavaScript Key");

var query = new Parse.Query(Parse.User);
query.find({
  success: function(users) {
    for (var i = 0; i < users.length; ++i) {
      console.log(users[i].get('username'));
    }
  }
});
var Parse=require('Parse')。Parse;
初始化(“你的应用Id”,“你的JavaScript键”);
var query=newparse.query(Parse.User);
查询.查找({
成功:功能(用户){
对于(变量i=0;i

代码需要一个API密钥才能工作。直接将密钥放入代码中安全吗?或者我应该将其存储在其他地方吗?如果是,存储在哪里?我担心它是否需要存储在外部,这将导致开销,因为每次检索它时我都需要进行网络调用。

我不会将其放入代码中。一个廉价而优雅的解决方案是使用AWS提供的密钥管理服务。只需几行代码即可从AWS KMS检索密钥。每10000个请求的成本为0.03美元,每个密钥存储成本为1美元/月

它也与AWS Lambda集成


编辑:有关如何使用它,请参见此SO链接:

谢谢!因此,我的函数仍然必须在每次调用KMS时进行网络调用,尽管该函数是正确的,还是被缓存了?我不认为它被缓存了。您可以查看我发布的链接。关于缓存,请查看以下步骤:特别是来自Amazon的响应:“全局”代码(在您的处理程序之外)在每个容器中初始化一次(然后不再调用)。这是进行任何动态初始化的好地方,例如设置要在容器的整个生命周期(即跨多个请求)中使用的全局变量。您可以从AmazonS3、AmazonDynamodB或其他来源检索值。