AWS Lambda
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用环境变量创建 Lambda 函数以存储敏感信息

借助 AWS Key Management Service 和 Lambda 控制台的加密帮助程序,您不仅可以为您的 Lambda 函数指定配置设置,还可以使用环境变量存储数据库密码等敏感信息。有关更多信息,请参阅环境变量加密。以下示例将向您展示如何完成这一操作,以及如何使用 KMS 解密敏感信息。

本教程将演示如何使用 Lambda 控制台来加密包含敏感信息的环境变量。请注意,如果您要更新现有函数,您可以向前跳至指令步骤,其概括了如何扩展 步骤 2:配置 Lambda 函数环境变量部分。

步骤 1:创建 Lambda 函数

  1. 通过以下网址登录 AWS 管理控制台并打开 AWS Lambda 控制台:https://console.amazonaws.cn/lambda/

  2. 选择 Create a Lambda function

  3. Select blueprint 中,选择 Author from scratch 按钮。

  4. Basic information 中,执行以下操作:

    • Name (名称) 中,指定您的 Lambda 函数名称。

    • Role (角色) 中,选择 Choose an existing role (选择现有角色)

    • Existing role (现有角色) 中,选择 lambda_basic_execution

      注意

      如果执行角色的策略没有 decrypt 权限,则您需要添加这一权限。

    • 选择 Create function

步骤 2:配置 Lambda 函数

  1. Configuration中,指定您选择的 Runtime

  2. Lambda function code (Lambda 函数代码) 部分下面,您可以利用 Edit code inline (编辑内联代码) 选项将 Lambda 函数处理程序代码替换为您的自定义代码。

  3. 请注意 Triggers 选项卡。在 Triggers (触发器) 页面下面,(可选)您可以通过选择 Add trigger (添加触发器) 按钮,然后选择带有省略号 (...) 的灰色框显示可用服务列表,来自动触发您的 Lambda 函数。对于此示例,不要配置触发器,并且选择 Configuration

  4. 请注意 Monitoring 选项卡。此页面将为您的 Lambda 函数调用提供即时 CloudWatch 指标,以及指向其他有用指南的链接,包括 使用 AWS X-Ray

  5. 展开 Environment variables 部分。

  6. 输入您的密钥-值对。展开 Encryption configuration 部分。请注意,Lambda 在 KMS key to encrypt at rest (要静态加密的 KMS 密钥) 下面提供了默认服务密钥,可用于在您的信息上传后对其进行加密。如果您提供的信息是敏感信息,您还可以选中 Enable helpers for encryption in transit 复选框并提供自定义密钥。这一操作将掩蔽您输入的值,并且会发起对 AWS KMS 的调用以加密该值并将其返回为 Ciphertext。如果您尚未为您的账户创建 KMS 密钥,系统会为您提供指向 AWS IAM 控制台的链接,以创建密钥。此账户必须拥有针对该密钥的 encryptdecrypt 权限。请注意,您选择加密按钮后,它将切换为解密。这样一来,您便可以更新此类信息。完成此操作后,选择加密按钮。

    Code (代码) 按钮提供特定于可以与您的应用程序配合使用的 Lambda 函数的运行时的示例解密代码。

    注意

    您不能使用默认 Lambda 服务密钥加密客户端的敏感信息。有关更多信息,请参阅 环境变量加密