在 firebase 项目中存储机密:Firebase config API 还是 Secret Manager API?

问题描述

为了从云函数访问机密,Google 提供了 Secret Manager API

Secret Manager 存储 API 密钥、密码、证书和其他敏感数据。它在提高安全性的同时提供了便利。

另一方面,Firebase 建议通过其文档和示例中明确提到的 Environment configuration API 存储机密:

通常,您需要对功能进行额外配置,例如第三方 API 密钥或可调设置。 Firebase SDK for Cloud Functions 提供内置环境配置,让您可以轻松地为您的项目存储和检索此类数据。

问题:

Firebase 的配置 API 处理数据的方式似乎更加简单,而且是免费的,这使得用于 Firebase 项目而不是 Secret Manager API 更具吸引力。

在 Firebase 项目的上下文中比较这两个 API 的优缺点是什么?最重要的是,在使用 Firebase 的配置 API 而不是 Secret Manager API 时,在安全方面是否存在任何缺陷?

解决方法

除了您所指出的之外,主要区别在于 Secret Manager 具有审计、精细访问控制、版本控制和多区域复制等功能。

我将提交一个关于制作“比较”页面的内部问题,以使其更清楚。