4.2. 在从 LDAP 迁移到 IdM 时规划客户端配置
身份管理(IdM)可以支持多种不同的客户端配置,具有不同功能、灵活性和安全性。根据操作系统以及您的 IT 维护优先级,确定最适合每个客户的配置。还要考虑客户端的功能区域:开发计算机通常需要的配置与生产服务器或用户笔记本电脑不同。
大多数环境都混合有客户端连接到 IdM 域的不同方式。管理员必须决定哪种场景最适合每个客户端。
4.2.1. 初始的、迁移前的客户端配置
在决定身份管理(IdM)中客户端配置的细节之前,请首先确定当前的、迁移前配置的具体信息。
要迁移的几乎所有 LDAP 部署的初始状态是,有一个提供身份和身份验证服务的 LDAP 服务。
图 4.1. 基本的 LDAP 目录和客户端配置
Linux 和 Unix 客户端使用 PAM_LDAP 和 NSS_LDAP 库来直接连接 LDAP 服务。这些库允许客户端从 LDAP 目录检索用户信息,就像数据存储在 /etc/passwd
或 /etc/shadow
中一样。在现实环境中,如果客户端使用 LDAP 进行身份查找,使用 Kerberos 进行身份验证或其他配置,则基础架构可能更为复杂。
身份管理(IdM)服务器与 LDAP 目录不同,特别是在模式支持和目录树的结构方面。有关这些差异的更多背景,请参阅 当从 LDAP 迁移到 IdM 时规划客户端配置 中的 将 IdM 与标准 LDAP 目录进行对比 部分。这些差异可能会影响数据,特别是目录树,这会影响条目名称。但是,这些差异对客户端配置和将客户端迁移到 IdM 的影响不大。
4.2.2. 推荐的 RHEL 客户端配置
描述的客户端配置只支持 RHEL 6.1 及之后的版本以及 RHEL 5.7 之后的版本,它支持最新版本的 SSSD 和 ipa-client
软件包。可以配置 RHEL 的旧版本 ,如 可选的支持的配置 中所述。
Red Hat Enterprise Linux(RHEL)中的系统安全服务守护进程(SSSD)使用特殊的 PAM 和 NSS 库:pam_ss
和 nss_sss
。使用这些库,SSSD 可以与身份管理(IdM)紧密集成,并从其完整的身份验证和身份功能中获益。SSSD 具有一些有用的特性,如缓存身份信息,因此即使与中央服务器的连接丢失,用户也可以登录。
与使用 pam_ldap
和 nss_ldap
库的通用 LDAP 目录服务不同,SSSD 通过定义 域 来在身份和身份验证信息之间建立关系。SSSD 中的域定义以下后端功能:
- 认证
- 身份查找
- 权限
- 密码更改
然后,SSSD 域配置为使用 提供者 来为任何一个或所有这些功能提供信息。域配置始终需要一个 身份 提供者。其他三个提供者是可选的;如果未定义身份验证、访问或密码提供者,则身份提供者用于此功能。
SSSD 可以对所有后端功能使用 IdM 。这是理想的配置,因为它提供完整的 IdM 功能,与通用的 LDAP 身份提供者或 Kerberos 身份验证不同。例如,在日常操作中,SSSD 在 IdM 中强制执行基于主机的访问控制规则和安全功能。
图 4.2. 客户端和带有 IdM 后端的 SSSD
ipa-client-install
脚本自动将 SSSD 配置为对所有其后端服务使用 IdM ,以便默认使用推荐的配置设置 RHEL 客户端。
附加信息
4.2.3. 替代的支持的配置
UNIX 和 Linux 系统(如 Mac、Solaris、HP-UX、AIX 和 Scientific Linux)支持身份管理(IdM)管理的所有服务,但不使用 SSSD。同样,旧的 Red Hat Enterprise Linux(RHEL)版本(特别是 6.1 和 5.6)支持 SSSD,但有一个旧版本,它不支持 IdM 作为身份提供者。
如果不能对系统使用 SSSD 的现代版本,则可以通过以下方式配置客户端:
-
客户端使用
nss_ldap
连接到 IdM 服务器,就像它是用于身份查找的 LDAP 目录服务器一样。 -
客户端使用
pam_krb5
连接到 IdM 服务器,就像它是常规的 Kerberos KDC 一样。
有关配置 带有旧版本的 SSSD 的 RHEL 客户端 以使用 IdM 服务器作为其身份提供商及其 Kerberos 身份验证域的更多信息,请参阅 RHEL 7 系统级身份验证指南 中的 为 SSSD 配置身份和身份验证提供商 部分。
图 4.3. 客户端与带有 LDAP 和 Kerberos 的 IdM
通常,这通常是对客户端使用最安全配置的最佳实践。这意味着 SSSD 或 LDAP 用于身份,Kerberos 用于身份验证。但是,对于某些维护情况和 IT 结构,您可能需要使用最简单的情景:通过在客户端上使用 nss_ldap
和 pam_ldap
库将 LDAP 配置为提供身份和身份验证。