2

我需要访问 lambda 函数的一些凭据,一种方法是将它们放入环境变量中。

但是,这些凭据的值在 lambda 控制台中是可见的。我正在考虑将它们放在秘密管理器或参数存储中,并将密钥作为 env 放在 lambda 中。然后在运行时加载 lambda 中的值。

但是,这种方法是安全的,但会产生一些延迟。我不确定它会产生多少延迟。有没有更好的解决方案?

4

1 回答 1

2

Lambda 变量实际上已经加密,解密的值从控制台显示,但如果用户没有密钥的权限,他们将无法看到它们。

正如您所建议的,您有以下解决方案:

使用这些解决方案中的任何一个您将获得的好处是,您可以在您正在使用的版本之外以及同时跨多个 Lambda 函数更改它们。

尝试到达这些服务端点的延迟也会增加,这会导致时间略有增加。您可以通过将您的Lambda 放在 VPC 中并使用VPC 终端节点来减少这种延迟(这将允许通过使用公共互联网进行直接私有通信),但它仍然会比环境变量长。

最终这个选择是给你的,如果你确实需要重用变量并且可以忍受轻微的延迟,那么使用秘密管理器或系统管理器参数存储。否则管理KMS 权限,以便不是每个用户都可以访问获取解密。

于 2020-07-14T09:19:11.037 回答