是否可以检索 Firebase Cloud Function 源代码?
Is it possible to retrieve Firebase Cloud Function source code?
我正在编写一些 Firebase 云函数,但我需要隐藏私钥,包括来自 Firebase 项目管理员的私钥。
如果我将此密钥嵌入到我的源代码中并自行上传代码,是否任何人都可以检索源代码并因此检索密钥?通过 Firebase 或 Google?
非常感谢
您的应用用户永远无法访问您的 Cloud Functions 代码。
但是,您的 Firebase 项目的协作者可以访问它。参见
我认为没有任何方法可以对协作者隐藏此类配置值。由于他们可以 see/deploy 编写代码,并且代码需要访问此私钥,因此根据定义他们也可以访问密钥。
可能设置环境变量:
准确回答您的问题:是的,他们可以。
一步步实现即比较简单
- 进入GCP Functions页面
- Select 您要检查的功能
- 单击源(从那里您应该能够看到该函数使用的所有文件和代码),或者;
- 点击变量(从那里你应该看到你的函数使用的所有环境变量)
如果人们能够看到 env 变量对您来说有问题,这里有一种方法可以使事情更安全:
您可以在已有的基础上进行构建,并在将这些密钥添加到代码库或环境变量之前开始加密这些密钥。之后,您可以使用 KMS 等加密服务在运行时解密这些密钥。在 KMS 本身中,您可以在那里设置更严格的策略,只允许您自己和函数访问该服务。
GCP 的另一项出色服务是 Google's Secret Manager
我正在编写一些 Firebase 云函数,但我需要隐藏私钥,包括来自 Firebase 项目管理员的私钥。
如果我将此密钥嵌入到我的源代码中并自行上传代码,是否任何人都可以检索源代码并因此检索密钥?通过 Firebase 或 Google?
非常感谢
您的应用用户永远无法访问您的 Cloud Functions 代码。
但是,您的 Firebase 项目的协作者可以访问它。参见
我认为没有任何方法可以对协作者隐藏此类配置值。由于他们可以 see/deploy 编写代码,并且代码需要访问此私钥,因此根据定义他们也可以访问密钥。
可能设置环境变量:
准确回答您的问题:是的,他们可以。
一步步实现即比较简单
- 进入GCP Functions页面
- Select 您要检查的功能
- 单击源(从那里您应该能够看到该函数使用的所有文件和代码),或者;
- 点击变量(从那里你应该看到你的函数使用的所有环境变量)
如果人们能够看到 env 变量对您来说有问题,这里有一种方法可以使事情更安全:
您可以在已有的基础上进行构建,并在将这些密钥添加到代码库或环境变量之前开始加密这些密钥。之后,您可以使用 KMS 等加密服务在运行时解密这些密钥。在 KMS 本身中,您可以在那里设置更严格的策略,只允许您自己和函数访问该服务。
GCP 的另一项出色服务是 Google's Secret Manager