SQL 来自 Azure 网站的服务器集成安全性
SQL Server Integrated Security from an Azure Web Site
当 运行在 IIS 上连接 ASP.Net 网站时,我可以在应用程序池设置的上下文中指定该网站 运行 的 Active Directory (AD) 用户名。然后我可以使用 Integrated Security = true
创建一个连接字符串来访问我的数据库。然后可以根据该 AD 用户保护数据库资源。
将网站连接到托管 SQL 数据库的虚拟机时,这在 Windows Azure 中是否可行?
首先,似乎无法指定网站的虚拟网络,所以我不确定如何指定连接字符串。我希望我不需要将 SQL 服务器的端口 (1433) 暴露给外界,这样只有网站才能访问它。
其次,我看不到如何指定网站的用户上下文,以便将其传递给 SQL 服务器。我知道 Azure 有一个 Active Directory,但我在 Azure 门户中没有看到任何选项可以将 运行 网站作为特定用户。
要回答问题的第一部分,您只能在预览门户中将 Azure Web 应用程序连接到虚拟网络。如果您转到 Web 应用程序的主要属性 "blade" 的最底部,有一个 "Networking" 部分可以让您 select vnet。
第二部分 - 我认为没有办法做到这一点,因为无法控制 Azure Web 应用程序的应用程序池设置。
Each app in Web Apps runs as a random unique low-privileged worker process identity called the "application pool identity", described further here: http://www.iis.net/learn/manage/configuring-security/application-pool-identities.
Sql 身份验证将在这种情况下起作用。
如果您的网站托管在 Azure 之外,那绝对是可能的 - 我们有一个 TFS 构建服务器,它在本地托管,使用 windows 身份验证将数据库项目构建发布到 SQL 服务器 VM通过 vnet 在 Azure 中。
当 运行在 IIS 上连接 ASP.Net 网站时,我可以在应用程序池设置的上下文中指定该网站 运行 的 Active Directory (AD) 用户名。然后我可以使用 Integrated Security = true
创建一个连接字符串来访问我的数据库。然后可以根据该 AD 用户保护数据库资源。
将网站连接到托管 SQL 数据库的虚拟机时,这在 Windows Azure 中是否可行?
首先,似乎无法指定网站的虚拟网络,所以我不确定如何指定连接字符串。我希望我不需要将 SQL 服务器的端口 (1433) 暴露给外界,这样只有网站才能访问它。
其次,我看不到如何指定网站的用户上下文,以便将其传递给 SQL 服务器。我知道 Azure 有一个 Active Directory,但我在 Azure 门户中没有看到任何选项可以将 运行 网站作为特定用户。
要回答问题的第一部分,您只能在预览门户中将 Azure Web 应用程序连接到虚拟网络。如果您转到 Web 应用程序的主要属性 "blade" 的最底部,有一个 "Networking" 部分可以让您 select vnet。
第二部分 - 我认为没有办法做到这一点,因为无法控制 Azure Web 应用程序的应用程序池设置。
Each app in Web Apps runs as a random unique low-privileged worker process identity called the "application pool identity", described further here: http://www.iis.net/learn/manage/configuring-security/application-pool-identities.
Sql 身份验证将在这种情况下起作用。
如果您的网站托管在 Azure 之外,那绝对是可能的 - 我们有一个 TFS 构建服务器,它在本地托管,使用 windows 身份验证将数据库项目构建发布到 SQL 服务器 VM通过 vnet 在 Azure 中。