但是,在 .NET Core 世界中,我找不到一篇关于如何在团队之间共享此类信息的好文章。
举例来说,我们有一个 .NET Core 项目,其中存储了信息,secrets.json并且有 10 个开发人员在使用该项目。
我能想到的选项:
将某些内容检查到源代码管理中 - 似乎违背了这一点(除了不小心将测试设置发布到现场之外)。
只是在我们之间交谈 - 有一种感觉,如果有人添加了一个秘密并去度假,其他开发人员会浪费时间找出遗漏了什么。如果两个开发人员同时添加一些东西,也可能会导致问题。
忽略secrets.json并始终使用Azure KeyVault - 即使对于开发人员也是如此。更复杂,我没有在任何地方看到推荐的,但它也适用于构建服务器。缺点是 Vault 可能会因未使用的设置而变得混乱,并且不清楚哪些需要实时复制。
可能还有其他选项我错过了。
与其他开发人员共享/同步秘密的最佳方式是什么?
编辑以下答案:
走 KeyVault 路线将起作用。如前所述,这需要额外的设置(例如,使用证书)。Microsoft Docs中的更多详细信息。
尽管这是有偏见的:选择 3,使用密钥保管库。
关于这个主题有很多博客文章和文档,在这里我将解决问题范围的一小部分。
另一种建议是使用 GitOps/SOPS 等方法,如此处所述
至于 Vault 选项,它有一些好处,我将列举一些:
一些骗局
详细说明最后一个:在某些情况下,您需要“稳定”且可恢复的秘密,例如:当客户端需要以特定方式集成时,这需要您控制秘密。尽管从安全角度来看这不是最佳实践,但它很常见。GitOps /SOPS更适合这种情况。
一般来说,访问秘密的开发人员越多,它就越不安全。
理想情况下,如果您设置正确,您最终将在所有环境(测试、暂存产品)中以相同的方式处理此问题。最后,解决方案和工艺应该独立于环境,以最大限度地提高生产稳定性。
但正如我所说;这是有偏见的、基于观点的。
| 归档时间: |
|
| 查看次数: |
138 次 |
| 最近记录: |