gpt4 book ai didi

.net-core - .NET Core - 如何在团队中管理用户 secret

转载 作者:行者123 更新时间:2023-12-01 13:11:53 25 4
gpt4 key购买 nike

storage of secrets .NET Core 很好 documented .

但是,在 .NET Core 世界中,我找不到一篇关于如何在团队之间共享此类信息的好文章。

举例来说,我们有一个 .NET Core 项目,其中的信息存储在 secrets.json 中。并且有 10 个开发人员在使用该项目。

我能想到的选项:

  • 将某些内容检查到源代码管理中 - 似乎违背了这一点(除了不小心将测试设置发布到现场之外)。
  • 只是在我们之间交谈 - 有一种感觉,如果有人添加了一个 secret 并去度假,其他开发人员会浪费时间找出遗漏了什么。如果两个开发人员同时添加一些东西,也可能会导致问题。
  • 忽略 secrets.json并始终使用 Azure KeyVault - 即使对于开发人员。更复杂,我没有在任何地方看到推荐的,但它也适用于构建服务器。缺点是 Vault 可能会因未使用的设置而变得困惑,并且不清楚哪些需要实时复制。

  • 可能还有其他选项我错过了。

    与其他开发人员共享/同步 secret 的最佳方式是什么?

    编辑以下答案:

    走 KeyVault 路线将起作用。如前所述,这需要额外的设置(例如,使用证书)。更多详情请见 Microsoft Docs .

    最佳答案

    尽管这是有偏见的:选择 3,使用 key 保管库。

    免责声明
    关于这个主题有很多博客文章和文档,在这里我将解决问题范围的一个非常狭窄的部分。
    另一种建议是或使用 GitOps/SOPS 之类的方法,如 here 所述

    至于 Vault 选项,它有一些好处,我将列举一些:

  • secret 存储在一个中心位置,使治理和轮换更容易
  • 开发人员不知道 secret ,或者只在需要知道的基础上,这使得它更安全
  • 如果正确实现, secret 就不是版本控制的一部分,这也使其更加安全。

  • 一些骗局
  • 正确设置需要一些时间
  • 它不太灵活,尤其是流程还没有到位。
  • 如果正确实现, secret 就不是版本控制的一部分,这使得恢复更加困难。

  • 详细说明最后一个:在某些情况下,您 需要一个“稳定”和 可恢复 secret ,例如:当客户 需求以特定方式集成,其中 要求 你可以控制一个 secret 。尽管在安全方面这不是最佳实践,但它很常见。一个 GitOps/SOPS更适合这种场景。

    一般来说,越多的开发者可以访问这些 secret ,它就越不安全。
    理想情况下,如果您正确设置它,您最终会在所有环境(测试、暂存产品)中以相同的方式处理此问题。最后,解决方案和过程应该独立于环境,以最大限度地提高生产稳定性。

    但正如我所说;这是有偏见的和基于意见的。

    关于.net-core - .NET Core - 如何在团队中管理用户 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59354047/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com