如何管理非对称密钥而不将其检入源代码管理?

时间:2012-09-20 06:06:29

标签: google-app-engine jenkins jenkins-plugins

我有一个谷歌应用引擎应用程序需要给予公钥 - 私钥对。我不想将其检查为源代码控制,因为它可以被太多人访问。由于这是GAE,我无法使用构建系统将密钥写入服务器的文件系统。

这是否有一个已知的最佳做法? 我的第一个念头是Jenkins提供了一种安全管理密钥的方法吗?我知道我可以将密钥复制到jenkins服务器上的某个位置并将它们复制到构建中,但是这个项目将由第三方团队使用,因此我需要在jenkins中提供基于UI的解决方案。我没有找到任何相关的插件,但我想确保在编写自己的插件之前没有更好的方法。

2 个答案:

答案 0 :(得分:1)

当然有几种方法。我相信证书是管理员的关注,而不是开发人员。

我们所做的是custom admin pages我们将证书上传到不同命名空间下的blobstore。然后我们有一个内部“服务”(只是一个简单的工厂),以便其他代码可以检索证书。

答案 1 :(得分:1)

如果您乐意使用基于云的Jenkins,我们(CloudBees)在appengine.cloudbees.com

拥有基于oauth的解决方案

你可以自己动手。这并不是太棘手。你需要

  1. 注册google的api控制台以获取客户端密钥和密码并定义应用将显示的端点

  2. 如果将这些凭据提供给Jenkins构建,请写一些方法。我建议使用凭证插件

  3. 编写一个构建包装器,将刷新令牌公开给你的构建(python sdk部署)或公开访问令牌(java sdk ...好心,两个sdks以不同的方式做同样的事情)

  4. 或使用我们的免费服务; - )