启用约束委派时报KRBError: KDC cannot accommodate requested option
问题根因
你看到的Kerberos错误码13 (KDC cannot accommodate requested option),搭配返回eData中的0xC0000003标志,属于典型的约束委派配置不匹配问题:
你将HTTP/windows.mydomain@MYDOMAIN从*非约束委派(委派到任意Kerberos服务)*切换为约束委派后,KDC不再为该服务账户签发可访问任意服务的转发TGT,只会针对你预先配置的可委派目标服务签发S4U2Proxy代理票据。当前配置下你没有将IBM i对应的krbsvr400/ibmi.mydomain@MYDOMAIN加入允许委派的服务列表,KDC直接拒绝了票据签发请求。
修复步骤
按以下顺序校验配置即可解决问题:
- 定位SPN绑定账户:在域控命令行执行
setspn -Q HTTP/windows.mydomain@MYDOMAIN,找到该SPN绑定的域账户,打开该账户的属性面板,切换到「委派」选项卡。 - 配置可委派服务列表:
- 如果你选择的是仅使用Kerberos的约束委派模式,点击「添加」按钮,选中绑定
krbsvr400/ibmi.mydomain@MYDOMAIN的IBM i对应的域账户,勾选列表中的krbsvr400/ibmi.mydomain服务条目保存。 - 如果你选择的是使用任何身份验证协议的约束委派模式(支持协议转换),除了添加上述SPN,还要额外确认绑定
krbsvr400/ibmi.mydomain的账户没有开启「账户敏感,无法被委派」的选项,否则KDC会拒绝代理票据请求。
- 如果你选择的是仅使用Kerberos的约束委派模式,点击「添加」按钮,选中绑定
- 清理缓存验证:配置完成后重启Tomcat服务,执行
klist purge清空Tomcat运行账户、本地测试客户端的Kerberos票据缓存,重新发起登录测试即可。 - 排错校验项:执行
setspn -Q krbsvr400/ibmi.mydomain@MYDOMAIN确认该SPN没有重复绑定到多个域对象,重复SPN会导致Kerberos票据校验失败。
注:JTOpen驱动原生支持约束委派模式下的IBM i Kerberos连接,只要KDC侧配置正确,不需要修改现有JTOpen连接参数、EIM映射规则即可正常完成Windows域用户到IBM i用户的映射登录。
内容的提问来源于stack exchange,提问作者Merlin
相关产品推荐
相关产品推荐

