我们已经创建了一个 Web 应用程序,它现在将用于用户身份验证的用户名和密码存储在数据库中。因此,我可以将这些凭据存储在 keyvault 中以更安全,而不是存储在数据库中。或者您能否告诉我以非常安全的方式存储这些详细信息以进行授权的正确位置?Ps : 我们不喜欢通过 Oauth 提供者授权用户
提前致谢。
我们已经创建了一个 Web 应用程序,它现在将用于用户身份验证的用户名和密码存储在数据库中。因此,我可以将这些凭据存储在 keyvault 中以更安全,而不是存储在数据库中。或者您能否告诉我以非常安全的方式存储这些详细信息以进行授权的正确位置?Ps : 我们不喜欢通过 Oauth 提供者授权用户
提前致谢。
据我所知,我们可以将用户名和密码存储到密钥库中。
您可以将用户名存储为密钥,将密码存储为保管库。
在 Web 应用程序中,您可以使用 AD auth 连接到 azure keyvault。然后您可以安装 Microsoft.Azure.KeyVault 包并使用KeyVaultClient类来 CURD 密钥保管库。
有关如何在 C# 中使用它的更多详细信息,您可以参考这篇文章。
但是,我不建议您使用密钥库来存储用户名和密码。
Azure keyvault 用于存储保管库,它将提供访问保管库的 URL。这样您的应用程序就不会看到客户的保险库。
但是在您的 Web 应用程序中,Web 应用程序仍会从密钥库中获取密码,并比较用户输入的用户名和密码。
因此,主要思想是让您的 Web 应用程序保持安全。因为,我们可以将编码的用户名和密码存储到数据库中。因此,如果有人访问数据库,它仍然无法获得正确的信息。
在我看来,我建议您仍然可以使用数据库来存储用户名和密码。
您可以像身份一样在存储到数据库之前对用户和密码进行编码。如果用户通过了身份验证,您可以生成一个令牌供用户访问您的网络应用程序。
此外,如果您使用 azure web 应用程序,该 web 应用程序提供多个身份验证来保护您的 web 应用程序。我建议你也可以试试 azure AD。更多细节,你可以参考这篇文章。
看看MSI(机器服务身份)。AWS 使用不同的首字母缩写词已经有一段时间了。我刚刚开始在 Azure 中使用它,它运行得非常好并且保证了一切安全,看起来它现在也应该准备好用于 Web 应用程序了。