我正在使用 Firebase Cloud Functions 为 React Native 应用程序构建后端,并且需要安全地存储 API 密钥。我在 Firebase 文档中看到 Google 建议使用 Secret Manager,但由于 Secret Manager 是一项付费服务,因此我正在寻找替代方法来降低成本。
我的设置如下:
API 密钥只能在 Firebase Cloud Functions 内访问,不能在客户端公开。 React Native 应用程序调用 Firebase 函数,后者又在服务器端使用 API 密钥。 鉴于此设置,我正在考虑在函数/目录中使用 .env 文件来存储密钥,然后可以通过我的代码中的 process.env 访问该密钥。
问题:
将敏感信息存储在 Firebase Cloud Functions 内的 .env 文件中是否是一种足够安全的方法? 在这种情况下使用 .env 文件时,是否存在我应该注意的潜在安全风险或部署陷阱? 尽管成本高昂,但这里仍然建议使用 Secret Manager 吗? 任何建议或最佳实践将不胜感激。谢谢!
您需要具体说明您想要防止哪种类型的滥用角度。
例如:
.env
文件中,则任何有权访问该环境的人都可以访问您的 API 密钥。 .env
文件不允许查看服务器上的文件(无论是您的云功能的源代码,还是您部署在那里的任何其他文件),除非您自己专门提供此类访问权限。