本地机密存储是敏感数据的最佳做法吗? [关闭]

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/…

以上是关于本地机密存储是敏感数据的最佳做法吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 应用程序中存储机密、密钥、令牌、加密密钥等关键敏感信息

本地存储可以被认为是安全的吗? [关闭]

kubernetes管理机密信息

这种数据加密/存储方法安全吗? [关闭]

存储在 aws 机密管理器中的 Azure 机密

将敏感数据存储在本地存储或会话存储中是不是安全? Localstorage 允许对敏感数据进行任何攻击