我正在尝试创建一个 vercel 克隆。 我想知道 vercel 如何处理 API_KEY 或 DB_URL 等秘密变量? 我想了解内部运作。
如果我只是从用户那里获取秘密变量并通常在项目目录中创建一个“.env”文件,那么它是不安全的,使用 bcrypt 进行编码可以是一种解决方法,但我想知道像 vercel 这样的平台如何处理的确切工作原理在项目构建以及运行时环境中执行此类任务。
您可以将您的密钥存储在安全存储中,例如:AWS Secure Storage,
为了安全使用密钥,您可以遵循这些注入
对于运行时机密(例如数据库凭据),应用程序的环境可以在启动时填充必要的机密。这意味着秘密仅存在于内存中,不会写入磁盘。
对于构建时机密(例如构建过程中所需的 API 密钥),将它们注入构建环境中。确保构建系统清理所有环境变量。