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

Amplify环境存储长密钥:如何通过CLI创建高级层参数?

解决方案:Amplify环境下存储长密钥的两种方法

一、通过Amplify CLI直接创建高级层SSM参数

AWS Systems Manager Parameter Store的标准参数最大支持4KB,高级参数支持8KB,你可以通过修改Amplify生成的CloudFormation模板来指定创建高级层参数,步骤如下:

  1. 若未添加参数,先运行 amplify add parameter,选择Secure String类型,按提示输入参数名称和描述。
  2. 找到Amplify项目中参数对应的CloudFormation配置文件:amplify/backend/config/parameters/<你的参数名>.yml
  3. 打开该文件,在Properties节点下添加Tier: Advanced属性,修改后的配置示例:
Resources:
  MyLongPrivateKey:
    Type: AWS::SSM::Parameter
    Properties:
      Type: SecureString
      Tier: Advanced
      Name: /amplify/<你的应用ID>/<环境名>/MyLongPrivateKey
      Value: '{{resolve:secretsmanager:arn:aws:secretsmanager:us-east-1:123456789012:secret:MySecret-abc123:SecretString:privateKey}}'
  1. 运行 amplify push,CLI会按照修改后的模板创建高级层参数,后续创建新环境时也会沿用这个配置,不会再生成标准参数导致失败。

二、使用AWS Secrets Manager存储更长密钥(推荐)

如果密钥超过8KB,SSM高级参数也存不下,推荐用AWS Secrets Manager(最大支持64KB),Amplify可以直接集成:

  1. 在AWS控制台创建Secrets Manager密钥,将长私钥存入其中(支持键值对或纯文本格式)。
  2. 在Amplify函数的配置中,通过环境变量引用该密钥:
    • 运行 amplify update function,选择目标Lambda函数,进入环境变量配置。
    • 添加环境变量,值填写{{resolve:secretsmanager:<你的Secret ARN>:SecretString:<密钥对应的键名>}}(纯文本格式直接写{{resolve:secretsmanager:<你的Secret ARN>}})。
  3. 运行 amplify push,Amplify会自动为Lambda添加访问该Secret的IAM权限,你可在Lambda代码中直接读取环境变量获取密钥。

这种方法无需手动修改模板,支持更大容量的密钥,同时Secrets Manager还提供自动轮换等额外功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 02:58:31