这是一个非常方便的知识:
当特定服务/守护进程使用Kerberos对AD进行身份验证时使用SPN。他们将这个约定与特定的服务,端口和对象一起映射:class / host:port / name 如果您使用计算机对象进行身份验证(例如本地服务): MSSQLSVC / tor-sql-01.domain.local:1433 如果您使用用户对象进行身份验证(例如服务帐户或管理员帐户): MSSQLSVC /用户名:1433 为什么我们关心重复的SPN?如果您有两个条目尝试使用相同的Kerberos票证进行身份验证(我认为这是正确的...),它们将发生冲突,并导致错误和服务失败。 检查重复的SPN: 命令“setspn.exe -X C:\ Windows \ system32> setspn -X 处理条目7 MSSQLSvc / server1.company.local:1433在这些帐户上注册: CN = SERVER1,OU =服务器,OU =资源,DC =公司,DC =本地 CN = SQL管理员,OU =服务帐户,OU =资源,DC = company,DC = local 找到1组重复的SPN。(截断/清理) 请注意,您将看到SPN(MSSQLSvc / server1.company.local:1433)和两个对象(CN = SERVER1&CN = SQL Admin)。使用ADSIedit.msc查看每个对象的'serviceprincipalname'属性,并且您将看到相同的SPN。 要确定要删除哪一个,请登录到托管服务/守护程序的服务器。了解它用于登录AD的方式。在这种情况下,它是一个Microsoft SQL Server,通过检查services.msc,向下滚动到所讨论的服务并查看“登录为”列,我可以轻松查看它使用的凭据。它说'本地服务',因此它使用计算机对象。我可以删除SQL Admin用户对象的SPN属性下的SPN条目。 当你认真对待它时很简单。 |
|
来自: os2jkyaa51x2ib > 《待分类》