【问题标题】:Is local secret store best practice for sensitive data? [closed]本地机密存储是敏感数据的最佳做法吗? [关闭]
【发布时间】:2021-11-20 20:02:10
【问题描述】:

我在一个团队项目中使用 Azure 应用程序配置,我想知道存储连接字符串的最佳方式是什么,以便它受到保护,但不是每个开发人员都必须将它安装到他的本地机密存储中?

对于生产,我正在考虑将其存储在应用程序将获得的环境变量中(它是一个 Azure Web 应用程序)。

存储用于开发的 conn 字符串并将其存储在环境变量中的最佳实践是什么?

【问题讨论】:

    标签: azure design-patterns azure-webapps azure-app-configuration


    【解决方案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/…
    猜你喜欢
    • 2013-04-01
    • 2012-05-10
    • 2021-04-10
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多