Web App (IIS AppPool)整合式驗證登入SQL Server
為工作紀錄。讓 Web App 整合式驗證登入SQL Server 。目的就是不想用帳號密碼登入SQL Server。原因之一有帳密洩漏的安全問題,原因之二有帳密太多管理太麻煩的問題。解法方法就是採用整合式驗證,技術上就是以NTLM 或AD網域驗證。本例是NTLM整合式驗證。AD網域整合式驗證設定方法應該也差不多。
原理說明
本例為工作紀錄,故以案例角度說明不做通案說明。
WebApp 的實體是透過應用程式集區(Application Pool)執行,就是 WebApp 的帳號實體在 IIS AppPool 裡。知道 AppPool 的執行帳號是誰,就可以設定整合驗證了。
補充:以安性來說AD整合驗證最高, 再來是帳密登入 、最後才是NTLM整合驗證。 企業的話建議用AD整合驗證。帳密次之但要做好帳密管理。 個人的話NTLM整合驗證就行了。不然帳密管理就受不了,最後用高風險的帳密登入更不可取。
Phase1: 取得WebApp執行帳號
本例的WebApp 名稱:MineAsset2
如下圖:執行IIS管理員,【站台 → WebApp → 進階設定 → 應用程式集區】可以查看WebApp的AppPool是那一個。

如下圖:【應用程式集區 → AppPool → 進階設定 → 識別】可以查看WebApp的執行帳號為誰。當選取識別為 ApplicationPoolIdentity
那帳號會依帳號名稱組合成IIS APPPOOL\集區名稱
,本例的執行帳號是IIS APPPOOL\MineAsset2
。

Phase2: 設定 SQL Server 整合驗證(新增安全性登入)
本例的WebApp 名稱:MineAsset2。資料庫名稱:MineDB。
使用 ApplicationPoolIdentity
所以執行帳號是:IIS APPPOOL\MineAsset2
。
因為帳號實體不在 SQL Sevrver 而是在 IIS AppPool 所以不是新增 user 而是新增『安全性-登入」。 如下圖:執行SQL Server SSMS 管理程式。【安全性 → 登入 → 新增登入 … 】
本紀錄是設定後的設內容展示。懶得寫字請看圖。





參考資料
EOF
Last updated