【问题标题】:How do I provide configuration parameters like database credentials in Amazon Lambda?如何在 Amazon Lambda 中提供数据库凭证等配置参数?
【发布时间】:2016-03-09 09:42:37
【问题描述】:

如何向我的 Java AWS Lambda 函数提供数据库凭证等配置参数?

我是否应该简单地将它们存储在属性文件中并从 jar 中加载它们?如果是这样,我如何区分开发和运行时配置?

【问题讨论】:

    标签: java aws-lambda


    【解决方案1】:

    根据您尝试访问的系统以及保存凭据所需的安全性,有多种可用选项。

    要做的最重要的事情是,如果您在 Lambda 函数中需要 AWS 凭证,您应该使用 AWS 角色。这意味着您无需对凭证进行硬编码,只需使用 AWS 客户端库进行调用即可。

    如果您需要提取其他机密或配置,可以将它们存储在 DynamoDB 或 S3 中。您将使用 AWS 角色授予读取此信息的权限。如果安全性真的很重要,您可以使用 KMS 加密此信息以增加一层安全性。如果您正在从 S3 或 DynamoDB 读取数据,我建议您将其缓存一段适当的时间(Lambda 函数的生命周期是一个不错的选择,因为根据我的经验,实例的生存时间往往不超过 15 分钟)以避免不必要的请求到 DynamoDB 或 S3。

    当谈到区分其所处环境的代码时,我假设您在谈论单独的 Lambda 函数。为此,您可以将环境分配烘焙到您构建的工件中,或者您可以让代码查看 Lambda 函数的名称以确定它所在的环境。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-09
      • 1970-01-01
      • 1970-01-01
      • 2012-07-12
      • 1970-01-01
      • 1970-01-01
      • 2016-11-19
      • 1970-01-01
      相关资源
      最近更新 更多