gpt4 book ai didi

aws-lambda - 如何以安全的方式在 template.yaml 中添加环境变量?

转载 作者:行者123 更新时间:2023-12-03 07:10:26 25 4
gpt4 key购买 nike

当使用 template.yaml 通过 SAM CLI 创建 Lambda 函数时,我必须传递一些环境变量,并且它们不应在 GitHub 上公开。有什么方法可以通过 .env 文件引用 template.yaml 中的环境变量吗?

我没有找到任何相同的来源。

template.yaml 中的示例代码片段:

Properties:
CodeUri: student /
FunctionName: list
Handler: index.listHandler
Runtime: nodejs14.x
Environment:
Variables:
MONGODB_URI: mongodb://username:pwd

最佳答案

这里的选项很少。

  1. 将它们添加到模板的 Parameters 部分(请务必添加 NoEcho 选项)并在部署时传入它们。
  2. 更好的选择是使用 Secrets Manager存储该值,然后使用 dynamic references在模板中。 CloudFormation 将在您部署时从 Secrets Manager 检索值。
  3. 更好的选择是根本不将它们作为环境变量传递(因为任何有权查看该函数的人都可以看到该值)。相反,使用 Secrets Manager 存储该值并在代码中查找该值。如果您决定使用此方法,请务必缓存该值,以便至少可以在 lambda 热启动之间重用它。
  4. 还有一个选项是使用 KMS 加密该值,并将加密的(Base64 编码)值传递给函数。您需要调用 KMS 解密来获取解密的值。此操作非常快,并且不太可能受到限制。我仍然会缓存该值,以帮助加快热启动之间的速度。

关于aws-lambda - 如何以安全的方式在 template.yaml 中添加环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66579433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com