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

如何通过AWS CLI向Secrets Manager已有密钥追加新键值对

问题原因

AWS Secrets Manager 不存在原生的「追加键值对」API,put-secret-value 接口的行为是全量覆盖密钥存储的内容,直接传入仅包含新键值对的JSON对象时,原有所有键值对会被完全替换。

实现方案

要实现键值对追加,必须先读取密钥当前存储的完整JSON内容,将新键值对合并进原有JSON结构后,再把完整的合并结果通过put-secret-value回写。
最稳妥的方式是通过jq工具自动完成JSON解析、合并操作,避免手动编辑JSON出现格式错误,完整操作命令如下:

# 配置环境变量
SECRET_NAME="你的目标密钥名称/ARN"
REGION="密钥部署的AWS区域"
NEW_KEY="待追加的键名"
NEW_VALUE="待追加的键对应值"

# 拉取现有密钥 -> 合并新键值对 -> 回写更新
aws secretsmanager put-secret-value \
  --secret-id $SECRET_NAME \
  --region $REGION \
  --secret-string "$(aws secretsmanager get-secret-value \
    --secret-id $SECRET_NAME \
    --region $REGION \
    --query 'SecretString' \
    --output text | jq --arg addKey "$NEW_KEY" --arg addVal "$NEW_VALUE" '. + {($addKey): $addVal}')"

注意事项

  • 运行上述命令前请确保环境已安装jq(轻量JSON命令行处理工具,可通过yum/apt/brew等包管理器直接安装)
  • 操作前建议先备份原有密钥内容,避免误操作导致数据丢失,备份命令:
aws secretsmanager get-secret-value \
  --secret-id $SECRET_NAME \
  --region $REGION \
  --query 'SecretString' \
  --output text > secret_backup_$(date +%Y%m%d).json
  • 如果你的密钥使用自定义托管KMS密钥加密,上述命令会自动沿用原有加密配置,无需额外指定KMS参数
  • 不建议手动复制拉取到的JSON内容编辑后回传,很容易出现JSON格式错误、漏写原有键值对等问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 00:27:20