第 1 章 RHEL 中 IdM 和访问控制规划概述

以下小节提供了 Red Hat Enterprise Linux 中的身份管理(IdM)和访问控制选项总览。阅读这些部分后,您就能够进入环境的规划阶段。

1.1. IdM 简介

Red Hat Identity Management (IdM) 提供一个中心化的、统一的方式在基于 Linux 的域中管理身份存储、身份验证、策略和授权策略。

Red Hat Enterprise Linux 中 IdM 的目标

IdM 可显著降低单独管理不同服务以及在不同机器上使用不同工具的管理开销。

IdM 是一个用于中央化身份、策略和授权的软件解决方案,它支持:

  • Linux 操作系统环境的高级特性
  • 统一大型的 Linux 机器组
  • 与 Active Directory 的原生集成

IdM 创建一个基于 Linux 并由 Linux 控制的域:

  • IdM 基于现有的原生 Linux 工具和协议构建。它有自己的进程和配置,但其底层的技术已在 Linux 系统中广泛使用,并被 Linux 管理员信任。
  • IdM 服务器和客户端是 Red Hat Enterprise Linux 机器。IdM 客户端也可以是支持标准协议的其它 Linux 和 UNIX 发行版本。Windows 客户端不能是 IdM 域的成员,但用户登录到 Active Directory (AD) 管理的 Windows 系统可以连接到 Linux 客户端或访问由 IdM 管理的服务。这可以通过在 AD 和 IdM 域间建立跨林信任来实现。

在多个 Linux 服务器中管理身份及策略

没有 IdM:每个服务器都单独管理。所有密码都保存在本地机器上。IT 管理员管理每台计算机上的用户,单独设置身份验证和授权策略,并且维护本地密码。然而,用户通常会依赖其他中央化的解决方案,例如直接与 AD 集成。可使用几种不同的解决方案直接与 AD 集成:

  • 旧 Linux 工具(不推荐使用)
  • 基于 Samba winbind 的解决方案(针对特定用例推荐)
  • 基于第三方软件的解决方案(通常需要其他供应商的许可证)
  • 基于 SSSD 的解决方案(针对大多数用例的原生 Linux 推荐)

使用 IdM:IT 管理员可以:

  • 在一个中央位置管理用户的身份:IdM 服务器
  • 同时对多个机器统一应用策略
  • 使用基于主机的访问控制、委托和其他规则为用户设置不同的访问级别
  • 集中管理权限升级规则
  • 定义如何挂载主目录

企业级 SSO

如果是 IdM Enterprise,单点登录(SSO)会通过 Kerberos 协议实现。此协议在基础架构级别中很受欢迎,并启用带有 SSH、LDAP、NFS、CUPS 或 DNS 等服务的 SSO。也可以使用不同 Web 堆栈(Apache、EAP 和 Django 等)的 Web 服务将 Kerberos 用于 SSO。但是,实践显示,使用基于 SSO 的 OpenID Connect 或 SAML 对于 Web 应用更为方便。若要桥接两个层,建议部署一种身份提供程序 (IdP) 解决方案,该解决方案可以将 Kerberos 身份验证转换为 OpenID Connect 凭证或 SAML 断言。基于 Keycloak 开源项目的 Red Hat SSO 技术就是这样的 IdP 示例

没有 IdM:用户每次访问服务或应用程序时都会提示用户输入密码。这些密码可能有所不同,用户必须记住使用哪个凭证。

使用 IdM:在用户登录系统后,他们可以访问多个服务和应用程序,无需重复提供自己的身份凭证。这有助于:

  • 提高可用性
  • 降低以不安全方式写入或保存密码的安全风险
  • 提高用户的生产率

管理一个混合了 Linux 和 Windows 的环境

没有 IdM:Windows 系统在 AD 林中管理,但开发、生产和其他团队有许多 Linux 系统。AD 环境中排除了 Linux 系统。

使用 IdM:IT 管理员可以:

  • 使用原生 Linux 工具管理 Linux 系统
  • 将 Linux 系统整合到由 Active Directory 集中管理的环境中,并保留集中用户存储。
  • 根据需要轻松部署新的 Linux 系统。
  • 迅速响应业务需求,并在不依赖于其他团队的情况下做出与管理 Linux 构架相关的决定,避免延迟。

将 IdM 与标准 LDAP 目录进行比较

标准 LDAP 目录(如 Red Hat Directory Server)是一个通用目的目录:可以定制为适应各种使用案例。

  • Schema:一种可针对大量条目(如用户、计算机、网络实体、物理设备或设施)自定义的灵活方案。
  • 通常用作:用于存储其他应用的数据的后端目录,如在 Internet 上提供服务的业务应用程序。

IdM 具有特定目的:管理内部、企业内部身份,以及与这些身份相关的身份验证和授权策略。

  • Schema:定义一组与其目的相关的特定条目的特定架构,如用于用户身份或机器身份的条目。
  • 通常,身份和验证服务器用于在企业或项目边界内管理身份。

Red Hat Directory Server 和 IdM 的底层目录服务器技术是相同的。但是,IdM 被优化来管理企业内部的身份。这限制了其总体可扩展性,但也带来了一些好处:更简单的配置、更好的资源管理自动化和提高企业身份管理效率。

其他资源