分享

修复重复的SPN(服务主体名称)

 os2jkyaa51x2ib 2018-06-23
这是一个非常方便的知识:

当特定服务/守护进程使用Kerberos对AD进行身份验证时使用SPN。他们将这个约定与特定的服务,端口和对象一起映射:class / host:port / name

如果您使用计算机对象进行身份验证(例如本地服务):
MSSQLSVC / tor-sql-01.domain.local:1433

如果您使用用户对象进行身份验证(例如服务帐户或管理员帐户):
MSSQLSVC /用户名:1​​433

为什么我们关心重复的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条目。

当你认真对待它时很简单。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多