簡體   English   中英

匿名,身份驗證,模擬和委派有什么區別,為什么委派需要Kerberos?

[英]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這么強大和靈活。 您還可以選擇進行約束委派,這僅允許委派特定服務。 原因是您需要可信的第三方來驗證令牌。 基本上,流程是這樣的...

  1. 我對我的域進行身份驗證。
  2. 該域向我頒發了證書。 那證書證明了我。
  3. 我拿到該證書並將其提供給我想讓我做某事的服務
  4. 該服務采用該證書,並使用受信任的證書頒發機構的Valida證書
  5. 該服務基於與證書頒發機構的通信來授予或拒絕訪問

如您所知,這是一個很深的主題。 :)這是有關上述某些選項的好文章 另外,請查看此網絡廣播 -有關ADFS,但在可能有用的概念上做得很好。

您可能想要在Ken Schaefer網站上重溫 Kerberos。 他的Kerberos常見問題解答

除上述答案外,委派是讓一台服務器使用客戶端的原始身份驗證到另一台服務器。 使用Kereberos,這相對容易實現-您只需允許第一台服務器“重新發行”客戶端的身份驗證令牌即可。 備選方案(NTLM)不允許輕松/安全地進行委派,因為它具有質詢/響應身份驗證-服務器向輔助服務器進行身份驗證的唯一方法是,它可以響應質詢/響應並做到這一點需要客戶的密碼。

我有一個關於Kerberos委派ServerFault答案 ,可能很有趣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM