Windows-Server-2003
我可以在兩個服務帳戶之間共享一個 SPN 嗎?
我在同一台伺服器上執行 IIS 和 SQL 報告伺服器。IIS 執行為
d\acct1
SSRS 執行為d\acct2
.最初,我
HTTP/server.d.com
為兩者註冊了一個 SPN,d\acct1
並d\acct2
為 Active Directory 中的無約束 kerberos 委派配置了兩者。此配置破壞了 kerberos,因為
HTTP/server.d.com
.如果我刪除 SSRS 的 SPN,IIS 就可以工作。如果我刪除 IIS 的 SPN,SSRS 就可以工作。
有沒有辦法在同一伺服器上執行的兩個不同服務帳戶之間共享 SPN,這樣它們就不會創建重複的 SPN?
或者,我必須在活動目錄中創建兩個 A 記錄
iis.server.d.com
並reports.server.d.com
使用主機頭將兩個別名直接保存在每個相應的服務中嗎?
對 Kerberos 委派如何工作的研究表明,不,您不能在同一機器上的服務帳戶之間共享 SPN。
我通過為我的伺服器配置第二個 IP 地址並將 IIS 映射到一個 IP 地址並將 SSRS 映射到另一個 IP 地址來解決了這個問題。
然後,我在 DNS 中創建了兩個新的 A 記錄(不要使用 C 記錄,它們對 Kerberos 委託不可靠)來指向服務。
iis.server.d.com
指向 IIS IP 地址並ssrs.server.d.com
指向 SSRS IP。最後,我刪除了 和 的所有 SPN,
d\acct1
並將d\acct2
SPN 重新分配為HTTP/iis.server.d.com
和HTTP/ssrs.server.d.com
。此外,我發現使用ADSIEdit 編輯 SPN 比使用命令行容易得多*。*
setspn