安装 - SharePoint 服务器 - SQL 和 SPN

Install - SharePoint server - SQL and SPN

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

我在网上做了一些研究并了解了一些术语 "Kerberos" 但我安装了带有 NTLM 的 SharePoint。帮助我理解为什么 SPN 在这种情况下会有用。

什么是服务主体名称?

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

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

SPN 本身位于 Kerberos 数据库中,客户端在身份验证过程中会通过 DNS 查找 IP 目标主机和保存服务主体的 Kerberos 数据库 (KDC),从KDC 并使用它对 SPN 中指定的目标服务上的服务器 运行ning 进行单点登录验证。

配置 SPN

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

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

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

进一步阅读

我在谷歌上搜索并找到这个 link 为您实际设置您的场景,它讨论了使用 Kerberos 委派配置 SharePoint 和 SQL 服务器的 Active Directory:Plan for Kerberos authentication in SharePoint 2013