VSTO加载项和SQL的Azure防火墙设置

时间:2018-12-17 17:06:09

标签: azure azure-sql-database vsto

我已经写了一个非常基本的SQL支持VSTO Outlook插件,最终将由我工作的公司的多个办公室中的大约20个人使用。所有人还将定期在家里工作。

到目前为止,我所遵循的教程都是在服务器防火墙规则中添加“您自己的” IP地址: https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-get-started-portal-firewall

在研究此问题时遇到了类似的问题: SQL Azure Firewall Rules on New Portal

当我只是使用该应用程序时,这不是问题,我按照教程一次添加了我的办公室IP地址,一次添加了我的家庭IP地址。但是,如果我不得不让所有人收集他们的IP地址并将它们设置在防火墙上,那将是非常尴尬的事情。

这将是我第一个使用远程资源的应用程序,因此我不确定防火墙的后续步骤,因此很难找到指南。我应该是:

  1. 向所有人开放防火墙,但创建一个存储在应用程序中的强密码
  2. 在应用程序中创建一个初始化步骤,以授予新用户通过防火墙的访问权限
  3. 创建某种代理,以便所有SQL请求都来自相同的IP地址。

在(2)创建初始化步骤的情况下-azure sql server firewall settings似乎改变了防火墙规则-难道这意味着只有一个人可以同时连接吗?

2 个答案:

答案 0 :(得分:1)

最好的选择是:

1a。向所有人开放防火墙,但要求用户使用Azure Active Directory Authentication

答案 1 :(得分:1)

您可以创建一个小型应用程序,该应用程序可以使用本地PC IP地址远程更新Azure SQL防火墙规则。为此,您将需要Microsoft Azure的Microsoft Management Fluent libraryResource Group and Resource Management (Fluent)功能。 Here,您会找到一个示例应用程序。

您可能还需要按照here中的说明将应用程序注册为Azure Active Directory应用程序,并为其分配相应的角色。然后,您将能够按照here中的说明为该应用程序创建授权文件。

else if (dr.GetDateTime(1) >= From_Date.EditValue && dr.GetDateTime(1) <= To_Date.EditValue)

您还可以向所有用户提供PowerShell脚本,该脚本可以使用here中所述的Azure Active Directory身份验证令牌自行向SQL Azure进行身份验证,然后更新防火墙规则或使用以下命令创建新规则以下脚本。

subscription=########-####-####-####-############
client=########-####-####-####-############
tenant=########-####-####-####-############
key=XXXXXXXXXXXXXXXX
managementURI=https\://management.core.windows.net/
baseURL=https\://management.azure.com/
authURL=https\://login.microsoftonline.com/
graphURL=https\://graph.windows.net/