使用 setspn 实用程序分配 SPN

Active Directory 管理员使用 setspn.exe 实用程序来定义 URL 中所需的 DNS 名称,方法与在 Active Directory 帐户中定义 SPN 一样。要在帐户中定义 SPN,Active Directory 管理员必须属于“域管理员”组或“企业管理员”组,或者必须具有有权写入服务主体名称许可权。

关于此任务

Active Directory 管理员操作步骤如下:

注: 如果使用 domspnego.cmd 实用程序,那么该实用程序会生成一个输出命令文件,其中包含建议 Active Directory 管理员用于定义 SPN 的 setspn 命令。

过程

  1. 验证 HCL Domino®服务器是否具有有效的域名系统 (DNS) 配置。例如:

    输入以下命令,验证 DNS 是否可以检索 Domino® 服务名的 IP 地址:

    nslookup service_fully_qualified_domain_name

    输入以下命令,验证 DNS 是否可以检索 Domino® 服务的标准名称:

    nslookup domino_server_ip_address
    注: Domino® 服务器可能可以通过 DNS 别名进行访问。如果这样,需要为别名定义一个 SPN。有关更多信息,请参阅此主题末尾部分。
  2. 验证 setspn.exe 是否已安装,例如安装在 C:\Program Files\Support Tools 中。如果没有安装,请从 Windows CD 或 Microsoft 下载站点上提供的 Windows 支持工具包进行安装。
  3. 运行以下命令以将先前过程中记录的每个 DNS 主机名定义为所选 Active Directory 帐户中的 SPN。指定 HTTP/HTTPS URL。
    setspn -a HTTP/dns_name account name

    其中

    dns_name 是先前过程中记录的 DNS 主机名,

    account nameDomino® 服务器在 Domino® Windows 服务登录时所使用的帐户。如果使用“本地系统”帐户,那么帐户名是运行 Domino® 的计算机的简单名称,例如 domino1。

    注: 将特定的 SPN 仅分配给一个帐户。如果将一个 SPN 分配给多个帐户,Web 客户机的 Windows 单点登录功能将无法使用。
  4. 使用 setspn 命令验证是否正确定义了 SPN:
    setspn -l account name

结果

要从帐户删除 SPN,请使用带有 -d 开关(而不是 -a 开关)的 setspn 命令。例如,用户可能需要删除某个帐户的 SPN,然后将其分配给另一个帐户。切记,每个 SPN 只能分配给一个帐户。

确定是否 Domino® 服务器可通过 DNS 别名访问

关于此任务

Domino® 服务器可能可以通过别名访问。在 DNS 中,CNAME(规范名称)记录可定义别名。在某些情况下,在确定请求 Kerberos 服务凭单的 SPN 时,客户机浏览器可使用 DNS 将 CNAME 别名解析为主机名。在这种情况下,需要一个指定的 SPN 来解析别名代表的主机名。

要调查 Domino® 服务器所用别名的 DNS 设置,可在交互方式下从命令提示符使用包含调试设置 (set d2) 的 nslookup 命令。例如,要查看 DNS 信息(包括将别名 www.renovations.com 解析到主机名的信息),请输入:

C:\>nslookup 
> set d2 
> www.renovations.com  

如果 nslookup 的输出将 www.renovations.com 识别为主机名 server3.ad.east.renovations.com 的 CNAME 别名,那么需要为 HTTP/server3.ad.east.renovations.com 提供 SPN。