You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS中安全加密存储密钥/令牌供Lambda等服务使用?

安全存储Lambda私有令牌的AWS方案

1. AWS Secrets Manager(首推)

这是AWS专为敏感凭据设计的托管服务,完美适配API令牌、数据库密码这类信息的存储,自带自动轮换功能,非常适合多Lambda共享凭据的场景。

  • 配置步骤:
    1. 登录AWS控制台进入Secrets Manager,点击「存储新密钥」
    2. 选择「其他类型的密钥」,输入令牌内容(格式可设为TOKEN=xxxxxx),设置清晰的密钥名称(比如prod/lambda/shared-api-token)
    3. 给Lambda的IAM角色附加secretsmanager:GetSecretValue权限,仅允许访问指定密钥
    4. Lambda代码中通过AWS SDK获取密钥:
      import boto3
      def fetch_secret():
          secret_name = "prod/lambda/shared-api-token"
          client = boto3.client('secretsmanager')
          response = client.get_secret_value(SecretId=secret_name)
          return response['SecretString']
      
  • 核心优势:自动凭据轮换、细粒度权限控制、CloudTrail审计日志支持、跨区域复制
  • 适用场景:多Lambda共享凭据、需要定期更新令牌的业务

2. AWS Systems Manager Parameter Store(Secure String类型)

如果对成本敏感,Parameter Store的Secure String类型是性价比更高的选择,同样支持KMS加密,适合存储无需自动轮换的静态令牌。

  • 配置步骤:
    1. 进入Systems Manager控制台的「参数存储」,点击「创建参数」
    2. 设置层级化名称(比如/lambda/prod/payment-service-token),类型选「Secure String」,输入令牌值,选择AWS管理KMS密钥或自定义密钥
    3. 给Lambda的IAM角色添加ssm:GetParameter权限
    4. Lambda代码中获取参数:
      import boto3
      def fetch_parameter():
          ssm = boto3.client('ssm')
          response = ssm.get_parameter(Name='/lambda/prod/payment-service-token', WithDecryption=True)
          return response['Parameter']['Value']
      
  • 核心优势:低存储成本、支持层级命名管理、集成KMS加密
  • 适用场景:静态令牌存储、预算有限的小型项目

3. Lambda环境变量+KMS加密

Lambda原生支持环境变量,搭配KMS自动加密,适合单个Lambda专用的令牌,或者需要快速完成迁移的场景。

  • 配置步骤:
    1. 在Lambda函数配置页的「环境变量」中添加键值对(比如PRIVATE_TOKEN=xxxxxx)
    2. 开启「加密配置」,选择目标KMS密钥(AWS管理密钥或自定义密钥均可)
    3. 确保Lambda的IAM角色拥有kms:Decrypt权限(针对所选KMS密钥)
    4. 代码中直接读取环境变量:
      import os
      private_token = os.environ['PRIVATE_TOKEN']
      
  • 核心优势:配置简单、代码改动最小、无需额外SDK调用
  • 注意事项:不适合多Lambda共享凭据(需重复配置),控制台仅显示加密后的内容,但有权限用户可解密

通用最佳实践

  • 权限最小化:给Lambda的IAM角色仅分配访问指定密钥/参数的必要权限,避免过度授权
  • 审计追踪:开启CloudTrail,记录所有敏感凭据的访问操作,便于事后排查
  • 杜绝硬编码:无论采用哪种方案,绝对不要在代码或部署包中硬编码凭据
  • 定期轮换:高敏感令牌需定期更新,Secrets Manager可自动完成,其他方案可通过脚本或手动操作实现

内容的提问来源于stack exchange,提问作者Amir Blizovsky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 19:57:43