1

我正在使用配置文件来存储数据库的密码/密钥以及与 AWS 等其他服务的连接。

我正在使用 Travis CI 进行构建,运行我的测试,然后将其部署到实时服务器。

我想加密我的配置文件中的变量,只有应用程序才能读取它。这是标准——

1)应用程序应该能够在多个环境中解密它,从构建服务器到多个部署服务器。

2) 用于解密配置文件的密码对开发者不可用。

该项目在 clojure 中,是否有任何 leiningen 插件/功能可以帮助实现这一点?

谢谢,穆尔塔萨

4

1 回答 1

1

我认为您尝试做的最好的解决方案就是从应用程序源代码树中删除配置文件。将配置文件保存到构建和部署服务器,不要让开发人员直接访问这些文件。

你试图做的主要问题是你试图让你的开发人员无法访问某些东西,但同时让开发人员可以完全控制的东西,应用程序代码,拥有访问相同的东西。也就是说,为了使应用程序能够解密配置,开发人员必须有权访问解密密钥。

您可以尝试仅通过仅在构建和部署服务器上可用的工具(即 Leiningen 插件)来解密您的配置,但单独存储配置文件会更简单。

于 2012-09-28T15:21:47.410 回答