.net-core – 存储Azure Vault客户端ID和客户端密钥
我正在使用.NET Core 2.0和ASP.NET Core 2.0进行应用程序开发. “test”应用程序是.NET Core Console应用程序.我写的核心代码是一个类库.一旦正确测试.我选择这样做,因为我不会暂时使用它(它正在替换旧的ASPNET代码).
无论如何,由于我必须使用大量的API密钥来处理各种服务,所以我决定使用Microsoft Azure Key Vault来存储密钥.我有这个设置,并了解它是如何工作的.测试应用程序使用测试Azure帐户,因此它并不重要.由于这是替换遗留代码并且它处于起步阶段,我是唯一的开发人员. 基本上,我遇到了这个问题.从我所看到的Azure Key Vault上没有太多信息.很多示例都将客户端ID和密钥存储在纯文本json文件中(例如:https://www.humankode.com/asp-net-core/how-to-store-secrets-in-azure-key-vault-using-net-core).我真的不明白这是如何安全的.如果有人要获得这些密钥,他们可以轻松访问Azure存储的信息,对吧? Microsoft MSDN有一个授权访问的powershell命令(我丢失了原始链接,这是我能找到的最接近的链接:https://www.red-gate.com/simple-talk/cloud/platform-as-a-service/setting-up-and-configuring-an-azure-key-vault/)我的开发操作系统是Windows 10,我的主服务器操作系统是Debian. 我该如何处理? 解决方法
是的,你是对的,纯文本配置文件只能在开发期间使用,不能用于生产目的.通常,可用选项取决于您托管应用程序的位置和方式.
如果您有Azure Web App,则至少有下一个内置选项(from the documentation):
您还可以找到一种使用env变量来存储凭据的方法.只有在可以保证不能在prod机器上执行env变量的快照时,这可能没问题.请查看Environment Variables Considered Harmful for Your Secrets了解更多详情. 最后一件事:还有一种基于这个想法的技术,你需要存储/传递ClientSecret值,而ClientId应该根据托管App的机器/容器细节构建(例如docker container id) .我找到了一个Hashicorp Vault和一个在AWS上托管的应用程序的示例,但总的想法是相同的:Secret management with Vault (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – MVC5中的Bundle.IncludeDirectory输出错误的
- asp.net – 用html拒绝基于Ajax JSON的帖子
- 将ASP.NET应用程序连接到QuickBooks Online Edition
- asp.net-mvc – 在ASP.NET核心中创建单元测试
- ASP.NET Core Identity核心知识
- asp.net – 在DataBind上默认为空值
- asp.net-mvc – Html.ActionLink给出错误:无法解决操作
- asp.net-core – 针对每个记录器定位不同的提供程序
- asp.net-mvc-3 – 避免服务器端Razor视图和客户端jQuery模板
- asp.net – SESSION VARIABLES的替代品是什么?
- asp.net – 实现实时UI更新的最佳方式,如SO的“新
- asp.net – 内联JavaScript的外部JavaScript文件
- ASP.NET Ajax – Asynch请求有单独的会话吗?
- asp.net – .NET Ionic.Zip模块查杀驱动器空间
- 如何在asp.net中使用javascript为下拉列表框设置
- 如何使用asp.net mvc和razor模板引擎从c#中获取路
- 在Azure网络应用程序中显示ASP.NET 5错误页面
- asp.net – ContentPlaceHolder可以放在Web用户控
- 新版本 swagger 组件中 Servers 的 坑
- 在Mono上使用F#和ASP.NET Webforms