使用 .env 文件在 Firebase Cloud Functions 中存储 API 密钥(而不是 Google Secret Manager)是否安全?

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

我正在使用 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 吗? 任何建议或最佳实践将不胜感激。谢谢!

firebase google-cloud-platform google-cloud-functions environment-variables google-secret-manager
1个回答
0
投票

您需要具体说明您想要防止哪种类型的滥用角度。

例如:

  • 如果您将 API 密钥保存在放置在 GCP 环境中的
    .env
    文件中,则任何有权访问该环境的人都可以访问您的 API 密钥。
    这是你关心的问题吗?
    • 如果是这样,那么该方法不够安全,无法解决您的担忧。
    • 如果不是,那么该方法足够安全,可以解决该特定问题。
  • 如果您担心只有客户端访问云功能的人是否可以访问 API 密钥,那么在这两种情况下答案都是“否”:使用秘密管理器或像客户端访问那样使用
    .env
    文件不允许查看服务器上的文件(无论是您的云功能的源代码,还是您部署在那里的任何其他文件),除非您自己专门提供此类访问权限。
© www.soinside.com 2019 - 2024. All rights reserved.