IBM 2024年数据泄露成本报告显示,平均每次泄露的损失达到488万美元——这还只是平均值,不是最坏的情况。而泄露的根因里,凭据外泄始终排在前列。GitHub 仅在2023年就扫描到公开仓库中泄露了超过100万个密钥,还没算那些从未被发现的私有仓库。
这些事故往往不是源于开发人员粗心。一个.env文件被无意提交,两年前都没人察觉;对一位客户的应急排查中,有人跑了一遍 git log -p,竟然翻出一个仍在生产环境使用的 .env,里面躺着数据库密码、Stripe 密钥和 JWT 签名密钥。凭据被复制粘贴到 Slack 消息里临时救急,Docker 镜像带着密钥打包进某个层,服务器报废后也没人轮换曾经持有的凭据。架构本身更容易让人犯错。
打开网易新闻 查看精彩图片
Azure Key Vault 提供了一条不同的路:应用在运行时从集中加密服务里取回凭据,.env 文件不再存放任何值得窃取的信息。认证也不再依赖客户端密钥或密码,而是使用 Managed Identity——本地开发靠 az login 的会话,部署到 Azure 后自动切换为托管标识,同一套代码零改动就能跑。
要构建的就是一个 Node.js Express API,启动时从 Key Vault 拉取 PostgreSQL 的连接凭据。DefaultAzureCredential 自动识别运行环境,凭据拿到后缓存在内存里,后续请求不再反复访问保管库。最终 .env 里只剩一行:保管库名称。有人离职时,仓库里没什么需要轮换的,风险在源头就被掐断。
热门跟贴