Kerberos – 将SPN添加到域用户

将新SPN添加到Kerberos域时,可以select将SPN映射到用户。 一般来说,我通过集成Windows身份validationjoin域,这为服务创build了一个新的计算机帐户,但现在,我想尝试使用没有IWA的Kerberos。

我相信我对Kerberos如何为计算机主机validation客户端(对于我正在尝试的function来说足够好)有一个全面的了解 – 但是,将SPN映射到域用户的确切做法是什么?

编辑:我不是问SPNs如何工作。 我正在具体询问将SPN映射到域USER的细节。

回答:

  1. Kerberos将允许特定用户主持此服务 – 而不是使用计算机主机帐户进行身份validation,则服务器将join到该特定用户下的Kerberos域中。 身份validation通过此用户进行。

任何进一步的信息将不胜感激。

AD用户帐户仅在用于运行服务时才具有服务主体名称。 因此,大多数AD用户帐户将不具有任何服务主体名称。 AD用户帐户具有SPN的最常见示例是,如果该用户帐户用作运行MS SQL,IIS等的服务帐户。如果AD用户帐户用于操作服务,但是没有SPN是在AD中注册,那么该服务不能使用Kerberos。

相反,AD用户帐户将始终具有用户主体名称。

服务主体名称与服务执行的安全上下文中的安全主体(用户或组)相关联。 SPN用于支持客户端应用程序和服务之间的相互身份validation。 SPN是根据客户了解服务的信息组装而成的。 或者,它可以从受信任的第三方(如Active Directory)获取信息。 服务主体名称与帐户相关联,并且帐户可以具有多个服务主体名称。

您应该阅读MSDN文档,如果您甚至不确定SPN解决哪些问题。 它是彻底和完整的。

为了填补空白,如果你的服务需要在a.domain用户帐户的上下文中运行,那么这个用户帐户需要有SPN。

这通常是在IIS应用程序池中发现的。 如果负载平衡器后面的应用程序有多个IIS服务器,则可能没有将SPN分配给特定的服务器,而是分配给域用户帐户,并且IIS应用程序池在该帐户的上下文中运行。 如果要使用“委派”级别令牌来模拟已authentication的用户,并访问远程计算机上的其他服务,情况尤其如此。

如何获取经过身份validation的用户令牌不一定非常重要。 它可以是集成的身份validation令牌,也可以是使用用户提供的凭据构build的令牌,例如使用表单身份validation。 如果使用约束委派,则可以在没有现有身份validation令牌或密码的情况下模拟用户,只需要用户名即可。

但是对于任何工作,总是需要一个SPN。