我正在开发一个基于 Docker 和微服务的新 ASP.NET Core Web 项目,我想知道是否有一种方法可以避免在appsettings.json.我的问题是如何在项目外部指定机密,以便它们不会意外提交到源代码存储库(使用 Azure Key Vault 或其他东西)。我的期望是结合两个配置提供程序,例如一些外部密钥存储(如果没有其他解决方案或处理此类目的的方法)和应用程序配置。
2 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
一种常见的方法是将机密存储在外部保管库中,例如 Azure Key Vault。它确实需要本地配置(例如证书)来向保管库提供凭据。
它将按照您自己选择的顺序(通过调用config.AddAzureKeyVault
)与您的其他配置参数合并。
为了避免为本地开发环境进行设置,您可以使用本地机密(dotnet user-secrets
命令并以相同的方式将其添加到配置中)。同一 URL 上也有相关文档。请注意,它不是安全存储,实际上它只是磁盘上的纯文本文件。
PS 不涉及外部提供商的事情是可能的。在之前的.Net生态系统中,它被称为web.config
加密。基本上,您加密了 web.config 的部分,并且密钥存储在 Windows 中,只有指定的帐户有权访问它。这是一次噩梦般的经历,但没有使用外部提供商。您可以执行类似于该方法的操作,但我不知道 .net core 是否有开箱即用的功能。
- 2 回答
- 0 关注
- 245 浏览
添加回答
举报
0/150
提交
取消