【问题标题】:Double Hop when Linked Servers are on Same Server, Client on Diff Server?链接服务器在同一服务器上时双跳,差异服务器上的客户端?
【发布时间】:2018-04-05 14:47:13
【问题描述】:

我正在尝试解开一个谜。我们有两个 SQL Server 实例驻留在同一台服务器上。 SQL 实例 A 链接到 SQL 实例 B。使用传递身份验证进行连接。调用服务位于不同的服务器上。没有为 Kerberos 委派、没有 SPN、没有信任委派等设置任何设置。但是,通过链接服务器连接运行分布式查询时,我们没有遇到身份验证失败。这对我来说毫无意义,除非在单个服务器上拥有两个实例会导致单跳场景(从调用客户端服务到两个实例所在的服务器)。底层 Kerberos 配置现已到位,因此 Kerberos 已成功使用,我只是想了解在进行必要更改之前连接是如何工作的。有没有人对此有任何见解?谢谢。

【问题讨论】:

  • 实例是否在同一个用户帐户下运行?
  • 是的,两个实例的 SQL Server 服务帐户都配置为使用相同的 AD 帐户。但是,从客户端传递的凭据与 SQL Server 服务帐户凭据不同。
  • 是的,我知道,但我的工作假设(我不是 Kerberos 专家,所以我肯定是错的 :-))是用户的本地缓存票证(他们已经两个实例都可以访问登录到服务器 A),因为它们在同一台机器上使用相同的凭据,并且 LSASS 不是按进程区分,而是按用户令牌(这对两个服务器都是相同的)进行区分。因此,它根本不会被视为一个跃点,因为第二个实例不需要去域进行验证。不过,我懒得显式设置这个配置来测试它。
  • 你提出了一个有趣且合理的理论,Jeroen。感谢您花时间考虑这个问题。

标签: sql-server authentication kerberos ntlm kerberos-delegation


【解决方案1】:

“跃点”的数量由所涉及的不同“本地安全机构”的数量给出。当您在同一台机器上有两个 SQL Server 实例时,只涉及一个 LSA,因此不需要委派。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-10
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多