VSTO 加载项的 Azure 防火墙设置 & SQL
Azure Firewall settings for VSTO add-in & SQL
我写了一个非常基本的 SQL 支持的 VSTO Outlook 插件,最终将由我工作的公司的几个办公室的大约 20 人使用。所有人也将定期在家工作。
到目前为止,我所遵循的教程是将 "your own" 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 地址并在防火墙上设置每个人,那将是非常尴尬的。
这将是我第一个使用远程资源的应用程序,所以我不确定防火墙的后续步骤,因此努力寻找指南。我应该是:
- 向所有人开放防火墙,但创建存储在应用程序中的强密码
- 在应用程序中创建初始化步骤以授予新用户通过防火墙的访问权限
- 创建某种代理,以便所有 SQL 请求都来自同一个 IP 地址。
在 (2) 创建初始化步骤的情况下 - 似乎更改了防火墙规则 - 这是否意味着一次只能一个人连接?
最好的选择是:
1a。对所有人开放防火墙,但对用户要求Azure Active Directory Authentication。
您可以创建一个可以使用本地 PC IP 地址远程更新 Azure SQL 防火墙规则的小型应用程序。为此,您需要 Microsoft Management Fluent library and Resource Group and Resource Management (Fluent) capabilities for Microsoft Azure. Here 您会找到一个示例应用程序。
您可能还需要按照说明将应用程序注册为 Azure Active Directory 应用程序here and assign a corresponding role for it. Then you will be able to create an authorization file for the application as explained here。
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/
您还可以为所有用户提供一个 PowerShell 脚本,该脚本可以使用 Azure Active Directory 身份验证令牌自行向 SQL Azure 进行身份验证,如 here 所述,然后更新防火墙规则或使用以下脚本创建一个新脚本。
New-AzureRmSqlServerFirewallRule -ResourceGroupName "myResourceGroup"
-ServerName $servername -FirewallRuleName "AllowSome" -StartIpAddress "0.0.0.0" -EndIpAddress "0.0.0.0"
我写了一个非常基本的 SQL 支持的 VSTO Outlook 插件,最终将由我工作的公司的几个办公室的大约 20 人使用。所有人也将定期在家工作。
到目前为止,我所遵循的教程是将 "your own" 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 地址并在防火墙上设置每个人,那将是非常尴尬的。
这将是我第一个使用远程资源的应用程序,所以我不确定防火墙的后续步骤,因此努力寻找指南。我应该是:
- 向所有人开放防火墙,但创建存储在应用程序中的强密码
- 在应用程序中创建初始化步骤以授予新用户通过防火墙的访问权限
- 创建某种代理,以便所有 SQL 请求都来自同一个 IP 地址。
在 (2) 创建初始化步骤的情况下 -
最好的选择是:
1a。对所有人开放防火墙,但对用户要求Azure Active Directory Authentication。
您可以创建一个可以使用本地 PC IP 地址远程更新 Azure SQL 防火墙规则的小型应用程序。为此,您需要 Microsoft Management Fluent library and Resource Group and Resource Management (Fluent) capabilities for Microsoft Azure. Here 您会找到一个示例应用程序。
您可能还需要按照说明将应用程序注册为 Azure Active Directory 应用程序here and assign a corresponding role for it. Then you will be able to create an authorization file for the application as explained here。
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/
您还可以为所有用户提供一个 PowerShell 脚本,该脚本可以使用 Azure Active Directory 身份验证令牌自行向 SQL Azure 进行身份验证,如 here 所述,然后更新防火墙规则或使用以下脚本创建一个新脚本。
New-AzureRmSqlServerFirewallRule -ResourceGroupName "myResourceGroup"
-ServerName $servername -FirewallRuleName "AllowSome" -StartIpAddress "0.0.0.0" -EndIpAddress "0.0.0.0"