0

我有一个关于安装 SQL Server 和 SP2016 开发场的问题。我可以安装两者,但我的老板问我有关在 AD 中安装 SPN(服务主体名称)的问题。但我不知道为什么以及如何将 SPN 与 SQL 和 SharePoint 链接。

我在网上做了一些研究,得到了一些术语“Kerberos”,但我用 NTLM 安装了 SharePoint。帮助我理解为什么 SPN 在这种情况下会很有用。

4

1 回答 1

1

什么是服务主体名称?

SPN 代表 SQL 服务器的服务入口点,供客户端在使用 Kerberos 身份验证时查找(使用 DNS)。

SPN 被编写为服务,后跟运行该服务的 IP 主机的完全限定 DNS 名称(有时,还可以选择在末尾附加 Kerberos 领域名称)。例如,如果您的 SQL 服务器被命名为 'sqlserver1' 并且您的 AD 域名是 'acme.com' 将被写为:MSSQLsvc/sqlserver1.acme.com

SPN 本身位于 Kerberos 数据库中,并且客户端在身份验证过程中访问 DNS 以查找 IP 目标主机和持有服务主体的 Kerberos 数据库 (KDC),从 KDC 获取 Kerberos 服务票证并使用它来单点登录对在 SPN 中命名的目标服务上运行的服务器进行身份验证。

配置 SPN

在 AD 中,在代表 SQL 服务器的计算机对象的属性中,您将添加 SPN,并可选择为该服务配置 Kerberos 委派。您可以选择将 SPN 添加到在 AD 中运行 SQL 服务的用户帐户。

在您的方案中,Kerberos 实际上应该是主要的身份验证方法,而 NTLM 仅用作后备。如果您正确设置了 DNS、AD、Kerberos 委派和目标服务器,则永远不必回退到 NTLM。使用 SharePoint,您可以使用 Kerberos SSO 进入 SharePoint,然后您可以选择允许同一用户帐户的 Kerberos 委派能够运行 SQL 语句,因为它们自己拥有 SQL DB 服务器。

这些都不适合胆小的人,实际上我自己并没有设置这个精确的场景,我只知道基本概念;相反,我的经验主要是将 Kerberos SSO 设置为对在 Linux 平台上运行的 Web 应用程序进行 Active Directory 身份验证。但是您问了 SPN 的用途,这就是我的回答。

延伸阅读

我用谷歌搜索并为您找到此链接以实际设置您的方案,它讨论了使用 Kerberos 委派将 SharePoint 与带有 SQL 服务器的 Active Directory 一起配置: Plan for Kerberos authentication in SharePoint 2013

于 2016-11-07T11:57:55.363 回答