匿名,身份validation,模拟和委托有什么区别,为什么委托需要Kerberos?

当我们的客户安装我们的软件时,他们经常select“拆分式安装”,其中服务在一个盒子上运行,数据库在另一个盒子上。 服务可能会与其他服务交谈,或者数据库可能包含需要与另一个数据库交谈的存储过程。

这导致我们进入了Kerberos和SetSPN的黑暗世界。

我正准备给支持小组发送一封电子邮件,打破Windows支持的各种authentication级别的差异,但是我意识到我的知识对于模拟和委托之间的区别有点模糊,而且我很粗略到Kerberos。

任何人都可以启发我吗?

Solutions Collecting From Web of "匿名,身份validation,模拟和委托有什么区别,为什么委托需要Kerberos?"

认证(authn)意味着识别用户。 授权(authz)意味着确定经过身份验证的用户具有哪些权限。 匿名用户尚未经过身份验证,但可能对系统(“guest”)有一些权限。 模仿和委托是同一枚硬币的两面。 如果我用你的身份做一个动作,我冒充你; 你委托我模仿你并采取一些行动的权利。

Kerberos (或“Curb”)是基于令牌的身份验证方案。 也就是说,这是让用户登录并在系统中正确识别(authn)和赋予权限(authz)的一种方式。

每个评论:你不需要限制委派,但它是内置到server 2003中。您还可以使用NTLM,SSL证书映射或摘要式身份验证。 但是没有一个像Curb一样强大和灵活。 您也可以选择执行限制委派,只允许委派某个服务。 原因是你需要一个可信的第三方来验证你的令牌。 流程基本上是这样的…

  1. 我对我的域进行身份验证。
  2. 该域名向我发放证书。 该证书对我提出索赔。
  3. 我拿这个证书,并把它交给我想让我做的事情
  4. 该服务将该证书和Valida的证书授权给受信任的证书颁发机构
  5. 该服务基于与证书颁发机构的通信给予或拒绝访问

你知道这是一个深刻的主题。 :)这是一个很好的文章上面的一些选项。 此外,看看这个网络广播 – 这是关于ADFS的,但它在可能帮助的概念上做得很好。

您可能想在Ken Schaefer的网站上刷新Kerberos。 他的Kerberos常见问题解答 。

除了上面的答案之外,委托使一个服务器使用客户端的原始认证对另一个服务器进行认证。 使用Kereberos,这相对容易实现 – 只需让第一台服务器“重新发布”客户端的身份验证令牌即可。 替代方案(NTLM)不允许轻松/安全地进行委托,因为其挑战/响应认证 – 服务器对辅助服务器进行认证的唯一方式是它是否能够对挑战/响应做出回应,并且做到这一点将需要客户的密码。

我有一个关于Kerberos委托的serverFault的答案可能是有趣的。