8.4. Kerberos
Red Hat Single Sign-On 支持通过 Simple 和 Protected GSSAPI Negotiation Mechanism (SPNEGO)协议进行 Kerberos 票据登录。SPNEGO 在用户进行身份验证后通过 Web 浏览器进行透明验证。对于非 Web 情况,或在登录过程中无法使用一个 ticket,Red Hat Single Sign-On 支持使用 Kerberos 用户名和密码登录。
Web 身份验证的典型用例如下:
- 用户登录桌面。
- 用户使用浏览器访问由 Red Hat Single Sign-On 保护的 Web 应用。
- 应用重定向到 Red Hat Single Sign-On 登录。
-
Red Hat Single Sign-On 会呈现 HTML 登录屏幕,状态为 401 和 HTTP 标头
WWW-Authenticate: Negotiate
-
如果浏览器有来自桌面登录的 Kerberos 票据,浏览器会将桌面登录信息传送到标题
授权中的 Red Hat Sign-On: Negotiate 'spnego-token'
。否则,它会显示标准登录屏幕,用户输入登录凭证。 - Red Hat Single Sign-On 从浏览器中验证令牌并验证用户。
- 如果将 LDAPFederationProvider 与 Kerberos 验证支持搭配使用,红帽单点登录从 LDAP 中置备用户数据。如果使用 KerberosFederationProvider,Red Hat Single Sign-On 允许用户更新配置集并预先填充登录数据。
- 红帽单点登录返回应用程序。Red Hat Single Sign-On,应用程序通过 OpenID Connect 或 SAML 消息进行通信。红帽单点登录充当 Kerberos/SPNEGO 登录的代理。因此,应用程序会隐藏通过 Kerberos 进行 Red Hat Single Sign-On 验证。
执行以下步骤设置 Kerberos 身份验证:
- Kerberos 服务器的设置和配置。
- Red Hat Single Sign-On 服务器的设置和配置。
- 客户端机器的设置和配置。
8.4.1. Kerberos 服务器设置
设置 Kerberos 服务器的步骤取决于操作系统(OS)和 Kerberos 供应商。有关设置和配置 Kerberos 服务器的说明,请参阅 Windows Active Directory、MIT Kerberos 和您的 OS 文档。
在设置过程中,执行以下步骤:
- 在 Kerberos 数据库中添加一些用户主体。您还可以将 Kerberos 与 LDAP 集成,以便从 LDAP 服务器置备用户帐户。
为 "HTTP" 服务添加服务主体。例如,如果 Red Hat Single Sign-On 服务器在
www.mydomain.org
上运行,请添加服务主体HTTP/www.mydomain.org@<kerberos realm>
。在 MIT Kerberos 中,您将运行"kadmin"会话。在带有 MIT Kerberos 的机器中,您可以使用以下命令:
sudo kadmin.local
然后,使用命令添加 HTTP 主体并将其密钥导出到 keytab 文件中,例如:
addprinc -randkey HTTP/www.mydomain.org@MYDOMAIN.ORG ktadd -k /tmp/http.keytab HTTP/www.mydomain.org@MYDOMAIN.ORG
在运行 Red Hat Single Sign-On 的主机上,确保 keytab 文件 /tmp/http.keytab
可访问。