账户与安全

解决 Kerberos 受限委派问题 - Windows Server

· 52CE 我爱测

重要 在使用本文中的步骤之前,请先按照 Kerberos 故障排除清单(kerberos-authentication-troubleshooting-guidancetroubleshooting-checklist)中的步骤进行操作。 Kerberos 问题的最常见原因是基础结构问题和服务主体名称(SPN)问题。 清单可帮助你识别此类问题。 如果目标服务具有单独的前端和后端组件,Kerberos 可以将客户端凭据(包括访问权限)委托给服务帐户。 简单来

重要

在使用本文中的步骤之前,请先按照 Kerberos 故障排除清单中的步骤进行操作。 Kerberos 问题的最常见原因是基础结构问题和服务主体名称(SPN)问题。 清单可帮助你识别此类问题。

如果目标服务具有单独的前端和后端组件,Kerberos 可以将客户端凭据(包括访问权限)委托给服务帐户。 简单来说,首先客户端访问前端服务,然后前端服务代表客户端访问后端服务。 在受约束的委派情况下,前端服务维护一个可以代表客户端访问的服务列表。

配置详细信息因前端服务使用的帐户类型而异。 本文为不同类型的服务帐户提供了单独的过程:

  • 排查 Kerberos 约束委派在使用内置服务帐户时的问题
  • 排查使用自定义服务帐户时 Kerberos 约束性委派的问题

使用内置服务帐户时,进行排查 Kerberos 受限委派的问题

如果前端服务在内置帐户(例如本地计算机的计算机帐户)的安全上下文下运行,请按照以下步骤作。 如果前端服务在与计算机帐户(例如本地系统或网络服务)相关的安全上下文之一下运行,请遵循以下步骤。

步骤 1:检查拓扑类型

若要使用约束委派,前端和后端服务必须属于同一域。 如果这些服务位于不同的域或不同的受信任的林域中,则必须改为使用基于资源的约束委派(RBCD)。 有关详细信息,请参阅 Kerberos 身份验证故障排除指南:支持的拓扑类型。

步骤 2. 检查计算机帐户的委派设置

使用 Active Directory 用户和计算机(在“服务器管理器 工具 ”菜单上提供)执行这些步骤。

  1. 在 Active Directory 用户和计算机中,选择 “计算机”。 右键单击前端计算机的帐户,然后选择 “属性>委派”。
  2. 确保选择 仅信任此用户以委派到指定的服务。
  3. 确保所选的身份验证选项适用于访问 Web 服务的用户。
  4. 确保服务列表包括后端服务(或后端服务器的 HOST 等常见服务类)。 如有必要,请选择“ 添加 ”以将服务添加到列表中。
  5. 选择**“确定”**。

步骤 3. 在 IIS 中,检查应用程序池配置

使用 Internet Information Services (IIS) 工具(在“服务器管理器 工具 ”菜单上可用)查看应用程序池设置。

  1. 在 IIS 控制台中,展开 IIS 服务器并选择 应用程序池。 在右窗格中,右键单击 DefaultAppPool,然后选择“高级设置”。
  2. 选择 进程模型>标识。 确保已选择 内置帐户 ,并且已选择适当的内置帐户(如 NetworkService)。 选择 “确定 ”以返回到属性列表。
  3. 确保 “加载用户配置文件 ”设置为 True。 选择 “确定 ”关闭属性列表。
  4. 如果更改了任何设置,请重启 IIS 服务。
  5. 请重试进行身份验证。

排查使用自定义服务帐户时 Kerberos 约束委派的问题

如果前端服务在自定义帐户的安全上下文下运行,请按照以下步骤作。

步骤 1:检查拓扑类型

若要使用约束委派,前端和后端服务必须属于同一域。 如果这些服务位于不同的域或不同的受信任林中,则必须改用基于资源的约束委派(RBCD)。 有关详细信息,请参阅 Kerberos 身份验证故障排除指南:支持的拓扑类型。

步骤 2. 检查服务帐户权限

确保服务帐户是 Web 服务器上的本地管理员或IIS_Users组的一部分。

步骤 3. 检查服务帐户的委派设置

使用 Active Directory 用户和计算机 (可通过“服务器管理器 工具”菜单使用)执行这些步骤。

  1. 在 Active Directory 用户和计算机中,右键单击服务帐户(通常位于 “用户 ”容器中),然后选择“ 属性>委派”。
  2. 确保选择 仅信任此用户以委派到指定的服务。
  3. 确保所选的身份验证选项适用于访问 Web 服务的用户。
  4. 确保服务列表包括后端服务(或后端服务器的 HOST 等常见服务类)。 如有必要,请选择“ 添加 ”以将服务添加到列表中。
  5. 选择 “帐户”,然后查看 “帐户”选项 设置。 确保未选择帐户敏感且无法委派选项。
  6. 选择**“确定”**。

步骤 4. 检查前端服务器的计算机帐户的委派配置

除了自定义服务帐户,还必须为前端服务器的计算机账户配置委派。

  1. 在 Active Directory 用户和计算机中,选择 “计算机”,右键单击前端计算机的帐户,然后选择“ 属性>委派”。
  2. 确保选择仅信任此用户用于委派到指定服务,并同时选择从属选项使用任何身份验证协议。
  3. 确保服务列表包括后端服务(或后端服务器的 HOST 等常见服务类)。 如有必要,请选择“ 添加 ”以将服务添加到列表中。
  4. 选择**“确定”**。

步骤 5. 在 IIS 中,检查应用程序池配置

使用 Internet Information Services (IIS) 工具(在“服务器管理器 工具 ”菜单上可用)查看应用程序池设置。

  1. 在 IIS 控制台中,展开 IIS 服务器,然后选择 “应用程序池”。 在右窗格中,右键单击 DefaultAppPool,然后选择“高级设置”。
  2. 选择 “进程模型>标识”。 确保已选择 “自定义帐户 ”,并选择服务帐户。 选择 “确定 ”以返回到属性列表。
  3. 确保 “加载用户配置文件 ”设置为 True。 选择 “确定 ”关闭属性列表。
  4. 重启 IIS 服务。
  5. 请重试进行身份验证。

资料来源与适用范围

资料来源
微软官方中文故障文档
适用范围
适用于访问 Web 服务的用户。
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
CC BY 4.0

正文与所需资源由本站本地存储。查看来源及更新记录 ↗

请按适用版本和实际日志确认原因;本站没有对每一种系统或设备逐项执行文中的操作。