我有关于安装SQL Server和SP2016开发服务器场的问题。我可以安装这两个,但我的老板问我有关在AD中安装SPN(服务主体名称)的问题。但我不知道SPN与SQL和SharePoint链接的原因和方式。
我在网上做了一些研究并得到了一些术语“Kerberos”,但我用NTLM安装了SharePoint。帮助我理解为什么SPN在这种情况下会有用。
答案 0 :(得分:1)
SPN表示进入SQL Server的服务入口点,供客户端在使用Kerberos身份验证时查找(使用DNS)。
SPN作为服务写入,后跟运行服务的IP主机的完全限定DNS名称(有时可选地,附加到末尾附加的Kerberos域名称)。例如,如果您的SQL服务器被命名为' sqlserver1'你的AD域名是' acme.com'将写成: MSSQLsvc / sqlserver1.acme.com 。
SPN本身位于Kerberos数据库中,并且身份验证过程中的客户端会访问DNS以查找IP目标主机和保存服务主体的Kerberos数据库(KDC),从KDC获取Kerberos服务票证,使用它来对在SPN中指定的目标服务上运行的服务器进行单点登录身份验证。
在AD中,在表示SQL Server的计算机对象的属性中,您将添加SPN,并可选择为该服务配置Kerberos委派。您可以选择将SPN添加到在AD中运行SQL服务的用户帐户。
在您的方案中,Kerberos实际上应该是主要的身份验证方法,NTLM仅用作后备。如果正确设置DNS,AD,Kerberos委派和目标服务器,则永远不必回退到NTLM。使用SharePoint,您可以将Kerberos用于SSO到SharePoint,然后您可以选择允许同一用户帐户的Kerberos委派能够自己运行SQL语句拥有SQL DB服务器。
这些都不适合胆小的人,我实际上并没有自己设置这个精确的场景,我只知道基本的概念;相反,我的经验主要是为在Linux平台上运行的Web应用程序设置Kerberos SSO到Active Directory身份验证。但是你问过SPN是什么,以及我所回答的问题。
我用谷歌搜索并找到了实际设置场景的链接,它讨论了如何使用Kerberos委派使用SQL Server配置SharePoint与Active Directory:Plan for Kerberos authentication in SharePoint 2013