首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用存储在函数中的API密钥

如何使用存储在函数中的API密钥
EN

Stack Overflow用户
提问于 2022-01-27 02:50:01
回答 2查看 657关注 0票数 0

我试图在我的反应网站上使用Google托管的MailChimp API。我试图使用云函数和环境配置来存储API密钥。但是,在设置这些配置变量之后,我并不完全确定如何访问它们。这些变量是在我的整个react应用程序中全局化的,还是我需要以某种方式导入它们?

我正在尝试下面列出的文档:https://firebase.google.com/docs/functions/config-env

以下是我的文件结构:

EN

回答 2

Stack Overflow用户

发布于 2022-01-27 04:06:09

API键仅在已部署的函数中可用,而在react应用程序中不可用。您可以从您的react应用程序中调用一个函数,然后该应用程序调用MailChimp API。这使您的API密钥远离客户端代码,从而保证了它的安全。

如文档所述,使用终端中的CLI设置API键。

代码语言:javascript
复制
firebase functions:config:set someservice.key="THE API KEY" someservice.id="THE CLIENT ID"

然后,您可以通过调用

代码语言:javascript
复制
const apiKey = functions.config().someservice.key
票数 1
EN

Stack Overflow用户

发布于 2022-01-27 13:03:32

Firebase可以使用,您可以在您的功能上集成GCP秘密管理器。谷歌秘密管理器是一个完全管理,安全,方便的存储系统,这样的秘密.

开发人员历来利用环境变量或文件系统来管理云函数中的秘密。这主要是因为与秘密管理器集成需要开发人员编写自定义代码…直到现在。使用此服务,您可以存储原始密钥(这些密钥将被加密)并通过代码函数检索,这具有通过云IAM和服务帐户限制访问的好处。此外,这还可以帮助您定义项目的哪些成员或哪些服务帐户可以访问API密钥(机密)--可以配置对机密的权限,以便即使开发人员也无法看到生产环境密钥,方法是将访问权限分配给机密,但允许函数获取机密(因为与您的函数关联的服务帐户可以读取机密)。

其他好处包括:

  • 代码没有变化。已经通过环境变量或与源上载捆绑在一起的文件来消耗机密的云函数在部署期间只需要附加一个标志。云函数服务在运行时解析和注入秘密,明文值仅在进程中可见。
  • 易于环境隔离。在多个环境中使用相同的代码基很容易,例如,dev、暂存和prod,因为秘密与代码分离,并在运行时被解析。
  • 支持12因素应用程序模式。由于秘密可以在运行时注入到环境变量中,所以本机集成支持12因素模式,同时提供更强的安全保证。
  • 集中式秘密存储、访问和审核。利用秘密管理器作为集中式机密管理解决方案,可以轻松管理访问控制、审核和访问日志。

在本文档中,您可以在JS中找到关于如何使用GCP秘密管理器的代码示例

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70872738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档