【发布时间】:2016-06-17 03:11:39
【问题描述】:
我计划在 Azure 中构建一个 REST API,作为后端存储库连接到 SQL Azure。 如何保护 API 和 DB 之间的数据库连接凭据?
是否有多个选项可用于完成此任务?
【问题讨论】:
标签: .net azure asp.net-web-api2 azure-sql-database azure-web-roles
我计划在 Azure 中构建一个 REST API,作为后端存储库连接到 SQL Azure。 如何保护 API 和 DB 之间的数据库连接凭据?
是否有多个选项可用于完成此任务?
【问题讨论】:
标签: .net azure asp.net-web-api2 azure-sql-database azure-web-roles
第一个选项是使用 azure keyvault https://azure.microsoft.com/en-us/documentation/articles/key-vault-developers-guide/#coding-with-key-vault
连接字符串将存储在 keyvault 中,在应用程序中,您将调用 keyvault api 来获取密钥,并且连接字符串值将在运行时提供给应用程序。即使有人可以访问您的 Azure 订阅,他们仍然无法访问存储在保险库中的数据。
一般来说,最好的选择是不在配置文件中存储任何重要或机密数据。因为它可能会落入坏人之手,并且可能会意外上传到 github 等(如果您将代码开源)。
Azure Web 应用程序为您提供的其他选项是将这些值存储为应用程序设置的一部分,这些设置将在运行时提供给应用程序。
【讨论】: