Windows-Server-2008-R2

我可以在沒有 Active Directory 域的情況下授予應用程序池對遠端共享的訪問權限嗎?

  • June 10, 2014

我有一個在伺服器 A 上執行的 IIS 應用程序。它需要能夠寫入目前在伺服器 B 上的 UNC 共享上的文件夾。我想將共享保留在伺服器 B 上,但是這個環境沒有 Windows Active Directory域——到目前為止,我們已經通過在一個帳戶下執行任何給定的服務(例如 DB)來解決這個問題,該帳戶的使用者名和密碼將被複製到服務需要訪問的任何其他伺服器上。到目前為止,我們還不知道 IIS 應用程序需要“域式”訪問它還沒有替代身份驗證方法的任何其他資源。

IIS 應用程序具有設置Identity: ApplicationPoolIdentity,據我了解,這會導致它在 SID 下執行IIS AppPool\AppPoolName

因此,經過一些初步研究和發現,我提出了以下可能性,從最不優雅到最優雅。我的評論用斜體字。

  1. 將共享移動到伺服器 A。

這並不是我真正想做的——需要對現有服務進行大量重新配置,與其他基礎設施不一致。 2. 將有問題的文件夾移動到伺服器 B 上具有匿名寫入訪問權限的新共享上。

這至少可以將我所有的共享都保存在同一台伺服器上,但默默無聞的安全性真的不是我的風格。 3. 重新配置 IIS 應用程序以在顯式使用者名和密碼下執行,並在伺服器 B 上複製以授予對文件共享的訪問權限。

至少我認為這會完成我想要的,但是更改身份似乎有風險,並且可能容易對應用程序產生不可預見的後果。 4. 為伺服器 A 上的應用程序池身份提供使用者名和密碼的儲存憑據,以允許訪問伺服器 B 上的共享。

不知道這是否真的有效,或者您是否甚至可以將儲存的憑據提供給未滿的 SID首先是使用者帳戶。只是一個想法,但我喜歡它,因為它不會影響 IIS 應用程序的現有配置。 5. 在共享上使用 ACL 授予對伺服器 A 的“機器帳戶”的訪問權限。

似乎是聖杯,因為它是推薦的方法(“應用程序池身份也使用機器帳戶訪問網路資源”),但當然這些機器未綁定到 Windows 域,這似乎是使用機器帳戶的先決條件。

理想情況下,我想找到一個 hack 或 kludge 來完成第 5 項或僅通過重新配置伺服器 B 來授予訪問權限的其他方式,同樣沒有 AD 域。無論如何,我還想知道更有經驗的 Windows Server 管理員在這種情況下會做什麼(除了設置該死的 Active Directory 域)。

沒有 Windows 域的唯一選擇確實是將應用程序池標識更改為具有訪問權限的帳戶。如果現有身份沒有什麼特別之處,您應該只需要創建一個基本使用者帳戶(它不需要配置文件)並將其分配為身份。

在執行時,它將被賦予該IIS_IUSRS組並具有與預設應用程序池標識相同的訪問權限。

引用自:https://serverfault.com/questions/591260