insomnia中应启用local vault加密环境变量,或结合git sync实现加密同步,亦可迁移至azure key vault进行外部密钥托管。

如果您在Insomnia中使用环境变量管理API密钥、令牌或密码等敏感数据,但未启用加密机制,则这些值可能以明文形式存储于本地文件系统中,存在泄露风险。以下是针对此问题的多种安全存储与加密操作方法:
一、启用并配置Local Vault加密环境变量
Insomnia内置的Local Vault采用AES-256-GCM算法对敏感变量进行端到端加密,密钥由设备本地生成并严格隔离,不上传至任何远程服务,适用于高合规性要求场景。
1、打开Insomnia主界面,点击左下角“Environments”图标,选择需编辑的环境或新建环境。
2、在环境变量编辑区域,输入变量名(如API_TOKEN)和对应值(如sk_live_abc123...)。
3、点击该变量值右侧的锁形图标,将其标记为“Secret”;此时值将立即显示为••••••掩码形式。
4、保存环境后,Insomnia自动将该变量写入加密SQLite数据库vault.db,路径为~/.config/Insomnia/insomnia/vault.db。
5、验证加密效果:手动检查vault.db文件内容,确认原始明文不可见,且仅通过Vault密钥可解密。
二、结合Git Sync实现带加密同步的版本控制
Git Sync功能在推送前对已标记为Secret的变量执行二次加密封装,并跳过未加密的本地环境文件提交,确保敏感数据不会意外进入Git仓库。
1、进入Insomnia设置(Settings → Git Sync),点击“Enable Git Sync”并完成仓库初始化。
2、确保所有含敏感信息的变量均已通过锁图标标记为Secret;未标记变量将被Git Sync明确排除。
3、在项目根目录创建.gitignore文件,添加以下两行:
insomnia/*.env.json
insomnia/workspaces/*.json
4、执行同步操作,Git Sync会将加密后的Secret元数据嵌入工作区定义中,而非原始值。
5、在另一台设备上拉取同步数据后,Insomnia自动调用本地Vault密钥完成透明解密,无需人工干预。
三、迁移至Azure Key Vault外部密钥托管(高级集成)
对于企业级多环境协作场景,可绕过Insomnia本地Vault,直接将敏感值委托给Azure Key Vault管理,利用HSM级保护与RBAC权限体系实现集中式密钥治理。
1、登录Azure门户,导航至目标Key Vault实例,点击“Secrets” → “Generate/Import”,创建新机密(如insomnia-api-key)。
2、复制该机密的完整URI(格式为https://<vault-name>.vault.azure.net/secrets/<secret-name>/<version-id></version-id></secret-name></vault-name>)。
3、在Insomnia环境中,不填写实际值,而是输入占位符:{{azure_keyvault('https://myvault.vault.azure.net/secrets/api-token/')}}。
4、安装并启用Insomnia插件“Azure Key Vault Integration”,在插件设置中配置Azure AD应用注册凭据及租户ID。
5、运行请求前,插件自动调用Azure Identity SDK获取托管标识令牌,并向Key Vault REST API发起GET请求获取明文值,全程不缓存、不落盘。











