Asp.net

為 IIS APPPOOL 創建 SQL Server 登錄 - 不同機器上的 IIS 和 SQL Server

  • January 27, 2017

我已經徹底搜尋過*- 如果我錯過了一個明顯的答案,請提前道歉。* 遵循以下連結中的建議,解決方案無效。該解決方案也沒有說明它是否適用於在不同電腦上執行 IIS 和 SQL Server 的生產網路伺服器。 將 IIS 7 AppPool 身份添加為 SQL Server 登錄

下面的 Microsoft 連結不提供用於創建 SQL Server Windows 登錄的特定語法: http ://www.iis.net/learn/manage/configuring-security/application-pool-identities

我們的目標是在我們的生產環境中執行 IIS 7.5 的 Server 2008 R2 電腦上安全地向公眾部署 ASP.NET 4.0 Web 應用程序。根據最佳實踐,我們在同一域中的另一台電腦上執行 SQL Server 2008。我們希望使用沒有模擬的 SQL Sever Windows 身份驗證來允許 IIS 框上的 ASP.NET 應用程序和 SQL Server 進行通信。目前,SQL Server 登錄連接字元串允許 .NET 應用程序連接到 SQL Server,但我們希望將連接字元串升級為 Windows SQL Server 登錄以更安全。

在 IIS 7.5 上,我們為網站配置了一個應用程序池。在應用程序池高級設置下,內置帳戶已嘗試同時使用 ApplicationPoolIdentity 和網路服務,但均未成功。據說最佳實踐是使用 ApplicationPoolIdentity 來提高安全性。

失敗的步驟是創建 SQL Server Windows 登錄。

對於第一個連結,我們按照以下步驟操作:

  1. 在 SQL Server Management Studio 中,查找安全文件夾(與數據庫、伺服器對像等文件夾處於同一級別的安全文件夾……而不是每個單獨數據庫中的安全文件夾)
  2. 右鍵點擊登錄名並選擇“新登錄名”
  3. 在登錄名欄位中,輸入IIS APPPOOL\YourAppPoolName- 不要點擊搜尋
  4. 填寫您喜歡的任何其他值(即身份驗證類型、預設數據庫等)
  5. 點擊確定

您能否告訴我 IIS 7.5 和 SQL Server 在不同的盒子上,我需要使用什麼語法來創建 SQL Server 視窗登​​錄?

我已經嘗試過:“ mydomain\machine1$\IIS APPPOOL\MyAppPoolName”很多次都沒有成功。

錯誤資訊是:“ Windows NT User or group IIS APPPOOL\MyAppPoolName can not be found

我使用網路伺服器的網路名稱代替 machine1(以及實際的應用程序池名稱和域名)。

在此先感謝您的幫助。

PS如果微軟提供了一個關於如何完成這個常見的以及什麼應該是簡單的任務的分步教程,那就太好了。您在 StackOverFlow 上的回答將幫助很多人 :)

您的問題的一種解決方案是為應用程序池設置一個單獨的(非內置)帳戶。您可以為該帳戶授予最低權限,並授予對 SQL Server 的訪問權限。

通過這種方式,您可以使用易於設置但仍能嚴格控制安全性的域帳戶。

我知道這個問題很老,但是由於我一直受苦,直到我得到它的工作,我想分享我的經驗來回答這個問題。

您遵循的步驟對我有用,除了:

3-您需要添加到 sql server 登錄的帳戶是mydomain\machine1$ not mydomain\machine1$\IIS APPPOOL\MyAppPoolName

4-將正常設置頁面中的所有內容保留為預設值(實際上,您需要確保您使用的是 Windows 身份驗證)。

然後轉到使用者映射 | 選擇您希望應用程序訪問的數據庫 | 授予它您想要的任何權限。例如,給它 db_datareader 和 db_datawriter 權限。

5- 點擊確定保存。

但請注意,所有使用同一台機器上的虛擬帳戶的應用程序都可以訪問該數據庫。

引用自:https://stackoverflow.com/questions/20157589