Hasty Briefsbeta

双语

Where .env Went Wrong

4 hours ago
  • .env 文件最初是作为设置环境变量的便捷快捷方式,但后来演变为一种用于配置和机密管理的有缺陷的架构。
  • 它们缺乏模式,无法表达某个值是必需的、机密的还是特定于环境的,从而导致后期失败和漂移。
  • .env 文件(例如 .env.production)的泛滥重现了脆弱的命名环境,与十二要素应用原则相矛盾。
  • 没有正式规范;不同的解析器对变量扩展、引号和优先级的处理不一致,导致细微的错误。
  • 安全问题出现,因为 .env 文件常常被提交、复制或泄露,而且它们不提供加密、访问控制或审计。
  • 文章提出了 SecretSpec 作为解决方案:一个已提交的声明文件将需求、受保护的存储和显式交付分开,减少了对环境变量来管理机密的依赖。