8.2. 使用身份管理
从以下任一方法中选择:
8.2.1. 直接使用身份管理 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
本节介绍如何将 Red Hat Satellite 服务器与 IdM 服务器集成以及如何启用基于主机的访问控制。
先决条件
Satellite 服务器必须在 Red Hat Enterprise Linux 7.1 或 Red Hat Enterprise Linux 6.6 或更高版本上运行。
本章中的示例假定 IdM 和 Satellite 配置之间分离。但是,如果您对这两个服务器都有管理员特权,您可以配置 IdM,如 Red Hat Enterprise Linux 7 Linux 域身份、身份验证和策略指南中所述[4].
Satellite 服务器的基础操作系统必须由您机构的 IdM 管理员注册到 IdM 域中。
过程 8.2. 在 Satellite 服务器上配置 IdM 身份验证:
- 在 IdM 服务器上,为 Satellite 服务器创建一个主机条目并生成一次性密码,例如:
ipa host-add --random hostname
# ipa host-add --random hostname
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意生成的一次性密码必须在客户端中使用,以完成 IdM 注册。有关主机配置属性的更多信息,请参阅 Red Hat Enterprise Linux 7 Linux 域身份、身份验证和策略指南[5]. - 为 Satellite 服务器创建 HTTP 服务,例如:
ipa service-add servicename/hostname
# ipa service-add servicename/hostname
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关管理服务的更多信息,请参阅 Red Hat Enterprise Linux 7 Linux 域身份、身份验证和策略指南[6]. - 在 Satellite 服务器上,以 root 用户身份执行以下命令来配置 IdM 注册:
ipa-client-install --password OTP
# ipa-client-install --password OTP
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 OTP 替换为 IdM 管理员提供的一次性密码。 - 如果 Satellite 服务器在 Red Hat Enterprise Linux 7 上运行,请执行以下命令:
subscription-manager repos --enable rhel-7-server-optional-rpms
# subscription-manager repos --enable rhel-7-server-optional-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装程序依赖于 Red Hat Enterprise Linux 7 上的软件包,这些软件包位于可选存储库rhel-7-server-optional-rpms
中。在 Red Hat Enterprise Linux 6 中,所有必要的软件包都位于基础
存储库中。 - 执行以下命令:
satellite-installer --foreman-ipa-authentication=true
# satellite-installer --foreman-ipa-authentication=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令不仅限于全新的 Satellite 安装;您可以使用该命令修改现有的 Satellite 安装。 - 重启 Katello 服务:
katello-service restart
# katello-service restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
外部用户现在可以使用其 IdM 凭据登录 Satellite。现在,他们可以选择使用其用户名和密码直接登录到 Satellite 服务器,或者利用配置的 Kerberos 单点登录,并在其客户端机器上获取票据并自动登录。也支持使用一次性密码(2FA OTP)的双因素身份验证。如果 IdM 中的用户配置为 2FA,且 Satellite 服务器在 Red Hat Enterprise Linux 7 上运行,则此用户还可以通过 OTP 向 Satellite 进行身份验证。(可选)继续执行下一个流程来限制基于主机的访问控制(HBAC)。
HBAC 规则定义 IdM 用户可访问的域中哪些机器。您可以在 IdM 服务器上配置 HBAC,以防止所选用户访问 Satellite 服务器。使用此方法,您可以防止 Satellite 为不允许登录的用户创建数据库条目。有关 HBAC 的更多信息,请参阅 Red Hat Enterprise Linux 7 Linux 域身份、身份验证和策略指南[7]
过程 8.3. 配置 HBAC:
- 在 IdM 服务器上创建 HBAC 服务及规则,并将它们链接在一起。以下示例使用 PAM 服务名称 satellite-prod。在 IdM 服务器上执行以下命令:
ipa hbacsvc-add satellite-prod ipa hbacrule-add allow_satellite_prod ipa hbacrule-add-service allow_satellite_prod --hbacsvcs=satellite-prod
$ ipa hbacsvc-add satellite-prod $ ipa hbacrule-add allow_satellite_prod $ ipa hbacrule-add-service allow_satellite_prod --hbacsvcs=satellite-prod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 添加有权访问 satellite-prod 服务的用户,以及 Satellite 服务器的主机名:
ipa hbacrule-add-user allow_satellite_prod --user=username ipa hbacrule-add-host allow_satellite_prod --hosts=the-satellite-fqdn
$ ipa hbacrule-add-user allow_satellite_prod --user=username $ ipa hbacrule-add-host allow_satellite_prod --hosts=the-satellite-fqdn
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此外,也可将主机组和用户组添加到 allow_satellite_prod 规则中。 - 要检查规则的状态,请执行:
ipa hbacrule-find satellite-prod ipa hbactest --user=username --host=the-satellite-fqdn --service=satellite-prod
$ ipa hbacrule-find satellite-prod $ ipa hbactest --user=username --host=the-satellite-fqdn --service=satellite-prod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 确保 IdM 服务器上禁用了 allow_all 规则。有关如何在不中断其他服务的情况下进行此操作的说明,请参阅红帽客户门户网站中的 如何在 IdM 中配置 HBAC 规则[8].
- 配置 IdM 与 Satellite 服务器的集成,如 过程 8.2, “在 Satellite 服务器上配置 IdM 身份验证:” 所述。在 Satellite 服务器上,将 PAM 服务定义为 root :
satellite-installer --foreman-pam-service=satellite-prod
# satellite-installer --foreman-pam-service=satellite-prod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.2. 通过 LDAP 身份验证使用身份管理 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要将身份管理作为没有单点登录支持的外部验证源附加,如需更多信息,请参阅 第 8.1 节 “使用 LDAP”。