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



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

我们要直播了,但我有个疑问。现在我们使用Firebaseprivate-key.json来连接我们的软件Firebase它被保存到项目中的一个文件夹中,比如src/firebase它通过

绑定到我们的代码中
admin.credential.cert(require(path))

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

我们使用相同的技术来使用GCP客户端库(例如,Logging system)。我还看到,对于GCP客户端库,Google建议使用环境变量,但也指出它们仅在会话期间是活动的。

无论如何,为了尊重和优化我们系统的安全性:我们应该继续使用这些配置还是我们必须改变它们?请问,你有什么建议,不要暴露凭证,不要有一个易受攻击的系统?

谢谢大家

将John Hanley, guillaume blaquiere, al-dann和Alex L的评论作为社区Wiki发布。

App Engine和Firebase是不同的服务。它们的配置文件是不同的。

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

AppEngine服务具有使用Firebase产品(Firestore, Firebase功能)的权限,这应该足够了。这意味着你并不需要在你的Node.js后端使用API Key和Firebase私钥。

App Engine在服务帐户下运行。可以将相关的IAM角色授予该帐户(即roles/datastore.user),因此它可以与Firestore服务一起工作。如果你愿意,你可以把它们放在不同的项目中。

在这种情况下,你可以参考Node.js快速入门。

相关内容

  • 没有找到相关文章

最新更新