繁体   English   中英

Google Cloud Platform 和 FireBase 中 .json 私钥的生产安全性

[英]Production security for .json private keys in Google Cloud Platform and FireBase

我们正在开发一个通过 AppEngine 部署在 GCP 上的全栈平台,并使用 Firebase (Firestore + RealTimeDb) 作为 noSql Db 模块。

我们要直播了,但我有疑问。 现在我们使用 firebase private-key.json 将我们的软件连接到 FireBase,并将它保存到项目中的一个文件夹中,如src/ firebase 并通过以下方式绑定到我们的代码:

admin.credential.cert(require(path))

API 密钥和路径保存到 .env 文件中。

我们使用相同的技术来使用 GCP 客户端库(例如日志系统)。 我还看到 Google 建议 GCP 客户端库使用环境变量,但也表明它们仅在会话期间处于活动状态。

无论如何,为了尊重和优化我们系统的安全性:我们应该使用这些配置还是必须更改它们? 拜托,您有什么建议不要公开凭据并且不要有易受攻击的系统吗?

谢谢你们

将 John Hanley、guillaume blaquiere、al-dann 和 Alex L 的评论作为社区 Wiki 发布以提高可见度。

App Engine 和 Firebase 是不同的服务。 它们的配置文件之间存在差异。

App Engine 不需要service-account.json文件。 使用应用程序默认凭据 (ADC)。 在应用程序源代码中部署service-accout.json文件是service-accout.json

AppEngine 服务有权使用 Firebase 产品(Firestore、Firebase 函数),这应该就足够了。 这意味着您的 Node.js 后端实际上并不需要 API 密钥和 Firebase 私钥。

App Engine 在服务帐户下运行。 可以向该帐户授予相关的 IAM 角色(即roles/datastore.user ),以便它可以与 Firestore 服务一起使用。 如果您愿意 - 您可以将它们保存在不同的项目中。

在这种情况下,您可以参考Node.js 快速入门以获取指导。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM