【问题标题】:Google Cloud KMS server install谷歌云 KMS 服务器安装
【发布时间】:2017-12-12 09:55:22
【问题描述】:

我想从源代码控制存储库在谷歌云计算引擎微实例上部署节点应用程序。

作为此部署的一部分,我想使用 KMS 来存储数据库凭据,而不是将它们放在我的源代码控制中。要从 KMS 获取凭据,我首先需要使用 GCLOUD 在实例上进行身份验证。

将 GCloud CLI 作为启动脚本的一部分安装并让默认服务帐户处理身份验证是否安全?然后使用它来提取解密的详细信息并将它们保存到文件中?

文档演练开发示例,但我没有找到任何关于这在生产中应该如何工作的信息,尤其是因为我显然也不想将 GCloud 凭据存储在源代码管理中。

【问题讨论】:

    标签: google-cloud-platform google-compute-engine google-cloud-kms


    【解决方案1】:

    是的,这正是我们的建议:使用默认服务帐户向 KMS 进行身份验证并解密其中包含凭据的文件。您可以将生成的数据存储在一个文件中,但我通常要么将其直接通过管道传输到需要它的服务,要么将其放入 tmpfs 中,因此它只存储在 RAM 中。

    您可以将加密的凭据文件检入您的源代码库,将其存储在 Google Cloud Storage 或其他位置。 (您使用其他帐户(例如您的个人帐户或其他服务帐户)创建加密文件,该帐户对 KMS 密钥具有打包但不解包访问权限,以加密凭据文件。

    如果你使用这种方法,你有一个干净的控制线:

    • 您的管理用户身份验证限制了将代码作为受信任的服务帐户运行的能力。
    • 只有该服务帐户才能解密凭据。
    • 无需在任何地方以明文形式存储秘密

    感谢您使用 Google Cloud KMS!

    【讨论】:

    • 使用systemd ExecStartPre运行glcoud解密文件可以吗?
    • 是的,这正是我的意图,虽然我不是系统专家,也无法谈论该特定机制的优缺点。
    猜你喜欢
    • 2017-11-14
    • 1970-01-01
    • 2014-10-26
    • 2019-04-22
    • 2018-07-09
    • 2021-02-12
    • 2018-11-14
    • 2013-08-16
    • 1970-01-01
    相关资源
    最近更新 更多