Sql-Server

基本的 Windows 網路問題

  • December 21, 2011

基本上我開始研究這個是因為我厭倦了僅僅選擇像 NETWORKSERVICE 這樣的東西只是為了讓事情在我們的網路上神奇地工作,並且想了解更多關於實際發生的事情。我打開了一罐蠕蟲,現在我真的想盡我所能解決這個問題,而不用我愚蠢的新手問題來打擾我的網路管理員。顯然,這將給我最好的答案,但在我去了解完整的故事之前,我希望你們能幫助我盡可能地了解我們的環境。

基本上,我們有大約 30 台 PC 都使用 Windows 7,而且我們都在同一個網路上。我們沒有使用 Active Directory,顯然這不是一個選項(內部歷史/政治原因……)當我打開我的電腦並點擊網路時,我可以看到它們。

為了點兩下一台 PC 並查看它的共享內容,我要麼必須… 1) 轉到該 PC 並在該 PC 上創建一個使用者帳戶,該使用者帳戶的名稱和密碼與我在 PC 上使用的帳戶相同,或者2) 以管理員身份登錄。

為方便起見,在我們最需要訪問的系統上,我們手動進入並為每台機器上的每個人創建了單獨的使用者帳戶,使用與他們的主工作站 PC 相同的使用者名。

現在,我需要完全了解我們建立的這個系統的原因是,我需要知道這種網路系統將如何與執行在 IIS 7.0 Web 伺服器上的內部 ASP.NET 站點一起工作,支持SQL Server 2008 R2。由於我們所有的電腦都有一個通用管理員帳戶,因此很容易冒充 web.config 文件的管理員並收工,但我真的不想這樣做 — 我想要“正確”地做到這一點,我想要“安全地”做到這一點,我希望盡可能地允許每個使用者擁有最少的權限。

這真的意味著我必須為我們的 SQL Server 和我們的 Web 伺服器上的*每個人創建 Windows 身份驗證登錄嗎?*該網站本身應該只是只讀的,期間,所以我想我可以在網路伺服器機器上創建一個新的使用者帳戶,限制對除網站之外的所有內容的訪問為只讀,然後在網路上模擬該使用者.config 文件。但是 SQL 數據庫,對於某些群體來說,它應該是只讀的,對於某些群體來說,他們也應該有寫權限,但任何人都不應該有刪除權限。

我很難自己研究這個的原因是,顯然我們不是以“正確”的方式開始的。我讀到的每一本關於 Windows 網路的書要麼是談論小型家庭網路,要麼是針對企業和大型網路的 Active Directory。

Microsoft 在不同機器之間共享憑據的解決方案是使用 Active Directory 域。Active Directory 使用 Kerberos 身份驗證協議來仲裁從中央身份驗證數據庫對分佈在不同電腦上的資源的訪問。

您在個人電腦上創建使用者帳戶所做的事情通俗地稱為“窮人的信任關係”。通過創建這些“鏡像”使用者“主”電腦上使用的憑據的帳戶,您創建的東西雖然不是非常可擴展或可管理(坦率地說,不是很安全),但會給您與 Active 的功能相似性互動式使用者的目錄域。但是,對於“通過”(也稱為“委託”)身份驗證,例如您的 Web 應用程序和後端的 SQL Server,您將無法僅創建“鏡像”帳戶來獲得您的功能’正在尋找。

在我看來,如果沒有 Active Directory,您唯一的選擇是讓不同的使用者組通過 Web 應用程序對 SQL Server 進行不同的身份驗證,這將在 Web 應用程序中儲存不同 SQL Server 使用者的憑據並使用適當的憑據進行訪問SQL Server 基於誰已向 Web 伺服器進行身份驗證。

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