【发布时间】:2021-04-15 13:51:48
【问题描述】:
我正在设置一个 NodeJS 后端,它需要保存一些 API 密钥,以便与其他 Firebase 联系以对用户进行身份验证。
我已经能够发布后端并成功地从其上的 API 端点获得 HTTP 回复。我使用 Express 来运行 NodeJS API。
现在我希望 NodeJS API 充当我的用户和数据库联系点。但我不确定在哪里可以安全地存储项目的 API 密钥。因为我对这种类型的安全性比较陌生。
所以,我搜索了一下,发现人们说 .env 文件不是存储 API 密钥的安全地方。然而在DigitalOcean documentation 上却说:
环境变量是存储敏感信息(例如 API 密钥)或需要从应用中的任何位置全局访问的信息(例如版本号或硬编码路径)的绝佳位置。
所以我的问题是,为什么 DigitalOcean 会说在环境变量中存储 API 密钥是安全的,而许多其他来源说它不是。这是因为危险在于文件的可访问性,然后 DigitalOcean 以某种方式保护了文件? 我注意到他们有一个可以勾选的“秘密”布尔框,表示它不会出现在控制台中。但是一般人也会完全无法访问吗?
我主要关心的是防止黑客或不怀好意的人访问 API 密钥。我不担心拥有合法访问权限的人会滥用它,只有没有合法访问权限的人会滥用它。
期待您的见解。
【问题讨论】:
标签: javascript node.js security backend digital-ocean