如何保护SQL Azure DB连接的凭据?

时间:2016-06-17 03:11:39

标签: .net azure asp.net-web-api2 azure-sql-database azure-web-roles

我计划在Azure中构建一个REST API,连接到SQL Azure作为后端存储库。 如何保护API和DB之间的数据库连接凭证?

有多个选项可用于完成此操作吗?

1 个答案:

答案 0 :(得分:1)

第一种选择是使用azure keyvault https://azure.microsoft.com/en-us/documentation/articles/key-vault-developers-guide/#coding-with-key-vault

连接字符串将存储在keyvault中,在应用程序中,您将调用keyvault api来获取密钥,并在运行时将connectionstring值提供给应用程序。即使有人访问您的azure订阅,他们仍然无法访问存储在Vault中的数据。

通常,最好的选择是不在配置文件中存储任何重要或机密数据。因为它可能会得到错误的手,可能会意外地上传到github等(如果你使代码开源)。

其他选项azure Web应用程序提供的是将这些值存储为应用程序设置的一部分,这些应用程序将在运行时提供给应用程序。

http://www.hanselman.com/blog/BestPracticesForPrivateConfigDataAndConnectionStringsInConfigurationInASPNETAndAzure.aspx