Red Hat Training

A Red Hat training course is available for RHEL 8

第 109 章 使用外部身份提供程序向 IdM 进行身份验证

警告

将用户身份验证委派给外部身份提供者目前还只是一个技术预览,不是一个完全支持的功能。

您可以将用户与支持 OAuth 2 设备授权流的外部身份提供者(IdP)关联。当这些用户使用 RHEL 8.7 或更高版本中提供的 SSSD 版本进行身份验证时,它们会在外部 IdP 执行身份验证和授权后收到带有 Kerberos 票据的 RHEL 身份管理(IdM)单点登录的功能。

主要特性包括:

  • 使用 ipa idp-* 命令添加、修改和删除对外部 IdP 的引用。
  • 使用 ipa user-mod --user-auth-type=idp 命令为用户启用 IdP 身份验证。

本节讨论以下主题:

109.1. 将 IdM 连接到外部 IdP 的好处

作为管理员,您可能想要允许存储在外部身份源(如云服务供应商)中的用户访问连接到 Identity Management (IdM)环境的 RHEL 系统。要达到此目的,您可以将这些用户的 Kerberos 票据的身份验证和授权过程委托给该外部实体。

您可以使用此功能扩展 IdM 的功能,并允许存储在外部身份提供程序(IdP)中的用户访问由 IdM 管理的 Linux 系统。

109.1.1. IdM 如何通过外部 IdP 融合登录

SSSD 2.7.0 包含 sssd-idp 软件包,该软件包可实施 idp Kerberos pre-authentication 方法。这个验证方法遵循 OAuth 2.0 设备授权流,将授权决策委派给外部 IdP:

  1. IdM 客户端用户启动 OAuth 2.0 设备授权流,例如,通过在命令行中使用 kinit 实用程序检索 Kerberos TGT。
  2. 一个特殊的代码和网站链接从授权服务器发送到 IdM KDC 后端。
  3. IdM 客户端显示用户的链接和代码。在本例中,IdM 客户端会在命令行上输出链接和代码。
  4. 用户在浏览器中打开网站链接,可以在另一个主机上、移动电话等:

    1. 用户输入特殊代码。
    2. 如有必要,用户登录到基于 OAuth 2.0 的 IdP。
    3. 系统将提示用户授权客户端访问信息。
  5. 用户在原始设备提示符处确认访问。在这个示例中,用户在命令行中点击 Enter 键。
  6. IdM KDC 后端轮询 OAuth 2.0 授权服务器以访问用户信息。

支持什么:

  • 启用了 键盘互动 验证方法通过 SSH 远程登录,它允许调用可插拔式身份验证模块(PAM)库。
  • 使用控制台通过登录服务进行本地 登录
  • 使用 kinit 实用程序检索 Kerberos ticket-granting ticket (TGT)。

当前不支持什么:

  • 直接登录到 IdM WebUI。要登录到 IdM WebUI,您必须首先获取一个 Kerberos ticket。
  • 直接登录 Cockpit WebUI。要登录 Cockpit Web UI,您必须首先获取一个 Kerberos ticket。