AWS Lambda
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

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

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

本教程将向您演示如何使用 Lambda 控制台加密包含敏感信息的环境变量,还会提供用于解密此类信息的示例代码以供您在 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 中,执行以下操作:

    • 文件名*中,指定您的 Lambda 函数的名称。

    • 角色*中,选择选择现有角色

    • 现有角色*中,选择lambda_basic_execution

      注意

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

    • 选择 Create function

步骤 2:配置 Lambda 函数

  1. Configuration 下面的 Runtime 中,指定 nodejs6.10nodejs4.3

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

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

  4. 选择 Monitoring 选项卡。此页面将为您的 Lambda 函数调用提供即时 CloudWatch 指标,以及指向其他有用指南的链接,包括 基于 Lambda 的应用程序问题排查

  5. 展开 Environment variables 部分。

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

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

    注意

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