iis - 将 asp.net 核心配置排除在源代码和管道之外
问题描述
我正在开发一个 asp.net 核心项目,我正在尝试弄清楚如何让我的源代码和管道 100% 保密。
我有一个运行 azure 代理的 VM 和一个用于构建和发布的 azure dev ops 管道。如果我删除 VM 上的站点,发布管道将自动为我重新创建它并部署最新版本。
超酷。
现在我阅读了配置 .Net 核心应用程序的最佳实践,并找到了这篇文章:https ://www.humankode.com/asp-net-core/asp-net-core-configuration-best-practices-for-保守秘密,不受源代码控制
因此,在代码中保密是个坏主意,这是完全合理的。但是,如果我将相同的安全主体应用于 Yaml,那么我当然也不应该在我的管道中放置秘密。但我需要管道能够从头开始重新创建站点,并且它应该可以正常工作。不知何故,该站点需要知道它的默认 sql 连接在哪里,或者它需要有一个 azure 应用配置服务的密钥。我不必在每次发布后都登录虚拟机并手动创建 appsettings.json!
因此,无论站点需要操作什么,都需要包含在管道中,因此需要一些工件,或者包含在代码中。
我已经用谷歌搜索了好几天,但我似乎找不到任何关于如何完全自动化的信息。我考虑过创建一个从实际 VM 注册表读取的自定义配置提供程序,但这也感觉不对。我基本上需要一个不在站点本身托管的配置选项。所以我在虚拟机上设置了一次,再也没有。
解决方案
推荐阅读
- javascript - 在循环内调用具有不同 api 参数值的相同 web api
- javascript - Xcode 10 更新后 React Native 无法正常工作
- postgresql - postgresql 中的交叉表函数导致无效的内存分配请求大小
- assembly - 编写一个 ARM 汇编语言程序来计算第 n 个斐波那契数
- prolog - 如何从问题中打印变量值?
- php - 试图将实际日期与天数相匹配
- html - 导航中的下拉菜单定位
- python - 条件语句中的 return 语句在 Python 中给出了意想不到的结果
- ios - 更改 Xamarin.IOS 中的构建设置以符合 IOS 12 更改
- spring - 模板引擎与静态资源