在KMS中安全存储应用程序默认凭据

问题描述 投票:0回答:1

我们有一个使用Google Auth允许使用的Java应用。该应用需要连接到受IP限制限制的Google Cloud SQL数据库。

我们需要将Cloud SQL Socket Factory与Cloud SQL Proxy一起使用来访问数据库,这需要带有环境变量GOOGLE_APPLICATION_CREDENTIALS的Application Default Credentials指向服务帐户凭据JSON文件。我不确定如何安全地存储此文件,将该文件放在用户的PC上显然是不安全的。

根据https://cloud.google.com/docs/authentication/production的最佳做法,它说

您可以使用指向应用程序源代码之外的凭据的环境变量,例如Cloud Key Management Service。

但这不会继续解释如何做。如何以仅授权的Google帐户可以访问的方式安全地,以KMS或其他方式存储此文件?

google-cloud-platform google-cloud-sql google-cloud-kms cloud-sql-proxy
1个回答
0
投票

[您是正确的:使用服务帐户密钥文件不是一个好习惯,而且是安全漏洞(除了将其安全地存储在计算机上之外,还必须每90天旋转一次,您可以复制文件,然后通过电子邮件,甚至在git repo上公开提交!)

但是,对于使用云SQL代理,您只需使用自己的凭据即可。执行gcloud auth application-default login。确保您的用户已在数据库上获得授权,仅此而已!

注意:启动云SQL代理时请确保不要使用参数-credential

© www.soinside.com 2019 - 2024. All rights reserved.