我正在玩.netcore并尝试使用用户秘密商店,有些细节在这里:https://docs.asp.net/en/latest/security/app-secrets.html
我在本地工作时相处得很好,但是我很难理解如何在团队环境中有效利用它,以及我是否想从多台计算机上处理这个项目。 / p>
商店本身(至少在默认情况下)将其配置json文件保存在users / appdata(在Windows上)中。如果你将项目上传到github,隐藏你的API密钥,连接字符串等,这个功能很好用。当它只是我,在一台机器上工作时,这一切都很棒。但是,在团队环境中或多台机器上工作时,这是如何工作的?我唯一能想到的是找到配置文件,将其检入私有仓库,并确保在发生更改时将其替换到正确的目录中。
还有另一种管理方法,我不知道吗?
答案 0 :(得分:4)
正如您所知,Secret Manager工具提供了另一种方法,可以通过添加此控制层来避免将敏感数据检入源代码管理。
那么,我们应该在哪里存储敏感配置呢?该位置显然应与您的源代码分开,更重要的是,安全。它可以位于单独的私有存储库,受保护的文件共享,文档管理系统等中。
然而,我建议保留一个脚本(例如.bat文件),而不是查找和共享确切的配置文件,您将在每台计算机上运行以设置您的机密。例如:
dotnet user-secrets set MySecret1 ValueOfMySecret1 --project c:\work\WebApp1
dotnet user-secrets set MySecret2 ValueOfMySecret2 --project c:\work\WebApp1
这在机器之间更容易移植,避免了解在哪里查找和复制配置文件的麻烦。
此外,对于这些设置,请考虑您是否需要在团队中的所有开发人员中使用它们。对于本地开发,我通常希望能够控制安装,使用和命名资源的方式与我团队中的其他资源不同。当然,这取决于您的情况和偏好,我也看到了分享它们的理由。