如何安全地向 Cloud Foundry 应用程序提供私有 SSL 密钥?

How to securely provide private SSL keys to Cloud Foundry apps?

我想在 Cloud Foundry(特别是在 IBM Bluemix)中 运行 应用程序。此应用程序将呼叫许多第三方 services/APIs,其中大部分不是通过 CF 服务管理的。其中一个 API 要求我的应用使用 SSL 密钥进行身份验证,因此我的应用需要访问私有 SSL 密钥。

我的应用程序是从一个自动化管道(特别是 IBM Bluemix DevOps Pipelines)部署的,该管道基于 GitHub 存储库的源代码和一些保存在管道配置中的小脚本。

将私钥文件保存在源代码管理中似乎是个坏主意,而且我认为没有任何地方可以将它保存在管道配置中,所以我有什么选择可以让它对应用程序可用同时保持安全?

我读过这篇文章:Keeping secrets – how your cloud application should access credentials and other private data,其中说可以通过环境变量或 Cloud Foundry 用户提供的服务 获得机密、密码等.

谷歌搜索以了解这是否是 SSL 密钥的合适选项,我找到了这个 Cloud Foundry 页面:Understanding Cloud Foundry Security 上面写着 "Store SSL keys securely to prevent disclosure, and promptly replace lost or compromised keys.",但没有说明如何存储它们安全地让它们可供您的应用程序使用。

那么我可以使用哪些选项来存储私钥并使其可供我的 CF 应用程序使用,同时不将其存储在我的源代码管理中?

注意:我相信我想要cf ssh功能,因为那是为了连接到应用程序(如果我没有理解错的话),不适用于连接外出的应用程序。

同意 - 将密钥保存在源代码管理中是不好的做法。

Bluemix 有一项名为 Key Protect 的服务,它应该能准确提供您正在寻找的内容。

Docs here

或者,您可以使用许多其他第 3 方提供商来执行此操作。