sql-server - 来自 Azure 网站的 SQL Server 集成安全性

标签 sql-server azure-sql-database connection-string azure-web-app-service azure-active-directory

在 IIS 上运行 ASP.Net 网站时,我可以指定该网站在应用程序池设置的上下文中运行的 Active Directory (AD) 用户名​​。然后,我可以使用 Integrated Security = true 创建连接字符串来访问我的数据库。然后就可以根据该 AD 用户来保护数据库资源。

在 Windows Azure 中将网站连接到托管 SQL 数据库的 VM 时可以这样做吗?

  • 首先,似乎无法指定网站的虚拟网络,因此我不确定如何指定连接字符串。我希望不需要向外界公开 SQL Server 的端口 (1433),这样只有网站可以访问它。

  • 其次,我不知道如何指定网站的用户上下文,以便将其传递到 SQL Server。我知道 Azure 有一个 Active Directory,但我在 Azure 门户中没有看到任何以特定用户身份运行网站的选项。

最佳答案

要回答问题的第一部分,您只能在预览门户中将 Azure Web App 连接到虚拟网络。如果您转到网络应用程序的主要属性“ Blade ”的最底部,则会有一个“网络”部分,可让您选择 vnet。

第二部分 - 我不认为有办法做到这一点,因为缺乏对 Azure Web Apps 的应用程序池设置的控制。

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.

(来自:http://azure.microsoft.com/en-us/documentation/articles/web-sites-available-operating-system-functionality/)

Sql 身份验证将在这种情况下工作。

如果您的网站托管在 Azure 外部,那绝对是可能的 - 我们有一个 TFS 构建服务器,它使用 Windows 身份验证在本地托管,通过 vnet 将数据库项目构建发布到 Azure 中的 SQL Server VM。

关于sql-server - 来自 Azure 网站的 SQL Server 集成安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30078663/

相关文章:

sql-server - SQL Server 2008在单用户模式下不允许连接

sql-server - com.microsoft.sqlserver.jdbc.SQLServerException : Cannot open database <database> requested by the login. 登录失败

python - 使用 SQL 或 Python 读取 Blob 存储中的 .xel 文件

vba - Multi-Tenancy HANA 数据库的 ODBC 连接字符串

mysql - 如何使用EntityFramework Core连接mysql数据库?

sql - 如何在SQL中设置bool值

sql-server - 从 View 中计算点数

azure - 将文件从本地复制到 azure

c# - 使用 SQLBulkCopy 将数据插入 Azure SQL 数据库表时,我收到错误消息 "The wait operation timed out"?

c# - 在 connectionString C# 中指定 Sql Server Schema