![Web 服务器上多个服务帐户的 SPN 生成](https://linux22.com/image/719041/Web%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E5%A4%9A%E4%B8%AA%E6%9C%8D%E5%8A%A1%E5%B8%90%E6%88%B7%E7%9A%84%20SPN%20%E7%94%9F%E6%88%90.png)
我正在尝试在我的组织中实现 Azure SSO。我有一个 Web 服务器托管多个网站和这些网站下的 Web 应用程序。用户以以下方式访问它们
https:// < SiteName > / < ApplicationName > /
我们为不同的应用程序配置了服务帐户,这意味着我为单个“网站”配置了多个服务帐户,并且同一个服务帐户用于不同的应用程序。
现在为了实现 Azure SSO,我必须为我的服务帐户配置 SPN,并且根据 Microsoft 的规定,相同的 spn 不能分配给多个服务帐户。
要配置 spn,我们使用以下命令
Setspn –S HTTP/NETBIOS_NAME_OF_IIS_SERVER domain\username
Setspn –S HTTP/FQDN_OF_IIS_SERVER domain\username
如何为所有服务帐户分配相同的 FQDN/NetBIOS 名称?
即使我对我的网站使用 DNS 名称,我仍然必须将相同的 spn 分配给多个服务帐户。
答案1
是的,这是 SPN 的一个基本问题,您不能在单个服务器上为一个 URL 设置多个 SPN。因此,如果您的不同应用在单个网站下运行,并且您需要使用委派或 SSO,那么它们都必须使用同一个服务帐户运行,因此您可以为该 URL 注册一个 SPN。
如果这不可能,您要么需要在同一台服务器上的不同 URL 下使用不同的服务帐户托管您的应用(假设您为该 URL 设置了 SPN),要么如果您只能使用服务器名称,则需要使用不同的服务器