.net - 如何在Azure中正确存储连接字符串?

标签 .net security azure configuration connection-string

SQL azure 连接字符串始终包含密码(因为 Azure SQL Server 不支持操作系统身份验证),这使得将它们保存在 web.config 文件中不安全。您可以在网上找到的典型建议是将它们移至云配置设置,这意味着在 ServiceDefinition.csdef 文件的 ServiceDefinition/WebRole/ConfigurationSettings 部分中声明一个设置,以便您可以在门户中编辑它们:

enter image description here

此方法的问题是,每当您重新部署站点时,您在门户中设置的设置都会被 ServiceConfiguration.*.cscfg 中的值覆盖。当然,您可以将连接字符串放入文件中,但这毫无意义,因为您仍然将 secret 保留在源代码管理中。

Azure Key Vault可能是一个很好的解决方案,但我想在走这条路之前探索其他选择。您会推荐什么?

最佳答案

为您的服务创建托管身份,并使用 key 保管库将访问策略添加到 key 保管库。无需存储客户端 secret ,所有配置都以安全方式存储。

关于.net - 如何在Azure中正确存储连接字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40706406/

相关文章:

.net - 用于从 Appfabric 缓存中删除项目的 Powershell 命令

c# - 可观察管道中的异常处理

security - 如何限制特定主机对 Cassandra 的访问?

linux - 通过 Azure Devops 将 docker 镜像部署到 Linux 上的 Web 应用程序失败

c# - 按名称获取字段

c# - EF6 异步方法困惑

mysql - 使用php将纯文本转换为mysql数据库,并在需要时将其作为纯文本取回

php - 防止对用户在 PHP 中提交的 HTML 内容进行 XSS 攻击,eBay 方式

Multi-Tenancy 应用程序的 Azure AD Graph 对象 ID 对于每个租户都是唯一的,如何动态获取 servicePrincipal ID?

c# - AspNetCoreModuleV2问题.NET Core 3.0