Kerberos 委派和身份验证:域更改带来的影响

Kerberos Delegation and Authentication: Impact due to Domain change

[我对 Kerberos 协议还很陌生]

我们有一个客户,他在 2020 年使用了一个域,我们称之为 customdom.itm,它有一个用户帐户 krb-test-cd Kerberos 设置委派并且此域是域 Active Directory 林的一部分 itm
由于他们是一家在不同国家/地区拥有许多用户的大公司,因此他们还有另一个巨大的域 AD 林,其中有许多子域(和域控制器)作为该林的一部分,我们称之为 top.abc。这里与我们相关的域是 aust.top.abc,它具有 krb-test-aust Kerberos 用户帐户设置。

由于森林 itmtop.abc 不同,krb 用户的相同 servicePrincipalName 安全设置为 HTTP/testloadbalancer.com,而他们的 userPrincipalName 当然是不同的,即:

  1. krb-test-cd uPN 是 HTTP/testloadbalancer.com@CUSTOMDOM.ITM
  2. krb-test-aust uPN 是 HTTP/testloadbalancer.com@AUST.TOP.ABC

并且由于 https://testloadbalancer.com 是客户 内部网站 的一部分,他们的浏览器不会要求用户输入他们的 AD 凭据。

问题来了:
上个月,客户决定将 customdom.itm 中的用户迁移到新域 can.top.abc,该域是林 top.abc 的一部分。但是,用户 krb-test-cd 和其他一些帐户未迁移,并且 customdom.itm 仍然存在于其自己的林中。
由于迁移,这些用户现在每次都需要输入他们的 AD 凭据,并且只能使用旧域名获得访问权限,即
customdom\michaelpassword

我已经在域 can.top.abc 中设置了一个新的用户帐户 krb-test-can,用于使用 setspn 进行 Kerberos 委派和 SPN HTTP/testloadbalancer.com,我第一次收到这个错误:

The operation failed because SPN value provided for addition/modification is not unique forest-wide.

接下来,我用 SPN HTTP/testloadbalancer.com@CAN.TOP.ABC 尝试了 ktpass,但我得到另一个错误:

Failed to set property 'servicePrincipalName' to 'host/<host name>' on
Dn 'CN=<CN Name>,CN=Users,DC=<DC Name>,DC=<DC Name>,DC=abc': 0x13.
WARNING: Unable to set SPN mapping data.

后来终于明白SPN已经设置为用户krb-test-aust.

我的问题是:
我怎样才能成功地将 SPN HTTP/testloadbalancer.com 并最终将 UPN HTTP/testloadbalancer.com@CAN.TOP.ABC 分配给用户 krb-test-can,而不影响对用户 的 Kerberos 委派krb-test-aust?
或者是否有关于如何使用 only 用户 krb-test-aust 将 Kerberos 身份验证委托给现在居住在域 can.top.abc 根本不需要用户 krb-test-can?

非常感谢任何帮助。
提前致谢!



[一些背景]
我们这边有一个访问管理软件,我们为上述 2 个域中的每个域配置了许多身份提供程序、2 个策略执行点和 SingleSignOn 的 Kerberos 身份验证。
我们只需要将 krb 用户的 uPN 和密码注入到各自的 PEP 中,软件不需要密钥表文件。
我们是身份提供者,客户使用 https://testloadbalancer.com/xyz/efg_idp/entityid 等链接进行 IdP 发起的登录并重定向到目标应用程序。

在 Steve 的提示下,我终于找到了解决我自己问题的方法:
由于域 can.top.abcaust.top.abc 以及其他域是同一林 top.abc 的一部分,它们应该具有跨域信任(我不确定信任是默认的还是需要需单独设置)。

因此,我只需要用户帐户 krb-test-aust 将 Kerberos 身份验证委托给 top.abc 下所有域中的用户。
krb-test-aust 的 uPN 仍然是 HTTP/testloadbalancer.com@AUST.TOP.ABC.