8.4.5. 跨域信任


在 Kerberos 协议中,realm 是一组 Kerberos 主体。这些主体的定义存在于 Kerberos 数据库中,通常是 LDAP 服务器。

Kerberos 协议允许跨域信任。例如,如果存在 2 个 Kerberos 域、A 和 B,那么跨域信任将允许 realm A 的用户访问 realm B 的资源。realm B 信任域 A.

Kerberos 跨域信任

kerberos trust basic

Red Hat Single Sign-On 服务器支持跨域信任。要做到这一点,请执行以下操作:

  • 为跨域信任配置 Kerberos 服务器。实施此步骤取决于 Kerberos 服务器实现。此步骤是将 Kerberos 主体 krbtgt/B@A 添加到 realm A 和 B 的 Kerberos 数据库中。这个主体必须在 Kerberos 域上都有相同的密钥。主体必须在两个域中都有相同的密码、密钥版本号和密码。详情请查看 Kerberos 服务器文档。
注意

默认情况下,跨域信任是单向。您必须将主体 krbtgt/A@B 添加到 Kerberos 数据库,以便在域 A 和域 B 之间进行双向信任。但是,默认情况下信任是传输的。如果 realm B 信任域 A 和 realm C 信任域 B,那么 realm C 信任域 A 不使用主体 krbtgt/C@A,可用。Kerberos 客户端中可能需要其他配置(例如 capaths),以便客户端能够找到信任路径。详情请查看 Kerberos 文档。

  • 配置红帽单点登录服务器

    • 当使用带有 Kerberos 支持的 LDAP 存储供应商时,为域 B 配置服务器主体,如下例所示: HTTP/mydomain.com@B。如果域 A 中的用户成功向 Red Hat Single Sign-On 进行身份验证,LDAP 服务器必须查找来自 realm A 的用户,因为红帽单点登录必须执行 SPNEGO 流,然后查找用户。

例如,在 LDAP DN 的 LDAP 中必须有 Kerberos 主体用户 john@A,如 uid=john,ou=People,dc=example,dc=com。如果您希望域 A 和 B 中的用户进行身份验证,请确保 LDAP 可以从 realms A 和 B 中查找用户。

  • 当使用 Kerberos 用户存储供应商(通常是没有 LDAP 集成)时,将服务器主体配置为 HTTP/mydomain.com@B,并且来自 Kerberos 域 A 和 B 的用户必须能够进行身份验证。
警告

在使用 Kerberos 用户存储供应商时,Kerberos 域中不能有冲突的用户。如果存在冲突的用户,Red Hat Single Sign-On 会将它们映射到同一用户。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.