本地机密存储是敏感数据的最佳做法吗? [关闭]
Posted
技术标签:
【中文标题】本地机密存储是敏感数据的最佳做法吗? [关闭]【英文标题】:Is local secret store best practice for sensitive data? [closed] 【发布时间】:2021-11-20 20:02:10 【问题描述】:我在一个团队项目中使用 Azure 应用程序配置,我想知道存储连接字符串的最佳方式是什么,以便它受到保护,但不是每个开发人员都必须将它安装到他的本地机密存储中?
对于生产,我正在考虑将其存储在应用程序将获得的环境变量中(它是一个 Azure Web 应用程序)。
存储用于开发的 conn 字符串并将其存储在环境变量中的最佳实践是什么?
【问题讨论】:
【参考方案1】:最佳做法是使用 Azure Key Vault 并将连接字符串存储在其上。然后,将托管标识添加到您的 Web 应用程序并创建一个策略,这样只有您的 Web 应用程序才能检索连接字符串。
此外,您可以在 SQL 数据库中授予托管身份连接的权限(而不是用户名和密码)。即使连接字符串泄露,黑客也无法冒充您的网络应用。
编辑:添加更多链接
how to use managed identities to connect to sql
access policy to enable managed identities to connect to Key Vault
【讨论】:
这很好,但是如何在本地调试时访问 Key Vault? 不同环境的不同密钥库 @ThiagoCustodio 是正确的,只要密钥名称相同,唯一的区别就是 dev keyvault 与 prod keyvault 的 URL。我们在这里有一个 KeyVault 学习路径,涵盖了这种情况。 docs.microsoft.com/en-us/learn/modules/… 是的,太棒了 那么我在哪里存储 prod KeyVault 连接字符串呢?如果你说我应该将它存储在不同的应用程序配置中并通过另一个 KeyVault 访问它,我会说你错过了重点。 @mummy 你错过了这里的重点。使用托管标识消除了使用连接字符串的需要。所以你不需要存储它。对于本地开发,请参阅docs.microsoft.com/en-us/dotnet/api/overview/azure/…以上是关于本地机密存储是敏感数据的最佳做法吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章