是否可以将 API 密钥和 .env 文件提交到私人业务仓库?

Posted

技术标签:

【中文标题】是否可以将 API 密钥和 .env 文件提交到私人业务仓库?【英文标题】:Is it acceptable to commit API Keys and .env files to a private business repo? 【发布时间】:2019-10-28 01:10:29 【问题描述】:

我进行了搜索,但令人惊讶的是没有找到答案。现在,我们不会将我们的 API Keys/.env 文件提交到一个不断壮大的 4 人团队正在处理的存储库中。每当我们更改某些内容(例如数据库密码)时,我们都会通过 Slack 将其发送给彼此。

考虑到我们的仓库是私有的,不可分叉的,而且只有员工才能访问,这似乎毫无意义。

我能看出这个问题的唯一方法是:

    员工不小心公开了 repo。虽然这无论如何都会是一场灾难,因为我们的整个代码库都是公开的,所以我看不出更改密钥和密码将是我们最关心的问题。 员工帐户被盗用。见上文 ^(我们也强制执行 MFA 作为安慰)。 GitHub 本身遭到破坏,这又是我们面临的更大问题(以及大多数软件公司)。 在此处插入模糊的 Microsoft 阴谋

我们是否有理由继续这种做法,或者我们可以只提交我们的.env 文件?

【问题讨论】:

这可能应该关闭,因为它是自以为是的,但请考虑一下。有人设法访问您的仓库。太糟糕了,您的所有代码都被破坏并流落街头。如果您提交了 api 密钥等,那么不仅您的代码,而且与您的应用程序有关的所有内容都在大街上。您的整个 S3 存储、所有电子邮件帐户、所有 Stripe 信息等等等等。TL;DR 请不要提交您的密钥。请不要。 zdnet.com/article/… 大多数(如果不是全部)Git 存储库管理器允许添加环境变量。您可以将这些变量用于管道和彼此共享。赢得胜利。 5.员工阴谋:具有合法访问权限的人使用 API 密钥和密码克隆了存储库。后来她被踢了。现在您的密钥和密码掌握在不忠诚的前雇员手中。 无论如何他们都应该这样做,因为他们需要那些在本地运行 Repo 并连接到数据库。雇用员工时会交换密码。 dzone.com/articles/git-secrets-api-keys 【参考方案1】:

我们现在使用ENVKEY 来解决这个问题。

【讨论】:

以上是关于是否可以将 API 密钥和 .env 文件提交到私人业务仓库?的主要内容,如果未能解决你的问题,请参考以下文章

API 密钥是不是通过 get 请求公开?

将 .env 文件添加到 React 项目

如何使用 process.env 将环境变量中的 API 密钥传递给 Ember CLI?

在 React 中隐藏 API 密钥

如何使用 React + Webpack 应用程序存储和访问我的 API 密钥?

如何为 rspec 设置 ENV 变量?