Windows 跨多个 Active Directory 域的用于 Web 客户机的 单点登录

如果您的 Windows 环境包含多个 Active Directory 域,那么您可以对 Web 客户机设置跨越多个域的 Windows 单点登录。进行该配置时有一些其他的要求和建议。

Active Directory 信任要求

关于此任务

Windows 管理员必须使用 Active Directory 域和嵌入式托管实用程序在域之间设置林信任关系。由于 Kerberos 认证不支持外部信任关系,因此不能使用。有关设置信任关系的信息,请参阅 Microsoft 文档。

注意:父域实际上已经对子域建立了信任,因此无需配置两者之间的信任关系。“子域”指的是在 DNS 层次结构当中处于另一个域下层的域。例如,“sales.east.renovations.com”就是“east.renovations.com.”的子网络域。

以下是受支持的林信任类型:

  • 双向 Windows 林信任。例如,如果林 A 和林 B 之间的信任关系是双向的,那么用户既可以通过林 A 也可以通过林 B 来访问服务器。
  • 受到某个林的单向信任。例如,如果林 A 受到林 B 的信任,那么林 A 中的用户可以访问林 B 中的服务器,反之却不可以,除非林 B 也信任林 A。
  • 单向信任某个林。例如,如果林 A 信任林 B 的信任,那么林 B 中的用户可以访问林 A 中的服务器,反之却不可以,除非林 B 也信任林 A。
  • 传递型信任。如果林 A 中的用户基于信任关系可以访问林 B 中的服务器,且已将林 A 和林 B 之间的关系配置成传递型信任,那么林 A 子域中的用户也可以访问林 B 中的服务器。

要确定是否已经对 Active Directory 域建立了信任关系,请执行以下操作:

过程

  1. 进入“管理工具”菜单,打开“Active Directory Domains and Trust(Active Directory 域和信任)”实用程序。
  2. 右键单击要查看的域,然后单击“属性”。
  3. 单击“信任”选项卡查看列出的受信任的域。

计算机时钟同步

关于此任务

域中和域之间的服务器时钟必须尽可能保持同步,因为 Kerberos(用于 Web 客户机的 Windows 单点登录的底层安全机制)对时钟的偏移是非常敏感的。不论何时都应该尽可能的校准时钟。如有必要,Windows 管理员可以通过以下步骤加大时钟偏移容错:

过程

  1. 启动“组策略管理”控制台。(例如,在 Windows Server 2008 上,单击“开始 > 运行”,输入“gpmc.msc” 并单击“确定”。)
  2. 在控制台树中找到所需的域,然后展开树。
  3. 展开“组”策略对象。
  4. 在“组”策略对象下,单击“缺省域”策略(随后会出现)。在“Default Domain(缺省域)策略”的“设置”选项卡上,单击“安全”设置,然后选择“Account policies/Kerberos policy(帐户策略/Kerberos 策略)”。
  5. 双击“计算机时钟同步的最大误差”进行编辑。

DNS 要求

考虑到每个域都有明确的名称层次结构(如“east.renovations.com”和“west.renovations.com”),网络管理员必须配置 DNS 正向查找区域和 DNS 反向查找区域,这样计算机才能解析其它域的域名。

浏览器要求

必须对浏览器进行配置,以使 Windows 单点登录到每个目标 Active Directory 域。

Domino® 名称查找要求

每台 Domino® 服务器必须能够查找所有 Active Directory 域内用户的 Kerberos 名称。如果用户的 Kerberos 名称存储在多个 Domino® 目录中,那么 Domino® 管理员必须对每台 Domino® 服务器进行设置,以便能够使用目录编目或目录辅助在辅助 Domino® 目录中查找用户名。如果 Active Directory 目录服务正在解析用户的 Kerberos 名称,那么每个 Domino® 服务器都可以使用目录服务查找用户所在 Active Directory 中的名称。

单点登录配置建议

关于此任务

用户的 Windows 单点登录配置完之后,Domino® 服务器会向用户返回一个 LTPA 令牌。用户应该仔细规划 SSO 部署,考虑 Domino® 服务器是否要共享相同的 SSO 配置。

例如,如果将域“east.renovations.com”和域“west.renovations.com”中的服务器 SSO 密钥设置成同一密钥,那么“east”服务器将会收到由“west”服务器创建的 LTPA 令牌。这种情况下,SSO 配置文档就能够使用诸如“renovations.com”的通用 DNS 域。

然而,如果“east”服务器和“west”服务器未共享同一 SSO 密匙,则用户将无法使用“renovations.com”这类的通用 DNS 域进行 SSO。但是用户可以调整自己的 SSO 域,使其可以在 Windows DNS 域中操作。

示例:低效率的 SSO 配置

以下示例详细解释了为什么“east”服务器和“west”服务器使用不同的 SSO 密钥时,使用“renovations.com”通用 SSO 域会导致效率低下。

过程

  1. 用户使用 Windows 单点登录向 east.renovations.com 中的服务器进行认证。east 服务器使用 east 服务器的 SSO 密匙创建用户的 LTPA 令牌。用户浏览器将获得一个要与“renovations.com”DNS 域一起使用的 LTPA 令牌。
  2. 用户访问“west.renovations.com”中的服务器。浏览器发送适用于“renovations.com”中的所有服务器的“LTPA”令牌。west.renovations.com 中的服务器花时间试图验证该令牌,但未成功,原因是该令牌并未与 east 服务器共享 SSO 密钥。
  3. “west”服务器不能验证现有 LTPA 令牌,因此必须通过 Windows 单点登录对用户进行认证。west 服务器使用 wast 服务器的 SSO 密匙创建用户的 LTPA 令牌。用户浏览器将获得一个要与“renovations.com”DNS 域一起使用的新 LTPA 令牌。浏览器现在只有由“west”服务器创建的“LTPA”令牌,该令牌替代了之前的令牌。
  4. 用户访问“east.renovations.com”中的某台服务器。浏览器发送适用于“renovations.com”中的所有服务器的“LTPA”令牌。west 服务器花时间试图验证令牌,但未成功,原因是 west 服务器是使用备用 SSO 密钥创建的该令牌。用户必须使用 Windows 单点登录再次向“east”服务器进行认证。“east”服务器将重新覆盖现有的“LTPA”令牌。

结果

不断重复使用 Windows 单点登录和覆盖 LTPA 令牌效率非常低下。

示例:高效的 SSO 配置

以下示例详细解释了 west.renovations.com 和 east.renovations.com 中的服务器使用不同的 SSO 密钥时,如何使用适合 Windows 域的 SSO 域来提高效率。

过程

  1. 用户向 east.renovations.com 中的服务器进行认证,获取与 east.renovations.com DNS 域一起使用的 LTPA 令牌。
  2. 用户访问“west.renovations.com”中的服务器。浏览器不发送仅供“east”服务器使用的“LTPA”令牌。
  3. “west”服务器必须通过 Windows 单点登录对用户进行认证。用户获得第二张 LTPA 令牌,该令牌可以与 west.renovations.com DNS 域一起使用。
  4. 用户访问 east.renovations.com 中的某台服务器。浏览器发送它所拥有的第一张“LTPA”令牌,该令牌适用于所有“east”服务器。“east”服务器使用“LTPA”令牌确定用户身份。
  5. 用户访问 west.renovations.com 中的某台服务器。浏览器发送它所拥有的第二张“LTPA”令牌,该令牌适用于所有“west”服务器。“west”服务器使用“LTPA”令牌确定用户身份。