当将新的SPN添加到Kerberos域中时,您可以选择将SPN映射到用户。通常,我通过集成Windows身份验证加入域,这将为该服务创建一个新的计算机帐户,但现在,我想尝试使用没有IWA的Kerberos。
我相信我对Kerberos如何对计算机主机的客户端进行身份验证有了彻底的了解(对于我所要做的工作来说已经足够好了)--但是将SPN映射到域用户到底是做什么的呢?
编辑:我不是在问SPN一般是如何工作的。我专门询问将SPN映射到域用户的详细信息。
答案:
如有任何进一步资料,将不胜感激。
发布于 2013-09-23 16:40:30
AD用户帐户只有在用于运行服务时才具有服务主体名称。因此,大多数AD用户帐户将不具有任何服务主体名称。AD用户帐户具有SPN的最常见的例子是,如果将该用户帐户用作服务帐户来运行MS、IIS等。如果AD用户帐户用于操作服务,但没有在AD中注册SPN,则该服务不能使用Kerberos。
相反,AD用户帐户将始终具有用户主体名称。
服务主体名称与执行服务的安全上下文的安全主体(用户或组)相关联。SPN用于支持客户端应用程序和服务之间的相互身份验证。SPN是由客户端了解服务的信息组装而成的。或者,它可以从受信任的第三方(如Active )获取信息。服务主体名称与帐户相关联,并且一个帐户可以具有多个服务主体名称。
发布于 2013-09-23 16:12:51
如果您甚至不确定SPN解决了哪些问题,则应该使用阅读MSDN文档。它是彻底和完整的。
发布于 2013-09-23 23:38:37
为了填补空白,如果您的服务需要在a.domain用户帐户的上下文中运行,那么该用户帐户需要有SPN。
通常可以在IIS应用程序池中找到这种情况。如果某个应用程序在负载均衡器后面有多个IIS服务器,则可能没有将SPN分配给特定服务器,而是分配给域用户帐户,IIS应用程序池在该帐户的上下文中运行。如果您想要使用“委托”级别令牌模拟经过身份验证的用户,并访问远程计算机上的另一个服务,则尤其如此。
如何获取经过身份验证的用户的令牌并不一定重要。它可以是集成的auth令牌,也可以是使用用户提供的凭据构建的令牌,例如使用窗体身份验证。如果使用受限的委托,您可以在不使用现有的auth令牌或密码的情况下模拟用户,只需用户名即可。
但是,要使其中任何一项工作正常进行,始终需要一个SPN。
https://serverfault.com/questions/541035
复制相似问题