我想从源控件仓库在Google云计算引擎微型实例上部署节点应用程序。
作为此部署的一部分,我想使用KMS存储数据库凭据,而不是将它们放在源代码管理中。要从KMS获取凭据,我需要首先使用GCLOUD对实例进行身份验证。
将GCloud CLI作为启动脚本的一部分安装并让默认服务帐户处理身份验证是否安全?然后用它来提取解密的细节并将它们保存到文件中?
文档演练开发示例,但我没有发现它在生产中应该如何工作,特别是因为我显然不想将GCloud凭据存储在源代码控制中。
答案 0 :(得分:1)
是的,这正是我们的建议:使用默认服务帐户对KMS进行身份验证,并使用其中的凭据解密文件。您可以将结果数据存储在一个文件中,但我通常要么将其直接传送到需要它的服务,要么将它放在tmpfs中,因此它只存储在RAM中。
您可以将加密的凭据文件检入源存储库,将其存储在Google云端存储中或其他位置。 (您使用其他帐户创建加密文件,例如您的个人帐户或其他服务帐户,它对KMS密钥具有包装但不解包访问权限,以加密凭证文件。)
如果您使用此方法,则您拥有一条简洁的控制线:
感谢您使用Google Cloud KMS!