2017-07-27 104 views
1

我们已经创建了一个Web应用程序,它现在将数据库中的用户名和密码存储在数据库中。因此,我可以将这些凭证存储在keyvault中,以便更安全地存储在数据库中。 或者你能否告诉我正确的地方以非常安全的方式存储这些授权信息? P.s:我们不想授权Oauth供应商的用户我可以在azure密钥保管库中存储用户名和密码的详细信息吗?

在此先感谢。

+2

我不会建议这个......因为那样你将不得不考虑客户端密钥/秘密......所以它也将是一个类似的问题。再加上api会再次被公开,所以另一个安全问题..更好地保持他们在db(加密+盐渍) –

+2

这不是什么AKV是。将您的用户名和密码留在数据库中。用盐和散列密码。如果您需要进一步的安全性,那么您可以加密用户名,然后将加密密钥存储在AKV中。 – nashwan

回答

2

据我所知,我们可以将用户名和密码存储到keyvault中。

您可以将用户名存储为密钥,将密码存储为保管库。

在Web应用程序中,您可以使用AD身份验证连接到天蓝色密钥。然后,您可以安装Microsoft.Azure.KeyVault程序包并使用KeyVaultClient类来CURD密钥库。

有关如何在C#中使用它的更多详细信息,请参阅此article

但是,我不建议您使用密钥保管库存储用户名和密码。

Azure keyvault用于存储保管库,它将提供一个URL来访问保管库。这样你的应用程序将不会看到客户的金库。

但在你的Web应用程序,Web应用程序仍然会得到从钥匙金库的密码和比较,用户在键入的用户名和密码。

所以,主要的想法是让你的Web应用程序安全。因为我们可以将编码的用户名和密码存储到数据库中。所以如果有人访问数据库,它仍然无法获得正确的信息。

在我看来,我建议你仍然可以使用数据库来存储用户名和密码。

在存储到数据库之前,您可以像身份一样对用户和密码进行编码。如果用户通过验证,您可以为用户访问您的Web应用程序生成一个令牌。

此外,如果您使用天青网络应用程序,则该网络应用程序会提供多重身份验证以保护您的网络应用程序。我建议你也可以试试azure AD。更多细节,你可以参考这个article

1

看看MSI (Machine Services Identity)。 AWS一直以不同的缩写词进行一段时间的研究。我刚开始在Azure中使用它,它运行得非常好,并保持一切安全,现在它看起来也应该准备好用于Web应用程序。

相关问题