是否可以将 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 文件提交到私人业务仓库?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 process.env 将环境变量中的 API 密钥传递给 Ember CLI?