[英]What's the difference between Anonymous, Authenticate, Impersonate and Delegate, and why does Delegate need Kerberos?
當我們的客戶安裝我們的軟件時,他們通常會選擇“拆分安裝”,即服務在一個盒子上運行,而數據庫在另一個盒子上。 這些服務可能與其他服務對話,或者數據庫可能包含需要與另一個數據庫對話的存儲過程。
這使我們進入了Kerberos和SetSPN的黑暗世界。
我本打算向支持人員發送一封電子郵件,詳細說明Windows支持的各種身份驗證級別之間的差異,但是我意識到我的知識對於模擬和委托之間的差異有點含糊不清,我真的很粗略到Kerberos。
誰能啟發我?
身份驗證(authn)是指識別用戶。 授權(authz)表示確定經過身份驗證的用戶具有哪些權利。 匿名用戶尚未通過身份驗證,但可能具有系統上的某些權限(“來賓”)。 模擬和委托是同一枚硬幣的兩個方面。 如果我使用您的身份采取行動,我會冒充您; 您授權我冒充您並采取某些行動的權利。
Kerberos (或“ Kerb”)是一種基於令牌的身份驗證方案。 也就是說,這是一種讓用戶登錄並在系統中得到正確標識(身份驗證)和指定權限(authz)的方法。
每條評論:您不需要Curb進行委派,但是它內置於Server 2003中。您還可以使用NTLM,SSL證書映射或摘要式身份驗證。 但是,這些功能都沒有Kerb這么強大和靈活。 您還可以選擇進行約束委派,這僅允許委派特定服務。 原因是您需要可信的第三方來驗證令牌。 基本上,流程是這樣的...
如您所知,這是一個很深的主題。 :)這是有關上述某些選項的好文章 。 另外,請查看此網絡廣播 -有關ADFS,但在可能有用的概念上做得很好。
您可能想要在Ken Schaefer網站上重溫 Kerberos。 他的Kerberos常見問題解答 。
除上述答案外,委派是讓一台服務器使用客戶端的原始身份驗證到另一台服務器。 使用Kereberos,這相對容易實現-您只需允許第一台服務器“重新發行”客戶端的身份驗證令牌即可。 備選方案(NTLM)不允許輕松/安全地進行委派,因為它具有質詢/響應身份驗證-服務器向輔助服務器進行身份驗證的唯一方法是,它可以響應質詢/響應並做到這一點需要客戶的密碼。
我有一個關於Kerberos委派的ServerFault答案 ,可能很有趣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.