如何使用 CloudFormation 加密 AWS Lambda 环境变量

How to encrypt AWS Lambda environment variables using CloudFormation

我正在处理一个 AWS CloudFormation 模板,其中包含一个带有敏感环境变量的 Lambda 函数。我想设置一个 KMS 密钥并用它加密它们,这在控制台中很容易做到,但事实证明在 CloudFormation 中很难做到。

任何人都可以 post Lambda 的基本 CloudFormation JSON 对象,至少有一个使用 KMS 密钥加密的环境变量,以及 JSON 用于创建那把钥匙?

目前在 AWS 的 serverless-application-model 项目中似乎有一个功能请求:https://github.com/awslabs/serverless-application-model/issues/48

但是,目前无法通过 CloudFormation 加密单个环境变量。至于使用 CloudFormation 设置 KMS 密钥本身,请参阅以下内容:http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html

创建 KMS 密钥资源后,您可以通过在函数属性中指定 KmsKeyArn 属性 在 Lambda 函数中使用它。