规划身份管理
大约 69 分钟
规划身份管理
来源:官方文档 原始多页入口:规划身份管理 内容规模:约 69,661 字符,91 个章节标题,73 个命令/代码块,30 条提示框
阅读提要
- 副标题:规划 IdM 环境的基础架构和服务的集成
- 摘要:身份管理(IdM)提供了一种集中且统一的方法来管理身份存储、身份验证和授权策略。 对于您环境中成功的 IdM 集成,请了解 IdM 的组件并规划安装。例如,计划一个用于故障转移和负载均衡的复制拓扑、到活动目录(AD)的集成、DNS 区域的结构和证书颁发机构(CA),以及备份和恢复场景。
- 主要章节:规划 IdM 环境的基础架构和服务的集成;对红帽文档提供反馈;第 1 章 RHEL 中 IdM 和访问控制概述;第 2 章 IdM 中的故障转移、负载平衡和高可用性;第 3 章 规划副本拓扑;第 4 章 规划您的 DNS 服务和主机名;第 5 章 规划您的 CA 服务;第 6 章 计划与 AD 集成;第 7 章 规划 IdM 和 AD 间的跨林信任;第 8 章 准备使用 IdM 备份数据丢失;第 9 章 IdM 与红帽产品集成;第 10 章 为 IdM 域中的 RHEL 10 web 控制台配置单点登录
- 推荐阅读顺序:先看“阅读提要”和目录,再按章节查看“关键点/命令/注意”;需要原文细节时点击来源链接。
章节笔记
概览
- 该章节主要为下一级主题的入口。
规划 IdM 环境的基础架构和服务的集成
- 要点:摘要
对红帽文档提供反馈
- 要点:我们致力于为您提供高质量的文档,您的反馈将对我们有很大帮助。为帮助我们改进,您可以通过 Red Hat Jira 跟踪系统提交建议或报告错误。
- 要点:流程
- 列表:登录到 Jira 网站。 如果您还没有帐户,请创建一个。
- 列表:单击顶部导航栏中的 Create。
- 列表:在 Summary 字段中输入描述性标题。
- 列表:在 Description 字段中输入您对改进的建议。包括文档相关部分的链接。
- 列表:点窗口底部的 Create。
第 1 章 RHEL 中 IdM 和访问控制概述
- 要点:了解如何使用身份管理(IdM)来集中身份服务、实施安全控制,以及遵守最佳实践和安全策略。探索在 Linux 和 Windows 环境中部署 IdM 的常见客户场景和解决方案。
1.1. IdM 简介
- 要点:身份管理(IdM)提供了一种集中且统一的方法,来在基于 Linux 的域中管理身份存储、身份验证、策略和授权。IdM 可显著降低单独管理不同服务以及在不同机器上使用不同工具的管理开销。
- 要点:IdM 是一个用于中央化身份、策略和授权的软件解决方案,它支持:
- 列表:Linux 操作系统环境的高级特性
- 列表:统一大型的 Linux 机器组
- 列表:与 Active Directory 的原生集成
- 列表:IdM 基于现有的原生 Linux 工具和协议构建。它有自己的进程和配置,但其底层的技术已在 Linux 系统中广泛使用,并被 Linux 管理员信任。
- 列表:IdM 服务器和客户端是 Red Hat Enterprise Linux 机器。IdM 客户端也可以是支持标准协议的其它 Linux 和 UNIX 发行版本。Windows 客户端不能是 IdM 域的成员,但用户登录到 Active Directory (AD) 管理的 Windows 系统可以连接到 Linux 客户端或访问由 IdM 管理的服务。这可以通过在 AD 和 IdM 域间建立跨林信任来实现。
1.1.1. IdM 带来的好处的示例
- 要点:在多个 Linux 服务器中管理身份及策略
- 要点:没有 IdM:每个服务器都单独管理。所有密码都保存在本地机器上。IT 管理员管理每台计算机上的用户,单独设置身份验证和授权策略,并且维护本地密码。然而,用户通常会依赖其他中央化的解决方案,例如直接与 AD 集成。可使用几种不同的解决方案直接与 AD 集成:
- 列表:旧 Linux 工具(不推荐使用)
- 列表:基于 Samba winbind 的解决方案(针对特定用例推荐)
- 列表:基于第三方软件的解决方案(通常需要其他供应商的许可证)
- 列表:基于 SSSD 的解决方案(针对大多数用例的原生 Linux 推荐)
- 列表:在一个中央位置管理用户的身份:IdM 服务器
- 列表:同时对多个机器统一应用策略
1.1.2. IdM 与标准 LDAP 目录的对比
- 要点:标准 LDAP 目录(如 Red Hat Directory Server)是一个通用目的目录:可以定制为适应各种使用案例。
- 要点:IdM 具有特定目的:管理内部、企业内部身份,以及与这些身份相关的身份验证和授权策略。
- 列表:Schema:一种可针对大量条目(如用户、计算机、网络实体、物理设备或设施)自定义的灵活方案。
- 列表:通常用作:用于存储其他应用的数据的后端目录,如在 Internet 上提供服务的业务应用程序。
- 列表:Schema:定义一组与其目的相关的特定条目的特定架构,如用于用户身份或机器身份的条目。
- 列表:通常,身份和验证服务器用于在企业或项目边界内管理身份。
- 列表:身份管理或红帽目录服务器 - 我应该使用哪一个?
- 列表:标准协议 (红帽知识库)
1.2. 常见 IdM 客户场景及其解决方案
- 要点:为了帮助您为您的环境选择最佳的身份管理方法,请考虑以下在 Linux 和 Windows 环境中进行身份管理和访问控制的常见用例示例。
- 要点:情况
- 列表:如果可能,请使用 RHEL Web 控制台。
- 列表:尽可能在命令行中使用简单命令。
- 列表:参加红帽系统管理课程。
- 列表:在 IdM 中配置证书映射。
- 列表:如果存在 IdM-AD 信任,请确保已启用 GSSAPI 委派。
- 列表:为 RSA 令牌配置 IdM 中的 radius 配置。
1.3. IdM 服务器和客户端简介
- 要点:查看身份管理(IdM)服务器和客户端的角色和功能,包括它们如何交互在 Linux 域中进行身份验证、身份管理和策略强制,以确保高可用性和冗余。
- 要点:IdM域包括以下类型的系统:
- 列表:证书颁发机构 (CA):此服务大多数 IdM 部署中存在。
- 列表:密钥恢复授权中心 (KRA)
- 列表:DNS
- 列表:Active Directory (AD) 信任控制器
- 列表:Active Directory (AD) 信任代理
- 列表:身份管理中的公钥证书
- 注意:警告 CA 续订服务器 对您的 IdM 部署至关重要,因为它是域中的唯一负责跟踪 CA 子系统证书和密钥的系统。
- 注意:注意 所有 IdM 服务器都必须运行相同的 RHEL 主版本和次版本。不要在拓扑中花费超过几天的时间来应用 z-流更新或升级 IdM 服务器。
1.4. 安装 IdM 客户端支持的 RHEL 版本
- 要点:确定服务器在 RHEL 10 上运行时支持的身份管理 (IdM) 红帽企业 Linux 客户端版本。
- 要点:身份管理(IdM)部署(其中 IdM 服务器运行在 RHEL 10 的最新次版本上)支持运行在最新次版本上的客户端:
- 列表:RHEL 7
- 列表:RHEL 8
- 列表:RHEL 9
- 列表:(RHEL-10)
- 注意:注意 虽然其他客户端系统(如 Ubuntu)可以与 IdM 10 服务器一起工作,但红帽不为这些客户端提供支持。
1.5. RHEL 中的 IdM 和访问控制:中央化和本地化的比较
- 要点:在 Red Hat Enterprise Linux 中,您可以使用集中工具对整个系统域管理身份和访问控制策略,或使用本地工具管理单一系统。
- 要点:使用 Identity Management IdM,IT 管理员可以:
- 列表:在一个中央位置维护身份和分组机制:IdM 服务器
- 列表:集中管理不同类型的凭证,如密码、PKI 证书、OTP 令牌或 SSH 密钥
- 列表:同时对多个机器统一应用策略
- 列表:为外部 Active Directory 用户管理 POSIX 和其他属性
- 列表:使用基于主机的访问控制、委托和其他规则为用户设置不同的访问级别
- 列表:集中管理权限升级规则 (sudo) 和强制访问控制(SELinux 用户映射)
1.6. IdM 术语
- 要点:查看与身份管理(IdM)相关的基本术语、概念和缩写,包括 Active Directory 集成、Kerberos 身份验证、证书和服务器架构。
- 要点:发布数字证书的实体。在 Red Hat Identity Management 中,主 CA 是 ipa,IdM CA。ipa CA 证书是以下类型之一:
- 列表:自签名。在本例中,ipa CA 是 root CA。
- 列表:外部签名。在这种情况下,ipa CA 会从属到外部 CA。
- 列表:由 ipa CA 签名。
- 列表:由自身和 ipa CA 之间的任意中间 CA 签名。子 CA 的证书不能是自签名的。
- 列表:当 SSSD 检测到新的 AD 域时,它会为这个新域分配一个可用的 ID 范围。因此,每个 AD 域在每个 SSSD 客户端机器上都有一个相同的 ID 范围。
- 列表:当 AD 用户第一次登录到 SSSD 客户端机器时,SSSD 会在 SSSD 缓存中为用户创建一个条目,包括基于用户的 SID 和该域的 ID 范围的 UID。
- 表格样本(共 4 行):
- 实体 | 命名规则 | 示例
- 用户 | identifier@REALM | admin@EXAMPLE.COM
- 服务 | service/fully-qualified-hostname@REALM | http/server.example.com@EXAMPLE.COM
- 主机 | host/fully-qualified-hostname@REALM | host/client.example.com@EXAMPLE.COM
第 2 章 IdM 中的故障转移、负载平衡和高可用性
- 要点:身份管理(IdM)为 IdM 客户端提供了故障转移机制,为 IdM 服务器提供了负载平衡和高可用性功能。IdM 客户端和 SSSD 会自动选择可用的服务器和服务器端架构,通过使用多个副本提供高可用性。
2.1. 客户端故障转移功能
- 要点:客户端故障切换是 IdM 客户端上内置的 SSSD 机制,它自动确定并连接到可用的 IdM 服务器,以保持持续的身份验证和访问。
- 要点:故障转移机制使用 DNS SRV 记录,以便在主服务器不可用时,便于在 IdM 服务器之间进行发现和切换。
- 注意:注意 SSSD 从 DNS 服务器查询 SRV 记录。默认情况下,在尝试查询另一个 DNS 服务器前,SSSD 会等待 6 秒,以得到 DNS 解析器的回复。如果所有 DNS 服务器都不可访问,域将继续在离线模式下运行。您可以使用 dns_resolver_timeout 选项增加客户端等待 DNS 解析器回复的时间。
2.2. IdM服务器端负载平衡和高可用性
- 要点:您可以通过安装多个 IdM 副本在 IdM 中实现负载平衡和高可用性,这些副本提供跨 IdM 域的主动/主动服务可用性。此机制可确保高服务可用性和跨客户端的固有负载平衡。
- 列表:如果您的网络分布在不同的地理位置,可以通过为每个数据中心配置多个 IdM 副本来缩短 IdM 客户端和最快的服务器间的路径。
- 列表:红帽支持最多有 60 个副本的环境。
- 列表:IdM 复制机制提供主动/主动服务可用性:所有 IdM 副本的服务都同时可用。
- 注意:注意 红帽建议不要将 IdM 和其他负载均衡或高可用性(HA)软件结合使用。 许多第三方高可用性解决方案假定使用主动/被动模式,并可能导致 IdM 服务出现不必要的中断。其他解决方案使用虚拟 IP 或每个集群服务使用一个主机名。所有这些方法通常不适用于 IdM 所提供的服务。另外,它们与 Kerberos 的集成效果也不好,从而降低了部署的整体安全性和稳定性。
2.3. 配置 SSSD 客户端故障转移
- 要点:在 IdM 客户端上配置系统安全服务守护进程(SSSD)来管理服务器故障切换。
- 要点:您可以通过两种方式设置服务器连接首选项:启用 DNS SRV 记录自动发现或手动指定主服务器和备份服务器的优先级列表。
- 列表:您在 IdM 客户端计算机上具有根权限。
- 列表:您知道 IdM 服务器的完全限定域名 (FQDN)。
- 列表:如果您使用的是 DNS 方法,请确保正确配置了 IdM 服务器的 DNS SRV 记录。
- 列表:打开 /etc/sssd/sssd.conf 文件:
- 列表:使用以下方法之一指定服务器列表: 指定 srv 作为 ipa_server 参数中的第一个值,然后是主服务器 FQDN 的优先级列表。然后,在 ipa_backup_server 参数中列出任何备份服务器 FQDN。例如: [domain/<idm_domain_name>] id_provider = ipa ipa_server = srv, <primary_idm_server1>, <primary_idm_server2> ipa_backup_server = <backup_idm_server1>, <backup_idm_server2> ... ipa_backup_server 不支持 srv …
- 列表:指定 srv 作为 ipa_server 参数中的第一个值,然后是主服务器 FQDN 的优先级列表。然后,在 ipa_backup_server 参数中列出任何备份服务器 FQDN。例如: [domain/<idm_domain_name>] id_provider = ipa ipa_server = srv, <primary_idm_server1>, <primary_idm_server2> ipa_backup_server = <backup_idm_server1>, <backup_idm_server2> ... ipa_backup_server 不支持 srv 选项。
- 命令/配置摘录:
[domain/<idm_domain_name>] id_provider = ipa ipa_server = _srv_, <primary_idm_server1>, <primary_idm_server2> ipa_backup_server = <backup_idm_server1>, <backup_idm_server2> ...
[domain/<idm_domain_name>] id_provider = ipa ipa_server = <primary_idm_server1>, <primary_idm_server2> ipa_backup_server = <backup_idm_server1>, <backup_idm_server2> ...2.4. IdM服务器配置和故障转移参数
- 要点:/etc/sssd/sssd.conf 中的 ipa_server 参数控制系统安全服务守护进程(SSSD)客户端故障转移和服务器解析。使用 DNS SRV 记录或手动地址指定服务器。
- 要点:服务器配置选项
- 列表:指定 srv 选项后,SSSD 检索按首选顺序排序的 IdM 服务器的列表。如果主服务器离线,IdM 客户端上的 SSSD 服务会自动连接到另一个可用的 IdM 服务器。
- 列表:主服务器在 ipa_server 参数中指定。SSSD 尝试首先连接到主服务器,只有在没有主服务器可用时才切换到备份服务器。
- 列表:备份服务器不支持 srv 选项。
- 列表:删除 srv 条目并显式列出服务器,如 ipa_server = idm_server1.example.com、idm_server2.example.com,将绕过 DNS 查找。此配置确保客户端仅使用列出的优先级顺序连接到指定的 IdM 服务器。
- 表格样本(共 3 行):
- 参数 | 默认值 | 描述
- failover_primary_timeout | 31 秒 | SSSD 在连接到备份服务器时尝试重新连接到其中一个主服务器的时间间隔。
- dns_resolver_timeout | 6 秒 | 客户端在尝试查询另一个 DNS 服务器前,会等待 DNS 解析器的回复。如果所有 DNS 服务器都不可访问,域将继续在离线模式下运行。
第 3 章 规划副本拓扑
- 要点:规划您的 IdM 副本拓扑以实现高可用性和灾难恢复。获取有关服务器数量、设置复制协议和定义连接策略的准则,以优化性能和确保服务的连续性。
3.1. 多个副本服务器作为用于高性能和灾难恢复的解决方案
- 要点:您可以通过创建现有 IdM 服务器的副本来实现身份管理(IdM)服务的持续功能和高可用性。
- 要点:当您创建适当数量的 IdM 副本时,您可以使用负载均衡,来在多个服务器间分发客户端请求,以优化 IdM 服务的性能。使用 IdM,您可以将其它的服务器放在地理分散的数据中心,以反映您企业的组织结构。这样,IdM 客户端和最接近可访问服务器之间的路径会被缩短。另外,拥有多个服务器可允许为更多客户端分散负载和扩展。
3.2. IdM 副本之间的复制协议
- 要点:了解 IdM 如何在服务器之间创建双边复制协议以同步身份和证书数据,从而确保数据冗余并防止整个域的服务中断。
- 要点:当管理员基于现有服务器创建副本时,身份管理 (IdM) 会在初始服务器和副本之间创建复制协议。复制协议确保两个服务器之间不断复制数据和配置。
- 列表:域复制协议 复制身份信息。
- 列表:证书复制协议 复制证书信息。
3.3. 决定拓扑中合适数量的 IdM 副本的指南
- 要点:为确保最佳性能和服务可用性,请使用这些指导原则规划 IdM 拓扑并确定满足组织特定要求的合适副本数量。
3.4. 拓扑中连接 IdM 副本的指南
- 要点:在拓扑中正确调整 IdM 副本的大小并连接它们,对于确保您的基础架构保持高可用性、提供最佳性能并在整个域中实现数据一致性至关重要。
- 要点:每个服务器有大量的复制协议不会带来很大的好处。接收副本一次只能被另外一个副本更新,而其他复制协议则处于闲置状态。每个副本有超过四个复制协议通常意味着资源不足。
- 列表:如果某些副本没有在线或没有响应时,您需要使用故障切换路径。
- 列表:在大型部署中,您需要特定节点间的其他直接链接。
- 注意:注意 本建议适用于证书复制协议和域复制协议。
3.5. 副本拓扑示例
- 要点:这些示例提供了拓扑准则的实际应用。它们说明了如何构建 IdM deployment 以构建弹性和可扩展的 IdM 基础架构,从而保证跨多个数据中心的高可用性和最佳性能。
- 要点:图 3.2. 具有四个数据中心的副本拓扑,每个数据中心有四个使用复制协议连接的服务器
3.6. 隐藏副本模式
- 要点:隐藏副本是运行所有服务的 IdM 服务器,但它缺少 DNS SRV 记录,因此客户端无法检测到它进行服务发现。您可以使用隐藏副本执行备份或批量导入等关键、高负载操作,以避免中断客户端访问和性能。
- 要点:默认情况下,当您部署副本时,安装程序会在 DNS 中自动为其创建服务(SRV)资源记录。这些记录可让客户端自动发现副本及其服务。将副本安装为隐藏时,将 --hidden-replica 参数添加到 ipa-replica-install 命令中。
- 列表:安装身份管理副本
- 列表:备份和恢复 IdM
- 列表:演示或提升隐藏副本
第 4 章 规划您的 DNS 服务和主机名
- 要点:身份管理(IdM)提供不同的 DNS 配置。DNS 对所有 IdM 服务器和客户端通信至关重要,因此请仔细规划您的域名、Kerberos 域名和集成的 DNS 服务放置。
- 要点:以下小节提供了有关如何确定最适合您的用例的建议。
4.1. IdM 服务器中的 DNS 服务
- 要点:您可以将身份管理(IdM)域配置为使用集成或外部 DNS 服务。了解每个设置的好处和限制有助于确保正确的名称解析和服务发现。
- 要点:即使 IdM 服务器被用作主 DNS 服务器,其他外部 DNS 服务器仍然可以被用作次要服务器。例如,如果您的环境已经使用另一个 DNS 服务器,例如与 Active Directory (AD) 集成的 DNS 服务器,您只能将 IdM 主域委派给与 IdM 集成的 DNS。不需要将 DNS 区域迁移到 IdM DNS。
- 注意:注意 如果您需要在 Subject 备用名称 (SAN) 扩展中使用 IP 地址的 IdM 客户端发布证书,则必须使用 IdM 集成 DNS 服务。
- 表格样本(共 4 行):
- 带有集成的 DNS | 没有集成的 DNS
- 概述: | IdM 为 IdM 域运行自己的 DNS 服务。 | IdM 使用由外部 DNS 服务器提供的 DNS 服务。
- 限制: | IdM 提供的集成 DNS 服务器只支持与 IdM 部署和维护相关的功能。它不支持通用 DNS 服务器的一些高级功能。具体限制如下: IdM DNS 名称服务器必须是其区域的权威。 支持的记录类型是 A, AAAA, A6, AFSDB,CERT, CNAME, DLV, DLV, DNAME, DS, KX, LOC, MX, NAPTR, NS, PTR, SRV, SSHFP, TLSA, TXT 和 URI。 不支持拆分 DNS,也称为拆分视图, 拆分地平线, 脑裂 DNS。 如果 DNS 名称服务器在多核环境中重新启动,则有已知问题。例如,如果日志轮转导致名称服务器重新启动,则名称服务器可能会崩溃。如果您必须使用多核配置,允许 systemd 在出现故障时重新启动名称服务器。 | DNS 没有与原生 IdM 工具集成。例如,IdM 不会在拓扑更改后自动更新 DNS 记录。
- 这最适合于: | IdM 部署中的基本使用情况。 当 IdM 服务器管理 DNS 时,DNS 与原生 IdM 工具紧密集成,这样可启用自动化一些 DNS 记录管理任务。 | 需要 IdM DNS 范围之外的高级 DNS 功能的环境。 带有良好 DNS 基础架构的环境,其中您要继续使用外部 DNS 服务器。
4.2. 规划 DNS 域名和 Kerberos 域名和 Kerberos 域名的指南
- 要点:安装第一个 IdM 服务器时,必须定义主 DNS 域名和 Kerberos 领域名称。使用这些指南可正确设置名称,以便为整个 IdM 域和任何未来的 Active Directory 信任建立适当的兼容性、安全性和功能。
- 要点:考虑把 realm 的名称设置为主(primary)DNS 域名 (example.com) 的大写形式(EXAMPLE.COM)。
- 注意:警告 您将无法在安装该服务器后更改 IdM 主域名和 Kerberos 域名称。不要希望通过更改名称从测试环境移到生产环境,例如从 lab.example.com 更改为 production.example.com。
- 注意:警告 如果您没有将 Kerberos 域名设置为主 DNS 名称的大写版本,则将无法使用 AD 信任。
4.2.1. 有关规划 DNS 域名和 Kerberos 域名的附加备注
- 要点:IdM 服务器和客户端不需要在与 IdM 域本身相同的 DNS 域中有主机名。例如,如果 IdM 域是 idm.example.com,客户端可以位于 client.example.com 域中,但必须在 DNS 域和 Kerberos 域之间配置清晰的映射。
- 列表:一个 IdM 部署总是代表一个 Kerberos 域。
- 列表:您可以从多个不同 DNS 域(example.com、example.net、example.org)把 IdM 客户端加入到单个 Kerberos realm (EXAMPLE.COM)。
- 列表:IdM 服务器和客户端不需要在与 IdM 域本身相同的 DNS 域中有主机名。例如,如果 IdM 域是 idm.example.com,客户端可以位于 client.example.com 域中,但必须在 DNS 域和 Kerberos 域之间配置清晰的映射。 注意 创建映射的标准方法是使用 _kerberos TXT DNS 记录。IdM 集成的 DNS 会自动添加这些记录。
- 注意:注意 创建映射的标准方法是使用 _kerberos TXT DNS 记录。IdM 集成的 DNS 会自动添加这些记录。
4.2.2. 规划 DNS 转发
- 列表:如果要对整个 IdM 部署只使用一个转发器,请配置 全局转发器。
- 列表:如果您的公司在分布在地理位置分散的多个位置,那么全局转发器可能是不切实际的。配置 每台服务器转发器.
- 列表:如果您的公司有一个无法从公共互联网解析的内部 DNS 网络,请配置一个 forward zone 和 zone forwarders,以便 IdM 域中的主机可以解析其他内部 DNS 网络上的主机。
第 5 章 规划您的 CA 服务
- 要点:Red Hat Enterprise Linux 中的身份管理 (IdM) 提供不同类型的证书颁发机构 (CA) 配置。使用这些指南和方案来帮助您确定哪种配置最适合您的用例。
- 要点:证书颁发机构 (CA) 主题区分名称 (DN) 是 CA 的名称。它必须在 Identity Management (IdM) CA 基础架构中具有全局唯一性,且在安装后不可更改。如果您需要 IdM CA 进行外部签名,您可能需要咨询外部 CA 管理员有关您的 IdM CA 主题 DN 应采用的形式。
- 注意:注意 如果要使用硬件安全模块(HSM)来存储 CA 和 KRA 密钥和证书,则无法将没有在 HSM 上生成密钥的现有安装升级到基于 HSM 的安装。 当 IdM deployment 配置为对嵌入式 CA 使用 HSM 时,在该基础架构内创建的所有后续轻量级证书颁发机构(轻量级子 CA)将自动将其私钥存储在 HSM 上。确保您的 HSM 有足够的存储容量容纳预期的子 CA 数量。
5.1. IdM 服务器中的 CA 服务
- 要点:您可以使用集成 IdM 证书颁发机构 (CA) 或者没有 CA 安装 Identity Management (IdM) 服务器。了解这些差异有助于您为您的环境选择合适的 deployment 模型。
- 要点:其他资源
- 列表:了解 IdM 在内部使用的证书
- 列表:安装 IdM 服务器:使用集成的 DNS,没有 CA
- 注意:注意 从自签名 CA 切换到外部签名 CA 或其他方式,以及更改外部 CA 签发 IdM CA 证书,即使安装后也可以更改哪些外部 CA 证书。即使在没有 CA 的安装后也可以配置集成 CA。
- 表格样本(共 4 行):
- 集成的 CA | 没有 CA
- 概述: | IdM 使用自己的公钥基础架构 (PKI) 服务及 CA 签名证书在 IdM 域中创建和签署证书。 如果 root CA 是集成的 CA,IdM 将使用自签名的 CA 证书。 如果 root CA 是外部 CA,集成的 IdM CA 会从属到外部 CA。IdM 使用的 CA 证书由外部 CA 签名,但 IdM 域的所有证书都由集成证书系统实例发布。 集成的 CA 也可以为用户、主机或服务发布证书。 外部 CA 可以是企业 CA 或第三方 CA。 | IdM 不部署自己的 CA,而是使用来自外部 CA 的签名主机证书。 安装没有 CA 的服务器需要您从第三方认证机构请求以下证书: LDAP 服务器证书 Apache 服务器证书 PKINIT 证书 发布 LDAP 和 Apache 服务器证书的 CA 完整 CA 证书链
- 限制: | 如果集成的 CA 属于外部 CA,则在 IdM 域中发布的证书可能会受到外部 CA 为各种证书属性设置的限制,例如: 有效周期。 对 IDM CA 或其下级发布的证书可能出现的主题名称的限制。 限制 IDM CA 是否可以自己签发从属 CA 证书,或者如何"依赖"下级证书链。 | 管理 IdM 外的证书会导致许多额外的操作,例如: 创建、上传和更新证书是一个手动过程。 certmonger 服务不跟踪 IPA 证书(LDAP 服务器、Apache 服务器和 PKINIT 证书),也不会在证书即将过期时通知您。管理员必须为外部发布证书配置通知,或者对这些证书设置跟踪请求(如果管理员希望 certmonger 跟踪它们)。
- 这最适合于: | 允许您创建和使用自己的证书基础架构的环境。 | 在非常罕见的情况下,基础架构内的限制不允许您安装与服务器集成的证书服务。
5.2. CA 服务分布指南
- 要点:将证书颁发机构 (CA) 服务分布在多台服务器上,以防止 CA 配置丢失到无法恢复的地步。使用这些指南来确定您所需的 CA 服务器的确切数量,以获得足够的容量和域弹性。
- 要点:在拓扑中的多个服务器中安装 CA 服务。
- 列表:在拓扑中的多个服务器中安装 CA 服务。 没有配置 CA 的副本将所有证书操作请求转发到拓扑中的 CA 服务器。 警告 如果您丢失了具有 CA 的所有服务器,则将丢失所有 CA 配置,而没有恢复的可能。在这种情况下,您必须配置一个新的 CA,并发布和安装新证书。
- 列表:维护足够数量的 CA 服务器来处理部署的 CA 请求。
- 注意:警告 如果您丢失了具有 CA 的所有服务器,则将丢失所有 CA 配置,而没有恢复的可能。在这种情况下,您必须配置一个新的 CA,并发布和安装新证书。
- 注意:重要 如果并发证书请求数量不是很高,则拓扑中有四个 CA 服务器通常就足够了。超过四个 CA 服务器之间的复制进程可以增加处理器使用率,导致性能下降。
- 表格样本(共 4 行):
- 部署的描述 | 推荐的 CA 服务器数目
- 签发大量证书的部署 | 三个或四个 CA 服务器
- 在多个区域之间具有带宽或可用性问题的部署 | 每个区域有一个 CA 服务器,部署中至少有三个服务器
- 所有其他部署 | 两个 CA 服务器
5.3. IdM 中的随机序列号
- 要点:对于所有新的 RHEL 10 IdM 安装,或者拓扑中的另一个 CA 配置了 RSNv3,身份管理(IdM)默认使用 Random Serial Numbers 版本 3 (RSNv3)。因为 RHEL 10 不支持顺序序列号,因此无法禁用它。
- 要点:使用 RSNv3 ,IdM 可以为 PKI 中的证书和请求生成完全随机的序列号。在重新安装 IdM 时,RSNv3 也会阻止冲突。每个证书序列号的大小最多为 40 位十进制值,因为 RSNv3 对序列号使用 128 位随机值。这使得数字实际上是随机的。
- 列表:随机序列号 v3 (RSNv3)
- 注意:注意 在以前的版本中,Dogtag 上游项目使用基于范围的序列号,以确保跨多个克隆的唯一性。但是,基于这种体验,Dogtag 团队确定基于范围的序列号不适合具有短期证书的云环境。
- 注意:重要 在现有 CA 服务器使用序列号的混合环境中,建议尽快替换序列服务器。如果您无法快速迁移 CA 服务器,建议在整个环境中禁用修剪,直到您成功迁移了所有 CA 服务器。
第 6 章 计划与 AD 集成
- 要点:您可以将 Linux 系统与 Active Directory (AD) 集成,以集中管理用户。使用这些指南,根据环境要求选择直接AD集成或使用IdM进行间接集成。
6.1. Linux 系统直接集成到活动目录中
- 要点:您可以使用 SSSD 或 Samba Winbind 将 RHEL 客户端直接连接到 Active Directory (AD) 域。在直接集成中,AD 充当唯一的身份提供者,它允许 AD 用户无需中间 IdM 服务器即可直接登录到您的 Linux 主机。
- 要点:可能会有以下类型的集成:
- 列表:当与 AD 集成时,SSSD 默认只能在单个 AD 林中正常工作。对于多林配置,请配置手动域枚举。
- 列表:远程 AD 林必须信任本地林,以确保 idmap_ad 插件正确处理远程林用户。
- 列表:在多林 AD 配置中直接与 Winbind 集成需要双向信任。
- 列表:Linux 系统本地域的双向路径必须存在于远程 AD 林中的用户域中,以允许 idmap_ad 插件提供远程 AD 域中用户的完整信息。
6.1.1. 建议
- 列表:SSSD 满足 AD 集成的大部分用例,并提供强大的解决方案作为客户端系统和不同类型的身份和身份验证提供商 - AD、IdM、Kerberos 和 LDAP 之间的通用网关。
- 列表:建议在您要在其上部署 Samba FS 的 AD 域成员服务器中部署 winbind。
6.2. 使用身份管理将 Linux 系统间接集成到活动目录中
- 要点:在间接集成中,Linux 系统首先连接到中央服务器,然后连接到 Active Directory (AD)。间接集成使管理员能够集中管理 Linux 系统和策略,而 AD 的用户则可透明地访问 Linux 系统和服务。
- 要点:身份管理 (IdM) 服务器充当控制 Linux 系统的中央服务器。建立与 AD 的跨域 Kerberos 信任,使 AD 中的用户能够登录访问 Linux 系统和资源。IdM 作为一个独立的林,利用了 AD 支持的林级信任。
- 列表:AD 用户可以访问 IdM 资源。
- 列表:IdM 服务器和客户端可以解析 AD 用户和组群的身份。
- 列表:AD 用户和组根据 IdM 定义的条件访问 IdM,如基于主机的访问控制。
- 列表:AD 用户和组仍在 AD 端进行管理。
- 列表:组没有从 IdM 和 AD 同步。
- 列表:用户在 AD 和 IdM 中会重复。
- 注意:警告 WinSync 已不再在 Red Hat Enterprise Linux 8 中活跃开发。间接整合的首选解决方案是跨林信任。
6.3. 决定直接和间接集成的指南
- 要点:您可以使用这些指南在 Linux 系统与 Active Directory 的直接和间接集成之间进行选择。
6.3.1. 要连接到活跃目录的系统数
- 该章节主要为下一级主题的入口。
6.3.2. 部署新系统及其类型的频率
- 该章节主要为下一级主题的入口。
6.3.3. 活动目录是所需的身份验证提供程序
- 该章节主要为下一级主题的入口。
第 7 章 规划 IdM 和 AD 间的跨林信任
- 要点:Active Directory (AD) 和 Identity Management (IdM) 管理各种核心服务,如 Kerberos、LDAP、DNS 和证书服务。跨林信任关系通过使所有核心服务交互,集成这两个环境。
- 要点:您可以使用以下信息规划和设计跨林信任deployment。
7.1. IdM 和 AD 之间的跨林信任和外部信任
- 要点:了解跨林信任和外部信任的工作原理,并确定哪种适合你的用例。
- 要点:在纯 Active Directory (AD) 环境中,跨林信任连接两个单独的 AD 林根域。当您在 AD 和 IdM 间创建跨林信任时,IdM 域会作为一个单独的域单独进入 AD。然后在 AD 林根域和 IdM 域间建立了信任关系。因此,来自 AD 林的用户可以访问 IdM 域中的资源。
- 注意:注意 可以在跨域信任中连接两个单独的 Kerberos 域。但是,Kerberos 域仅涉及身份验证,而不涉及身份和授权操作中涉及的其他服务和协议。因此,建立 Kerberos 跨域信任不足以让一个域的用户访问另一个域中的资源。
7.2. 信任控制器和信任代理
- 要点:信任控制器和信任代理是身份管理 (IdM) 服务器的专用类型,您可以使用它们与 Active Directory (AD) 域进行通信。这些服务器允许 IdM 客户端成功解析 AD 用户和组,并处理来自可信 AD 域的 Kerberos 身份验证请求。
- 要点:IdM提供以下类型的IdM服务器,支持对AD的信任:
- 列表:每个 IdM 部署至少配置两个信任控制器。
- 列表:在每个数据中心中至少配置两个信任控制器。
- 列表:创建信任代理
- 注意:重要 您不能将现有信任控制器降级到信任代理。
- 表格样本(共 5 行):
- 功能 | 信任代理 | 信任控制器
- 解析 AD 用户和组 | 是 | 是
- 注册运行来自可信 AD 的用户访问的 IdM 客户端 | 是 | 是
- 添加、修改或删除信任协议 | 否 | 是
7.3. 单向信任和双向信任
- 要点:IdM领域和活动目录(AD)林使用两种类型的信任关系:单向信任和双向信任。信任类型确定身份访问流的方向,以及 IdM 用户是否可以访问 AD 资源,或者是否将访问限制为访问 IdM 资源的 AD 用户。
- 要点:在某种程度上,身份管理 (IdM) 信任 Active Directory (AD),但 AD 不信任 IdM。AD 用户可以访问 IdM 域中的资源,但 IdM 中的用户无法访问 AD 域中的资源。IdM 服务器使用特殊帐户连接到 AD,并读取随后通过 LDAP 传送到 IdM 客户端的身份信息。
7.4. 可信域的 Kerberos FAST
- 要点:Kerberos 灵活身份验证安全隧道(FAST)也称为活动目录(AD)环境中的 Kerberos armoring。Kerberos FAST 为客户端与密钥分发中心(KDC)之间的 Kerberos 通信提供额外的安全层。
- 要点:在 IdM 中,KDC 运行在 IdM 服务器上,FAST 会被默认启用。IdM 中的双因素身份验证(2FA)也需要启用 FAST。
- 列表:右键点击 Default Domain Controller Policy,并选择 edit。导航到 Computer Configuration>Policies>Administrative Templates>System>KDC,双击 KDC support for claims, compound authentication, and Kerberos armoring。
- 列表:不支持
- 列表:支持
- 列表:始终提供声明
- 列表:未防护的身份验证请求失败
- 命令/配置摘录:
krb5_use_fast = never7.5. AD 用户的 POSIX 和 ID 映射 ID 范围类型
- 要点:身份管理(IdM)使用 POSIX 用户 ID (UID)和组 ID (GID)强制进行访问控制,而 Active Directory (AD)通过安全标识符(SID)标识用户。您可以将 AD 配置为存储 POSIX 属性,或使用 ID 映射替代。
- 要点:当您使用 ipa-ad-trust-posix ID 范围设置信任协议时,您可以将 AD 配置为存储 POSIX 属性。
- 列表:为 AD 用户自动映射私有组的选项
- 列表:使用命令行设置信任协议
7.6. 用于自动为 AD 用户映射私有组的选项:POSIX 信任
- 要点:Linux 系统需要每个用户的唯一 POSIX 用户 ID (UID)和组 ID (GID)。对于 POSIX 信任中的活动目录(AD)用户,SSSD 从 uidNumber 和 gidNumber AD 属性检索它们。
- 要点:Linux 环境中的每个用户都有一个主用户组。Red Hat Enterprise Linux (RHEL)使用用户私有组(UPG)方案:UPG 与其创建的用户的名称相同,且该用户是 UPG 的唯一成员。
- 表格样本(共 4 行):
- AD 中的用户配置 | id username 的输出
- AD 用户条目有: uidNumber = 4000 gidNumber 未定义 在 AD 中没有 gidNumber = 4000 的组。 | SSSD 无法解析用户。
- AD 用户条目有: uidNumber = 4000 gidNumber = 4000 在 AD 中没有 gidNumber = 4000 的组。 | SSSD 无法解析用户。
- AD 用户条目有: uidNumber = 4000 gidNumber = 4000 AD 有 gidNumber = 4000 的组。 | # id aduser@AD-DOMAIN.COM uid=4000(aduser@ad-domain.com)gid=4000(adgroup@ad-domain.com)groups=4000(adgroup@ad-domain.com), …
7.7. 用于自动为 AD 用户映射私有组的选项: ID 映射信任
- 要点:Linux 系统需要每个用户的唯一 POSIX 用户 ID (UID)和组 ID (GID)属性。对于 ID 映射信任中的活动目录(AD)用户,SSSD 从 AD 用户的安全标识符(SID)映射它们。
- 要点:Linux 环境中的每个用户都有一个主用户组。Red Hat Enterprise Linux (RHEL)使用用户私有组(UPG)方案:UPG 与其创建的用户的名称相同,且该用户是 UPG 的唯一成员。如果您已为 AD 用户分配了 UID,但没有添加 GID,您可以通过调整该 ID 范围的 auto_private_groups 设置来根据其 UID 将 SSSD 配置为自动映射用户的私有组。
- 表格样本(共 2 行):
- AD 中的用户配置 | id username 的输出
- AD 用户条目,其中: SID 映射为 7000 primaryGroupID 映射为 8000 | # id aduser@AD-DOMAIN.COM uid=7000(aduser@ad-domain.com)gid=7000(aduser@ad-domain.com)groups=7000(aduser@ad-domain.com), 8000(adgroup@ad-domain.com), …
7.8. 非 POSIX 外部组和 SID 映射
- 要点:在跨林信任中,身份管理 (IdM) 使用 LDAP 管理组。Active Directory (AD) 条目没有同步或复制到 IdM,这意味着 AD 用户和组在 LDAP 服务器中没有 LDAP 对象,因此不能直接用于表达 IdM LDAP 中的组成员资格。
- 要点:因此,IdM 中的管理员必须创建非 POSIX 外部组,作为普通 IdM LDAP 对象引用,以标记 IdM 中 AD 用户和组的组成员资格。
7.9. 为 IdM-AD 信任建立 DNS 的指南
- 要点:这些规则可帮助您配置 DNS,来在身份管理(IdM)和活动目录(AD)之间建立跨林信任。正确的 DNS 配置可确保两个域可以通信并解析彼此的资源。
- 要点:确保 AD 和 IdM 都有它们自己配置的唯一主 DNS 域。例如:
- 列表:ad.example.com 用于 AD,Idm.example.com 用于 IdM。
- 列表:example.com 用于 AD,idm.example.com 用于 IdM
- 列表:在活动目录 DNS 域中配置 IdM 客户端
- 列表:使用外部 CA 安装 IdM 服务器
- 列表:server:没有集成 DNS 的 IdM 服务器安装
- 注意:注意 在 IdM 和 AD 之间具有信任的一些环境中,您可以在是活动目录 DNS 域的一部分的主机上安装 IdM 客户端。然后,主机可以从基于 Linux 的 IdM 功能中获益。这不是推荐的配置,存在一些限制。
7.10. 配置 NetBIOS 名称的指南
- 要点:NetBIOS 名称是简短、唯一的标识符,用于 Windows 网络内的遗留命名和兼容性。配置跨林信任时,NetBIOS 名称对于标识身份管理 (IdM) 和 Active Directory (AD) 域及其相关服务至关重要。
- 要点:NetBIOS 名称通常是域名的最左侧的部分。例如:
- 列表:在域名 linux.example.com 中,NetBIOS 名称为 linux。
- 列表:在域名 example.com 中,NetBIOS 名称为 example。 身份管理 (IdM) 和 Active Directory (AD) 域使用不同的 NetBIOS 名称 确定 IdM 和 AD 域有不同的 NetBIOS 名称。 NetBIOS 名称对于识别 AD 域至关重要。如果 IdM 域在 AD DNS 的子域中,NetBIOS 名称对于识别 IdM 域和服务也至关重要。 NetBIOS 名称的字符限制 NetBIOS 名称的最大长度为 15 个字符。
7.11. Windows 服务器支持的版本
- 要点:确保您的 Active Directory (AD) 环境符合与身份管理 (IdM) 兼容的要求。
- 要点:您可以使用以下林和域功能级别与 AD 林建立信任关系:
- 列表:林功能级范围:Windows Server 2012 — Windows Server 2025
- 列表:域功能级范围:Windows Server 2012 — Windows Server 2025
- 列表:Windows Server 2025
- 列表:Windows Server 2022
- 列表:Windows Server 2019
- 列表:Windows Server 2016
- 注意:重要 IdM 不支持建立 AD 与运行 Windows Server 2008 R2 或更早版本的 AD 域控制器之间的信任。IdM 在建立信任关系时需要 SMB 加密,这只在 Windows Server 2012 或更高版本中支持。
7.12. AD 服务器发现和关联
- 要点:服务器发现和关联性决定哪个活动目录(AD)服务器在跨林信任中是身份管理(IdM)客户端联系。首选地域本地服务器可防止由跨数据中心通信导致的时间滞后。
- 要点:要验证客户端与本地服务器的通信,您必须确保:
- 列表:客户端通过 LDAP 和 Kerberos 与本地 IdM 服务器沟通
- 列表:客户端使用 Kerberos 与本地 AD 服务器沟通
- 列表:IdM 服务器中的内嵌客户端通过 LDAP 和 Kerberos 与本地 AD 服务器通信
7.12.1. 在 IdM 客户端中配置 LDAP 和 Kerberos 的选项与本地 IdM 服务器通信
- 要点:要覆盖自动查找,您可以使用以下方法之一禁用 DNS 发现:
- 要点:在客户端安装后,修改系统安全服务守护进程 (SSSD) 配置
- 列表:在 IdM 客户端安装过程中,通过命令行提供故障切换参数
- 列表:在客户端安装后,修改系统安全服务守护进程 (SSSD) 配置 当在没有集成 DNS 的情况下使用 IdM 您必须使用以下方法之一配置客户端:
- 列表:在安装客户端后,修改 SSSD 配置
7.12.2. 在 IdM 客户端中配置 Kerberos 以便与本地 AD 服务器通信的选项
- 要点:IdM 客户端无法自动发现哪些 AD 服务器可以与哪些 AD 服务器进行通信。要手动指定 AD 服务器,修改 krb5.conf 文件:
- 要点:例如:
- 列表:添加 AD 域信息
- 列表:明确列出用来通信的 AD 服务器
- 命令/配置摘录:
[realms] AD.EXAMPLE.COM = { kdc = server1.ad.example.com kdc = server2.ad.example.com }7.12.3. 在 IdM 服务器中配置内嵌客户端以便通过 Kerberos 和 LDAP 与本地 AD 服务器通信的选项
- 要点:IdM 服务器上的内嵌客户端也是 AD 服务器的客户端。它可自动发现并使用适当的 AD 网站。
- 要点:当嵌入的客户端执行发现时,它可能首先在远程位置发现 AD 服务器。如果尝试联系远程服务器用时过长,客户端可能会在不建立连接的情况下停止操作。在客户端的 sssd.conf 文件中使用 dns_resolver_timeout 选项,以增加客户端等待 DNS 解析器回复的时间。详情请查看 sssd.conf(5) 手册页。
- 列表:在身份管理中使用 DNS
7.13. 在将 IdM 与 AD 间接集成过程中执行的操作
- 要点:身份管理(IdM)和活动目录(AD)之间的跨林信任使用双向通信,以及对发现、信任配置和身份检索的交换 DNS、LDAP、SMB 和 Kerberos 请求。
- 要点:下表列出了在创建 IdM 到 AD 的信任的过程中由 IdM 信任控制器对活动目录 AD 域控制器所执行的操作和请求。
- 表格样本(共 8 行):
- 操作 | 使用的协议 | 目的
- 针对在 IdM 信任控制器中配置的 AD DNS 解析器的 DNS 解析 | DNS | 发现 AD 域控制器的 IP 地址
- 对 AD DC 上的 UDP/UDP6 端口 389 的请求 | 无连接 LDAP (CLDAP) | 执行 AD DC 发现
- 对 AD DC 上的 TCP/TCP6 端口 389 和 3268 的请求 | LDAP | 查询 AD 用户和组群信息
第 8 章 准备使用 IdM 备份数据丢失
- 要点:IdM 提供了 ipa-backup 程序来备份 IdM 数据,并可以使用 ipa-restore 程序从这些备份中恢复服务器和数据。主动备份计划可确保配置和数据库存档可用,以将您的环境恢复到功能状态。
- 注意:注意 如果环境使用集成的 IdM CA ,在安装了所有服务器角色,特别是证书颁发机构(CA)角色的 隐藏副本 上根据需要经常运行备份。
8.1. IdM 备份类型
- 要点:要选择正确的策略来保护 IdM 数据,您必须了解全服务器备份和纯数据备份之间的区别。
- 列表:包含与 IdM 相关的所有服务器配置文件,以及 LDAP 数据交换格式 (LDIF) 文件中的 LDAP 数据。
- 列表:IdM 服务必须离线。
- 列表:适合从头开始重建 IdM 部署。
- 列表:在 LDIF 文件和复制更改日志中包含 LDAP 数据。
- 列表:IdM 服务可以为在线或者离线。
- 列表:适用于将 IdM 数据恢复到一个过去的状态。
8.2. IdM 备份文件的命名惯例
- 要点:默认情况下,IdM 存储被备份为 .tar 存档,并保存在 /var/lib/ipa/backup/ 目录的子目录中。要帮助您查找、归档和区分全服务器与仅数据备份,请查看 IdM 备份文件的自动命名规则。
- 要点:归档和子目录遵循以下命名约定:
- 命令/配置摘录:
[root@server ~]# ll /var/lib/ipa/backup/ipa-full-2021-01-29-12-11-46
total 3056 -rw-r--r--. 1 root root 158 Jan 29 12:11 header -rw-r--r--. 1 root root 3121511 Jan 29 12:11 ipa-full.tar- 注意:注意 卸载 IdM 服务器不会自动删除任何备份文件。
8.3. 创建备份时的注意事项
- 要点:在尝试创建 IdM deployment 备份之前,请查看有关 ipa-backup 实用程序的先决条件和重要注意事项。
- 要点:ipa-backup 命令的重要行为和限制包括:
- 列表:默认情况下,ipa-backup 工具以离线模式运行,这会停止所有 IdM 服务。该程序会在备份完成后自动重启 IdM 服务。
- 列表:全服务器备份必须 始终 在 IdM 服务离线的情况下运行,但可以在服务在线时执行仅数据备份。
- 列表:默认情况下,ipa-backup 实用程序会在包含 /var/lib/ipa/backup/ 目录的文件系统中创建备份。红帽建议在与 IdM 使用的生产文件系统分开的文件系统上定期创建备份,并将备份归档到固定介质,如磁带或光存储。
- 列表:考虑对隐藏的副本执行备份。IdM 服务可在隐藏的副本中关闭,而不会影响到 IdM 客户端。
- 列表:ipa-backup 实用程序检查您的 IdM 集群中使用的所有服务(如证书颁发机构(CA)、域名系统 (DNS) 和密钥恢复代理 (KRA) 是否安装在您要运行备份的服务器上。如果服务器没有安装所有这些服务,ipa-backup 实用程序会以警告方式退出,因为在该主机上进行的备份不足以完全恢复集群。 例如,如果您的 IdM 部署使用集成证书认证机构(CA),非副本中运行的备份将无法捕获 CA 数据。红帽建议验证您执行 ipa-backup 的副本是否安装了在集群中使用的所有 IdM 服务。 您可以使用 ipa-backup --disable-role-check 命令绕过 IdM 服务器角色检查,但生成的备份不会包含完全恢复 …
8.4. 其它资源
- 列表:安装 IdM 隐藏的副本
- 列表:备份和恢复 IdM
- 列表:使用 Ansible playbook 备份和恢复 IdM 服务器
第 9 章 IdM 与红帽产品集成
- 要点:查找与 IdM 集成的其他红帽产品的文档。您可以配置这些产品,以允许 IdM 用户访问它们的服务。
- 列表:Ansible Automation Platform
- 列表:OpenShift Container Platform
- 列表:Red Hat OpenStack Platform
- 列表:Red Hat Satellite
- 列表:红帽单点登录
- 列表:Red Hat Virtualization
第 10 章 为 IdM 域中的 RHEL 10 web 控制台配置单点登录
- 要点:您可以将 RHEL web 控制台与您的身份管理(IdM)域集成,以配置单点登录(SSO),以便用户使用 Kerberos 凭证进行身份验证一次,而无需重新输入它们。
10.1. 先决条件
- 要点:您已安装了 RHEL 10 web 控制台。
- 要点:具体步骤请参阅安装并启用 Web 控制台。
- 列表:在使用 RHEL web 控制台的系统中安装 IdM 客户端。
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:IdM客户端安装
10.2. IdM 和 RHEL Web 控制台集成
- 要点:将 RHEL Web 控制台与身份管理 (IdM) 域集成利用基于 Kerberos 的身份验证提供单点登录 (SSO) 功能。
- 要点:您可以使用 SSO 身份验证来利用以下优势:
- 列表:IdM 域管理员可以使用 RHEL 10 web 控制台来管理本地机器。
- 列表:IdM 域中具有 Kerberos 票据的用户不需要提供其他登录凭证来访问 Web 控制台。
- 列表:IdM 域已知的所有主机均可通过 SSH 从 RHEL Web 控制台的本地实例访问。
- 列表:Web 控制台服务器会自动切换到 IdM 证书颁发机构发布的证书。浏览器接受此证书,无需手动配置证书。
- 列表:使用 RHEL 10 web 控制台将机器添加到 IdM 域中。
- 列表:如果要使用 Kerberos 进行身份验证,您必须在机器上获得 Kerberos 票据。
10.3. 使用 web 控制台将 RHEL 系统加入到 IdM 域中
- 要点:您可以在 RHEL web 控制台中将 RHEL 系统直接加入到 IdM 域中,将系统集成到集中式身份管理环境中,并允许 IdM 用户登录。
- 要点:先决条件
- 列表:IdM 域正在运行,并可访问您想要加入的客户端。
- 列表:您有 IdM 域管理员凭证。
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:登录到 RHEL 10 web 控制台。
- 列表:在 Overview 选项卡的 Configuration 字段中点 Join Domain。
- 列表:在 Join a Domain 对话框的 Domain Address 字段中输入 IdM 服务器的主机名。
- 命令/配置摘录:
$ id
euid=548800004(example_user) gid=548800004(example_user) groups=548800004(example_user) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c102310.4. 使用 Kerberos 身份验证登录到 web 控制台
- 要点:您可以使用 Kerberos 身份验证登录到 RHEL Web 控制台。如果您已经拥有来自 IdM 域的有效 Kerberos 票证,则无需重新输入密码即可访问控制台。
- 要点:先决条件
- 列表:IdM 域在您的公司环境中运行并可访问。 详情请参阅使用 Web 控制台将 RHEL 系统添加到 IdM 域中。
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:如果系统没有使用 SSSD 客户端管理的 Kerberos 票据,请使用 kinit 工具手动请求票据。
- 列表:通过在网页浏览器中输入以下 URL 登录到 RHEL web 控制台: https://<dns_name>:9090
- 列表:成功登录后,Web 控制台会显示 Overview 页面,而不会提示输入密码。
- 命令/配置摘录:
https://<dns_name>:9090- 注意:重要 使用 SSO ,您通常在 Web 控制台中没有任何管理特权。这只有在您配置了无密码 sudo 时才有效。Web 控制台不以交互方式询问 sudo 密码。
10.5. 在 IdM 服务器上启用带有 GSSAPI 的 RHEL web 控制台单点登录
- 要点:要在身份管理(IdM)服务器上实施通用安全服务应用程序接口(GSSAPI)身份验证,请创建一个 keytab 符号链接,并为 RHEL web 控制台生成证书密钥对。
- 要点:先决条件
- 列表:您有 root 特权。
- 列表:创建一个符号链接: # ln -s /var/lib/ipa/gssproxy/http.keytab /etc/cockpit/krb5.keytab
- 列表:设置证书文件 Bash 变量: # CERT_FILE=/etc/cockpit/ws-certs.d/50-certmonger.crt
- 列表:设置证书密钥 Bash 变量: # KEY_FILE=/etc/cockpit/ws-certs.d/50-certmonger.key
- 列表:生成一个证书密钥对: # ipa-getcert request -f ${CERT_FILE} -k ${KEY_FILE} -D $(hostname --fqdn)
- 命令/配置摘录:
# ln -s /var/lib/ipa/gssproxy/http.keytab /etc/cockpit/krb5.keytab
# CERT_FILE=/etc/cockpit/ws-certs.d/50-certmonger.crt10.6. 为 IdM 主机上的 IdM 管理员启用 sudo 访问权限
- 要点:要通过 RHEL Web 控制台启用管理任务,请授予 IdM 系统管理员适当的 Sudo 权限。
- 要点:先决条件
- 列表:您已作为 IdM 管理员登录到 IdM 主机。
- 列表:您在主机上有 root 特权。
- 列表:在主机上启用 sudo 访问: # ipa-advise enable-admins-sudo | sh -ex
- 命令/配置摘录:
# ipa-advise enable-admins-sudo | sh -ex第 11 章 IdM 目录服务器 RFC 支持
- 要点:您可以通过查看支持的 LDAP 相关评论请求 (RFC) 来验证目录服务器是否符合行业标准。
- 要点:其它资源
- 列表:目录服务器 RFC 支持
- 列表:规划和设计目录服务器
第 12 章 在受控环境中部署身份管理:概念验证
- 要点:在安全、隔离的沙箱环境中探索 RHEL (IdM) 中身份管理的基本功能和概念。
- 要点:获得以下方面的实践经验:
- 列表:通过使用 Ansible 自动化安装由 IdM 服务器、副本和客户端组成的最小 IdM 群集。
- 列表:通过 IdM Web UI 配置身份验证和各种访问控制,侧重于基于主机的访问控制、基于角色的访问控制和sudo规则。IdM Web UI 很直观,因此提供了与 IdM 交互的最佳起点。
- 列表:使用 Ansible 执行相同的身份验证和访问控制配置,发现 Ansible 攻略为系统管理带来的简单性、自动化和可扩展性。
- 注意:警告 在受控环境中部署身份管理:概念验证旨在帮助您测试和熟悉各种 IdM 功能,为您在生产环境中部署做好准备。它不打算直接用于生产。
12.1. 在受控环境中安装 RHEL Identity Management
- 要点:要在生产部署前评估和测试身份管理(IdM),您可以在 RHEL 中执行身份管理(IdM)的基本安装。使用 Ansible playbook 部署软件可确保方便的可重复配置过程。
12.1.1. 先决条件
- 要点:术语和假设
- 列表:运行红帽企业 Linux (RHEL) 的系统,内存为 16 GB 或以上。
- 列表:RHEL订阅。
- 列表:ansible_user 是托管节点上的帐户,用于执行 Ansible 攻略中定义的操作。此用户具有 sudo 特权来运行需要 root 访问权限的命令。
- 列表:controller.idm.example.com 是 Ansible 控制节点的名称,即存储和运行 Ansible 攻略的主机。
- 列表:server.idm.example.com、replica.idm.example.com 和 client.idm.example.com 是安装和配置 RHEL 中 Identity Management 的托管节点。
- 列表:控制节点和管理节点正在虚拟机上运行。所有这些虚拟机都安装在一个运行RHEL的物理系统上。
12.1.2. 在虚拟机上安装 RHEL for IdM 作为概念证明
- 要点:要为 IdM 集群部署准备虚拟机(VM),请在虚拟机上安装和配置 RHEL 客户机操作系统。
- 要点:先决条件
- 列表:您已从红帽客户门户下载了最新的 RHEL 8、9 或 10 ISO 映像。
- 列表:使用 ISO 映像为控制器系统安装新虚拟机。有关详细信息,请参阅 从安装介质交互式安装 RHEL。在安装过程中,请注意以下几点: 如果要使用虚拟机管理器(VMM)安装虚拟机,请命名控制器、服务器、副本和客户端中的主机,以便您可以将VMM UI中的名称与CLI上的主机的名称相匹配。 在要安装 IdM 服务器和副本的虚拟机上至少保留 4 GB RAM。对于客户端系统,1 GB 就足够了。 在 IdM 服务器、副本和客户端上保留 30 GB 的存储空间。 选择安装,而不是测试和安装。 在安装过程中在控制器上创建本地 ansible_user 用户。 为 ansible_user 用户设置易于记忆的密码,例如 12345。 在根密码部分,…
- 列表:如果要使用虚拟机管理器(VMM)安装虚拟机,请命名控制器、服务器、副本和客户端中的主机,以便您可以将VMM UI中的名称与CLI上的主机的名称相匹配。
- 列表:在要安装 IdM 服务器和副本的虚拟机上至少保留 4 GB RAM。对于客户端系统,1 GB 就足够了。
- 列表:在 IdM 服务器、副本和客户端上保留 30 GB 的存储空间。
- 列表:选择安装,而不是测试和安装。
- 命令/配置摘录:
$ hostname
controller.idm.example.com- 注意:注意 在整个本章中,在控制器上以 ansible_user 身份登录时,需要在需要 root 权限的命令之前使用 sudo。
12.1.3. 准备使用 Ansible 攻略安装 IdM 的控制节点
- 要点:要为您的环境在受管节点上自动安装和配置 IdM,请相应地配置 Ansible 控制节点。
- 要点:先决条件
- 列表:您已在 IdM 的虚拟机上安装 RHEL 作为概念证明。
- 列表:在控制器系统上,以 ansible_user 身份登录并创建 SSH 公钥和私钥: [ansible_user@controller]$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/ansible_user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): [Enter] Enter same passphrase again: [Enter] ... 为密钥文件使用推荐的默认位置。由于这是一个PoC环境,所以将密码短语留空。
- 列表:使用以下内容创建 ~/.ansible.cfg 文件: [defaults] inventory = /home/ansible_user/inventory remote_user = ansible_user [privilege_escalation] become = True become_method = sudo become_user = root 注意 ~/.ansible.cfg 文件中的设置具有更高的优先级,并覆盖全局 /etc/ansible/ansible.cfg 文件中的设置。 使用这些设置,Ansible 执行以下操作: 管理指定清单文件中的主机。 当帐户建立到受管节点的 SSH 连接时,使用 rem…
- 列表:管理指定清单文件中的主机。
- 列表:当帐户建立到受管节点的 SSH 连接时,使用 remote_user 参数中设置的帐户。
- 列表:在运行需要提升权限的任务时,使用 sudo 将特权提升为 root。由于 ansible_user 配置了无密码 sudo (NOPASSWD),Ansible 不会提示输入密码。
- 命令/配置摘录:
[ansible_user@controller]$ ssh-keygen
Generating public/private rsa key pair. Enter file in which to save the key (/home/ansible_user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): [Enter] Enter same passphrase again: [Enter] ...- 注意:注意 ~/.ansible.cfg 文件中的设置具有更高的优先级,并覆盖全局 /etc/ansible/ansible.cfg 文件中的设置。
12.1.4. 准备使用 Ansible 攻略安装 IdM 的托管节点
- 要点:要准备安装 IdM 部署,您可以将虚拟机配置为 Ansible 管理的节点。
- 要点:先决条件
- 列表:您已在 IdM 的虚拟机上安装 RHEL 作为概念证明。
- 列表:将 ansible_user 用户的 SSH 公钥安装到服务器托管节点上的 ansible_user 帐户上: 以 ansible_user 身份登录到控制节点,并将 SSH 公钥复制到服务器上的 ansible_user 帐户: [ansible_user@controller]$ ssh-copy-id ansible_user@server.idm.example.com /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/ansible_user/.ssh/id_rsa.pub" The authenticity of host 'ser…
- 列表:以 ansible_user 身份登录到控制节点,并将 SSH 公钥复制到服务器上的 ansible_user 帐户: [ansible_user@controller]$ ssh-copy-id ansible_user@server.idm.example.com /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/ansible_user/.ssh/id_rsa.pub" The authenticity of host 'server.idm.example.com (192.168.122.42)' can't be establish…
- 列表:当提示时,输入 yes 进行连接: Are you sure you want to continue connecting (yes/no/[fingerprint])? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new k…
- 列表:出现提示时,在服务器上输入 ansible_user 的密码: ansible_user@server.idm.example.com's password: 12345 Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'ansible_user@server.idm.example.com'" and check to make sure that only the key(s) you wanted were added.
- 列表:通过在 服务器 上远程运行命令 来验证 SSH 连接: [ansible_user@controller]$ ssh ansible_user@server.idm.example.com whoami ansible_user
- 命令/配置摘录:
[ansible_user@controller]$ ssh-copy-id ansible_user@server.idm.example.com
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/ansible_user/.ssh/id_rsa.pub" The authenticity of host 'server.idm.example.com (192.168.122.42)' can't be established. ECDSA key fingerprint is SHA256:9bZ33GJNODK3zbNhybokN/6Mq7hu3vpBXDrCxe7NAvo.12.1.5. 在虚拟机中安装 IdM 群集
- 要点:要在虚拟机上安装 IdM 主服务器、客户端和副本,您可以从控制节点运行单个 Ansible 命令。
- 要点:先决条件
- 列表:您已在 IdM 的虚拟机上安装 RHEL 作为概念证明。
- 列表:您已准备控制节点,以便使用 Ansible 攻略安装 IdM。
- 列表:您已准备好托管节点,以便使用 Ansible 攻略安装 IdM。
- 列表:安装 IdM 群集: [ansible_user@controller]$ ansible-playbook -i inventory -vv install-cluster.yml 重要 如果您在安装服务器、客户端或副本时遇到重复的错误,最好擦除主机并执行干净的重新安装,而不是尝试排除安装失败。
- 命令/配置摘录:
[ansible_user@controller]$ ansible-playbook -i inventory -vv install-cluster.yml- 注意:重要 如果您在安装服务器、客户端或副本时遇到重复的错误,最好擦除主机并执行干净的重新安装,而不是尝试排除安装失败。
12.2. 探索受控环境中的 RHEL 身份管理
- 要点:在概念验证环境中探索身份管理(IdM)功能,以便在部署到生产前了解用户管理、基于主机的访问控制、RBAC 和 sudo 配置。
12.2.1. 在 PoC 环境中访问 IdM Web UI
- 要点:要第一次登录到 IdM,您可以使用 IdM Web UI 和密码。
- 要点:流程
- 列表:在浏览器地址栏中键入 IdM 服务器或副本的 URL: https://replica.idm.example.com 这会在您的浏览器中打开 IdM Web UI 登录屏幕。
- 列表:在 Web UI 登录屏幕上,在登录字段中输入管理员。在密码字段中输入 Secret123。
- 列表:单击 Log in。 登录成功后,您可以开始配置 IdM 服务器。
- 命令/配置摘录:
https://replica.idm.example.com12.2.2. 在 PoC 环境中使用 IdM Web UI 添加 IdM 用户
- 要点:要添加 IdM 用户并配置用户密码,您可以使用 IdM Web UI。
- 要点:流程
- 列表:以 IdM 管理员身份登录到 IdM Web UI。详情请参阅 在 PoC 环境中访问 IdM Web UI。
- 列表:转到 Users → Active Users 选项卡。
- 列表:单击 + Add 图标。
- 列表:可选:在用户登录字段中,添加登录名,例如 idmuser01。 如果您将其留空,IdM 服务器将以以下形式创建登录名称:名字的第一个字母和姓氏。整个登录名最多可有 32 个字符。
- 列表:输入新用户的名字和姓氏,例如 Alice 和 Acme。
- 列表:可选:在 Password 和 Verify password 字段中,输入用户密码并确认,确保它们都匹配。 这是一个初始的临时密码。用户第一次登录时将被要求重置密码。
12.2.3. 在 PoC 环境中使用 Ansible playbook 添加多个 IdM 用户
- 要点:使用 Ansible 自动用户管理比使用 PoC 环境中的 Ansible playbook 添加 IdM 用户 中描述的 Web UI 方法更高效。
- 要点:您可以使用单个 Ansible playbook 同时添加多个 IdM 用户。由于 Ansible 幂等性,playbook 会自动跳过 IdM 环境中已存在的用户帐户。
- 列表:您以 ansible_user 用户身份登录到 controller.idm.example.com。
- 列表:在你的 ~/MyPlaybooks 目录中,创建一个 add-multiple-users.yml Ansible Playbook 文件,其中包含你想确保在 IdM 中存在的用户的数据,例如: --- - name: Playbook to handle users hosts: ipaserver tasks: - name: Create user idm_users freeipa.ansible_freeipa.ipauser: ipaadmin_password: Secret123 users: - name: idmuser01 first: Alice last: Acme password:…
- 列表:name:登录名称
- 列表:first:名(字符串)
- 列表:last:姓(字符串)
- 列表:[可选]清除 SSSD 缓存以提高 ansible-playbook 命令的性能: $ sudo sss_cache -E [sudo] password for ansible_user:
- 命令/配置摘录:
--- - name: Playbook to handle users hosts: ipaserver tasks: - name: Create user idm_users freeipa.ansible_freeipa.ipauser: ipaadmin_password: Secret123 users: - name: idmuser01 first: Alice last: Acme password: "Password123" - name: idmuser03 first: Bob last: Acme password: "RedHat123&"
$ sudo sss_cache -E12.2.4. IdM 中基于主机的访问控制规则
- 要点:基于主机的访问控制(HBAC)规则定义哪些用户或用户组可以通过哪些服务或服务组中的哪些服务来访问哪些主机或主机组。作为系统管理员,您可以使用 HBAC 规则来实现以下目标:
- 要点:默认情况下,IdM 是使用一个名为 allow_all 的默认 HBAC 规则配置的,这意味着每个用户都可以通过整个 IdM 域中每个相关服务对每个主机进行通用访问。
- 列表:将您域中对指定系统的访问权限限制为特定用户组的成员。
- 列表:仅允许使用特定服务来访问域中的系统。
12.2.5. 使用 IdM Web UI 使 IdM 用户在 PoC 环境中远程访问 IdM 客户端
- 要点:您可以使用身份管理(IdM) Web UI 来配置基于主机的访问控制(HBAC)规则,该规则通过 SSH 协议授予一组 RHEL IdM 用户访问 IdM 客户端。
- 要点:以下示例演示了如何:
- 列表:启用 IdM 用户 idmuser01 通过使用 SSH 协议远程访问 IdM 客户端 client.idm.example.com。
- 列表:禁止 IdM 用户 idmuser03 使用 SSH 协议访问 IdM 客户端 client.idm.example.com。
- 列表:idmuser01 和 idmuser03 用户存在于 IdM 中。详情请参阅 在 PoC 环境中使用 IdM Web UI 添加 IdM 用户。
- 列表:您以 IdM 管理员身份登录到 IdM WebUI。
- 列表:创建并自定义 allow_remote_access 规则: 导航到策略 > 基于主机的访问控制 > HBAC 规则,然后单击添加。将 allow_remote_access 设置为规则的名称,然后单击添加和编辑。 "在""Who""部分,验证是否选中了""指定用户和组"",然后单击""添加"" 。"选择 idmuser01 用户,然后单击 > 将该用户移动到"前景"列。点击 Add。 "在""访问""部分中,验证是否选中了""指定主机和组"",然后单击""添加""。"选择 client.idm.example.com 计算机,然后单击 > 将其移动到"前景"列。点击 Add。 "在""通过服务""部分中,验证是否选择了""指定服…
- 列表:导航到策略 > 基于主机的访问控制 > HBAC 规则,然后单击添加。将 allow_remote_access 设置为规则的名称,然后单击添加和编辑。
- 命令/配置摘录:
$ ssh idmuser03@client
Connection closed by 172.25.250.11 port 22- 表格样本(共 5 行):
- 列表 | 选择
- WHO | idmuser03
- 访问 | client.idm.example.com
- VIA服务 | sshd
12.2.6. 使用 Ansible 启用 IdM 用户在 PoC 环境中远程访问 IdM 客户端
- 要点:使用 Ansible 自动化基于主机的访问控制配置比在 PoC 环境中使用 Ansible playbook 添加多个 IdM 用户 中描述的 Web UI 方法更高效。
- 要点:您可以使用 Ansible playbook 管理身份管理(IdM)中存在基于主机的访问控制(HBAC)规则。
- 列表:启用 IdM 用户 idmuser01 通过使用 SSH 协议远程访问 IdM 客户端 client.idm.example.com。
- 列表:禁止 IdM 用户 idmuser03 使用 SSH 协议访问 IdM 客户端 client.idm.example.com。
- 列表:idmuser01 和 idmuser03 用户存在于 IdM 中。详情请参阅 在 PoC 环境中使用 IdM Web UI 添加 IdM 用户。
- 列表:您以 ansible_user 用户身份登录到 controller.idm.example.com。
- 列表:在您的 ~/MyPlaybooks/ 目录中,创建一个 ensure-new-hbacrule-present.yml Ansible Playbook 文件,其下面的内容定义了所需的 HBAC 策略: --- - name: Playbook to handle hbacrules hosts: ipaserver tasks: # Ensure idmuser01 can access client.idm.example.com via the sshd service - freeipa.ansible_freeipa.ipahbacrule: ipaadmin_password: Secret123 name…
- 列表:运行 playbook: $ ansible-playbook -i inventory ensure-new-hbacrule-present.yml
- 命令/配置摘录:
--- - name: Playbook to handle hbacrules hosts: ipaserver tasks: # Ensure idmuser01 can access client.idm.example.com via the sshd service - freeipa.ansible_freeipa.ipahbacrule: ipaadmin_password: Secret123 name: allow_remote_access user: idmuser01 host: client.idm.example.com hbacsvc: - sshd state: present # Ensure allow_all rule is modified so that only admins are members - freeipa.ansible_freeipa.ipahbacrule: ipaadmin_password: Secret123 name: allow_all group: admins usercat: ""
$ ansible-playbook -i inventory ensure-new-hbacrule-present.yml- 注意:提示 为了避免从头开始编写 HBAC 相关攻略,可以在 /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/hbacrule/ 目录中复制和修改攻略示例。 这些示例对应于 freeipa_hbacsvc、freeipa_hbacsvcgroup 和 freeipa_hbacrule 模块,您可以在 /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa 目录中找到这些模块的 README 文件。
- 表格样本(共 5 行):
- 列表 | 选择
- WHO | idmuser03
- 访问 | client.idm.example.com
- VIA服务 | sshd
12.2.7. RHEL IdM 中的基于角色的访问控制
- 要点:基于角色的访问控制(RBAC)是身份管理(IdM)中的一个安全功能,限制对授权用户的访问。您可以使用特定权限定义角色,并将这些角色分配给用户。
- 要点:基于角色的访问控制由三个部分组成:
- 列表:Permissions 授予执行特定任务的权利,如添加或删除用户、修改组并启用读访问。
- 列表:Privileges(特权) 结合了权限,例如添加新用户所需的所有权限。
- 列表:Roles(角色) 向用户、用户组、主机或主机组授予一组特权。
12.2.8. 启用 IdM 用户,以使用 PoC 环境中的 IdM Web UI 管理 IdM 组和组成员资格
- 要点:RHEL 身份管理 (IdM) 中内置的组管理员权限包含以下权限:
- 要点:您可以使用 IdM Web UI 为 IdM 用户 idmuser01 分配一条授予 Group Administrator 特权的角色。因此,idmuser01 可以将 idmuser03 添加到内置编辑器组中。
- 列表:添加组
- 列表:修改外部组成员身份
- 列表:修改组成员身份
- 列表:修改组
- 列表:删除组
- 列表:存在 idmuser01 和 idmuser03 IdM 用户。详情请参阅在 PoC 环境中使用 Ansible playbook 添加多个 IdM 用户。
12.2.9. 使用 PoC 环境中的 Ansible playbook 启用 IdM 用户来管理 IdM 组和组成员资格
- 要点:使用 Ansible 自动化基于角色的访问控制配置比 启用 IdM 用户在 PoC 环境中使用 IdM Web UI 中描述的 Web UI 方法更高效。
- 要点:您可以使用 Ansible playbook 中的 ansible-freeipa 集合中的 role 模块来分配授予 IdM 用户 idmuser01 的角色。应用此 playbook 可让 idmuser01 将 idmuser03 添加到内置 编辑器 组中,这与使用 Web UI 方法实现的配置匹配。
- 列表:存在 idmuser01 和 idmuser03 IdM 用户。详情请参阅在 PoC 环境中使用 Ansible playbook 添加多个 IdM 用户。
- 列表:您以 ansible_user 用户身份登录到 controller.idm.example.com。
- 列表:在您的 ~/MyPlaybooks/ 目录中,创建一个 assign-group-administrator-privilege-to-idmuser01.yml Ansible Playbook 文件,其下面的内容定义了所需的 RBAC 策略: --- - name: Make idmuser01 a member of an RBAC role that contains the Group Administrators privilege hosts: ipaserver tasks: - name: Create the groupadmin role freeipa.ansible_freeipa.iparole…
- 列表:运行 playbook: $ ansible-playbook -i inventory assign-group-administrator-privilege-to-idmuser01.yml
- 列表:验证 idmuser01 是否已分配给 groupadmin 角色: 在 IdM Web UI 中,以 IdM 管理员身份导航到身份 > 用户。 单击 idmuser01。 单击角色。 您可以看到groupadmin列在角色中。
- 列表:在 IdM Web UI 中,以 IdM 管理员身份导航到身份 > 用户。
- 命令/配置摘录:
--- - name: Make idmuser01 a member of an RBAC role that contains the Group Administrators privilege hosts: ipaserver tasks: - name: Create the groupadmin role freeipa.ansible_freeipa.iparole: ipaadmin_password: Secret123 name: groupadmin user: - idmuser01 privilege: - Group Administrators state: present
$ ansible-playbook -i inventory assign-group-administrator-privilege-to-idmuser01.yml12.2.10. IdM 客户端上的 sudo 访问权限
- 要点:系统管理员可以使用 /etc/sudoers 中本地定义的规则在身份管理(IdM)客户端上授予 sudo 访问权限,或集中在 IdM 中。
- 要点:如果红帽企业 Linux (RHEL) 主机注册为 Identity Management (IdM) 客户端,您可以指定 sudo 规则来定义哪些 IdM 用户可以在主机上执行哪些命令:
- 列表:本地的 /etc/sudoers 文件中
- 列表:集中在 IdM 中
- 列表:管理 sudo 访问
12.2.11. 使用 IdM Web UI 向 IdM 客户端上的 IdM 用户授予 sudo 访问权限
- 要点:在 Identity Management (IdM) 中,您可以将特定命令的 sudo 访问权限授予特定 IdM 主机上的 IdM 用户帐户。首先,添加 sudo 命令,然后为一个或多个命令创建 sudo 规则。
- 要点:完成这个过程以创建 idmuser01_reboot sudo 规则,为 idmuser01 帐户授予在 client.idm.example.com 机器上或客户端运行 /usr/sbin/reboot 命令的权限。
- 列表:您已以管理员身份登录到 IdM Web UI。
- 列表:您已在 IdM 中创建了 idmuser01 的用户帐户,并通过为用户创建密码来解锁帐户。有关使用命令行添加新 IdM 用户的详情,请参阅 使用命令行添加用户。
- 列表:客户端主机上不存在本地 idmuser01 帐户。idmuser01 用户未列在本地 /etc/passwd 文件中。
- 列表:client.idm.example.com 主机存在于 IdM 中。
- 列表:在 sudo 命令的 IdM 数据库中添加 /usr/sbin/reboot 命令: 导航到 Policy → Sudo → Sudo Commands。 单击右上角的 Add,以打开 Add sudo 命令对话框。 输入您希望用户能够使用 sudo 执行的命令:/usr/sbin/reboot。 点击 Add。
- 列表:导航到 Policy → Sudo → Sudo Commands。
- 命令/配置摘录:
$ sudo /usr/sbin/reboot
[sudo] password for idmuser01:- 注意:注意 将更改从服务器传播到客户端可能需要几分钟时间。
12.2.12. 使用 PoC 环境中的 Ansible playbook 向 IdM 客户端上的 IdM 用户授予 sudo 访问权限
- 要点:您可以使用单个 Ansible playbook 向特定 IdM 主机上的 IdM 用户帐户授予特定命令的 sudo 访问权限。为此,请在 IdM 清单中添加 sudo 命令,并创建适用于一个或多个命令的 sudo 规则。
- 要点:完成这个过程以创建 idmuser01_reboot sudo 规则,为 idmuser01 帐户授予在 client.idm.example.com 机器上或客户端运行 /usr/sbin/reboot 命令的权限。
- 列表:您以 ansible_user 用户身份登录到 controller.idm.example.com。
- 列表:在你的 ~/MyPlaybooks 目录中,创建一个 add-sudo-rule.yml Ansible Playbook 文件,其中包含 sudo 规则的参数,例如: --- - name: Playbook to handle SUDO rules hosts: ipaserver tasks: - name: Add reboot to sudo commands freeipa.ansible_freeipa.ipasudocmd: ipaadmin_password: Secret123 name: /usr/sbin/reboot state: present - name: Create a sudo…
- 列表:运行 playbook: $ ansible-playbook -i inventory add-sudo-rule.yml
- 列表:以 idmuser01 身份登录到客户端。
- 列表:使用 sudo 重新启动计算机。在提示时输入 idmuser01 的密码: $ sudo /usr/sbin/reboot [sudo] password for idmuser01: 如果正确配置了 sudo 规则,机器将重启。
- 命令/配置摘录:
--- - name: Playbook to handle SUDO rules hosts: ipaserver tasks: - name: Add reboot to sudo commands freeipa.ansible_freeipa.ipasudocmd: ipaadmin_password: Secret123 name: /usr/sbin/reboot state: present - name: Create a sudo rule idmuser01_reboot freeipa.ansible_freeipa.ipasudorule: name: idmuser01_reboot ipaadmin_password: Secret123 - name: Modify the idmuser01_reboot sudo rule by adding reboot command and idmuser01 freeipa.ansible_freeipa.ipasudorule: ipaadmin_password: Secret123 name: idmuser01_reboot allow_sudocmd: - /usr/sbin/reboot user: - idmuser01 action: member
$ ansible-playbook -i inventory add-sudo-rule.yml完整目录
- 规划 IdM 环境的基础架构和服务的集成
- 对红帽文档提供反馈
- 第 1 章 RHEL 中 IdM 和访问控制概述
- 1.1. IdM 简介
- 1.1.1. IdM 带来的好处的示例
- 1.1.2. IdM 与标准 LDAP 目录的对比
- 1.2. 常见 IdM 客户场景及其解决方案
- 1.3. IdM 服务器和客户端简介
- 1.4. 安装 IdM 客户端支持的 RHEL 版本
- 1.5. RHEL 中的 IdM 和访问控制:中央化和本地化的比较
- 1.6. IdM 术语
- 1.1. IdM 简介
- 第 2 章 IdM 中的故障转移、负载平衡和高可用性
- 2.1. 客户端故障转移功能
- 2.2. IdM服务器端负载平衡和高可用性
- 2.3. 配置 SSSD 客户端故障转移
- 2.4. IdM服务器配置和故障转移参数
- 第 3 章 规划副本拓扑
- 3.1. 多个副本服务器作为用于高性能和灾难恢复的解决方案
- 3.2. IdM 副本之间的复制协议
- 3.3. 决定拓扑中合适数量的 IdM 副本的指南
- 3.4. 拓扑中连接 IdM 副本的指南
- 3.5. 副本拓扑示例
- 3.6. 隐藏副本模式
- 第 4 章 规划您的 DNS 服务和主机名
- 4.1. IdM 服务器中的 DNS 服务
- 4.2. 规划 DNS 域名和 Kerberos 域名和 Kerberos 域名的指南
- 4.2.1. 有关规划 DNS 域名和 Kerberos 域名的附加备注
- 4.2.2. 规划 DNS 转发
- 第 5 章 规划您的 CA 服务
- 5.1. IdM 服务器中的 CA 服务
- 5.2. CA 服务分布指南
- 5.3. IdM 中的随机序列号
- 第 6 章 计划与 AD 集成
- 6.1. Linux 系统直接集成到活动目录中
- 6.1.1. 建议
- 6.2. 使用身份管理将 Linux 系统间接集成到活动目录中
- 6.3. 决定直接和间接集成的指南
- 6.3.1. 要连接到活跃目录的系统数
- 6.3.2. 部署新系统及其类型的频率
- 6.3.3. 活动目录是所需的身份验证提供程序
- 6.1. Linux 系统直接集成到活动目录中
- 第 7 章 规划 IdM 和 AD 间的跨林信任
- 7.1. IdM 和 AD 之间的跨林信任和外部信任
- 7.2. 信任控制器和信任代理
- 7.3. 单向信任和双向信任
- 7.4. 可信域的 Kerberos FAST
- 7.5. AD 用户的 POSIX 和 ID 映射 ID 范围类型
- 7.6. 用于自动为 AD 用户映射私有组的选项:POSIX 信任
- 7.7. 用于自动为 AD 用户映射私有组的选项: ID 映射信任
- 7.8. 非 POSIX 外部组和 SID 映射
- 7.9. 为 IdM-AD 信任建立 DNS 的指南
- 7.10. 配置 NetBIOS 名称的指南
- 7.11. Windows 服务器支持的版本
- 7.12. AD 服务器发现和关联
- 7.12.1. 在 IdM 客户端中配置 LDAP 和 Kerberos 的选项与本地 IdM 服务器通信
- 7.12.2. 在 IdM 客户端中配置 Kerberos 以便与本地 AD 服务器通信的选项
- 7.12.3. 在 IdM 服务器中配置内嵌客户端以便通过 Kerberos 和 LDAP 与本地 AD 服务器通信的选项
- 7.13. 在将 IdM 与 AD 间接集成过程中执行的操作
- 第 8 章 准备使用 IdM 备份数据丢失
- 8.1. IdM 备份类型
- 8.2. IdM 备份文件的命名惯例
- 8.3. 创建备份时的注意事项
- 8.4. 其它资源
- 第 9 章 IdM 与红帽产品集成
- 第 10 章 为 IdM 域中的 RHEL 10 web 控制台配置单点登录
- 10.1. 先决条件
- 10.2. IdM 和 RHEL Web 控制台集成
- 10.3. 使用 web 控制台将 RHEL 系统加入到 IdM 域中
- 10.4. 使用 Kerberos 身份验证登录到 web 控制台
- 10.5. 在 IdM 服务器上启用带有 GSSAPI 的 RHEL web 控制台单点登录
- 10.6. 为 IdM 主机上的 IdM 管理员启用 sudo 访问权限
- 第 11 章 IdM 目录服务器 RFC 支持
- 第 12 章 在受控环境中部署身份管理:概念验证
- 12.1. 在受控环境中安装 RHEL Identity Management
- 12.1.1. 先决条件
- 12.1.2. 在虚拟机上安装 RHEL for IdM 作为概念证明
- 12.1.3. 准备使用 Ansible 攻略安装 IdM 的控制节点
- 12.1.4. 准备使用 Ansible 攻略安装 IdM 的托管节点
- 12.1.5. 在虚拟机中安装 IdM 群集
- 12.2. 探索受控环境中的 RHEL 身份管理
- 12.2.1. 在 PoC 环境中访问 IdM Web UI
- 12.2.2. 在 PoC 环境中使用 IdM Web UI 添加 IdM 用户
- 12.2.3. 在 PoC 环境中使用 Ansible playbook 添加多个 IdM 用户
- 12.2.4. IdM 中基于主机的访问控制规则
- 12.2.5. 使用 IdM Web UI 使 IdM 用户在 PoC 环境中远程访问 IdM 客户端
- 12.2.6. 使用 Ansible 启用 IdM 用户在 PoC 环境中远程访问 IdM 客户端
- 12.2.7. RHEL IdM 中的基于角色的访问控制
- 12.2.8. 启用 IdM 用户,以使用 PoC 环境中的 IdM Web UI 管理 IdM 组和组成员资格
- 12.2.9. 使用 PoC 环境中的 Ansible playbook 启用 IdM 用户来管理 IdM 组和组成员资格
- 12.2.10. IdM 客户端上的 sudo 访问权限
- 12.2.11. 使用 IdM Web UI 向 IdM 客户端上的 IdM 用户授予 sudo 访问权限
- 12.2.12. 使用 PoC 环境中的 Ansible playbook 向 IdM 客户端上的 IdM 用户授予 sudo 访问权限
- 12.1. 在受控环境中安装 RHEL Identity Management
