8.3. 使用 Active Directory
从以下任一方法中选择:
8.3.1. 将 Active Directory 与 Cross-Forest Trust 搭配使用 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Kerberos 可以创建 跨林信任,该信任 定义了两个其他域林之间的关系。域林是域的层次结构;AD 和 IdM 都组成一个林。在 AD 和 IdM 之间启用了信任关系,AD 用户可以使用一组凭证访问 Linux 主机和服务。有关跨林信任的更多信息,请参阅 Red Hat Enterprise Linux Windows 集成指南[9].
从 Satellite 的角度来看,配置过程与与 IdM 服务器集成相同,而无需配置跨林信任。Satellite 服务器必须在 IPM 域中注册并集成,如 第 8.2 节 “使用身份管理” 所述。在 IdM 服务器中,需要以下额外步骤:
- 要启用 HBAC 功能,请创建一个外部组并将 AD 组添加到其中。将新外部组添加到 POSIX 组。在 HBAC 规则中使用这个 POSIX 组。
- 配置 sssd 以传输 AD 用户的其他属性。将这些属性添加到
/etc/sssd/sssd.conf
中的 nss 和 domain 部分。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.3.2. 直接使用 Active Directory 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
本节介绍如何使用直接 Active Directory (AD)作为 Satellite 服务器的外部身份验证源。直接 AD 集成意味着 Satellite 服务器直接加入到存储身份的 AD 域。推荐的设置由两个步骤组成:首先使用 AD 注册 Satellite,如 过程 8.4, “使用 AD 服务器注册 Satellite 服务器:” 所述,使用 GSS-proxy 完成 AD 集成,如 过程 8.5, “使用 GSS-proxy 配置直接 AD 集成:” 所述。
Apache 中 Kerberos 身份验证的传统进程需要 Apache 进程具有对 keytab 文件的读取访问权限。GSS-Proxy 允许您通过删除对 keytab 文件的访问而保留 Kerberos 身份验证功能,为 Apache 服务器实施更严格的权限分离。当使用 AD 作为 Satellite 的外部身份验证源时,建议实施 GSS-proxy,因为 keytab 文件中的密钥与主机密钥相同。
注意
AD 集成要求在 Red Hat Enterprise Linux 7.1 上部署 Red Hat Satellite 服务器。
在作为 Satellite 服务器基础操作系统的 Red Hat Enterprise Linux 上执行以下步骤。对于本节 EXAMPLE.ORG 中的示例,是 AD 域的 Kerberos 域。通过完成流程,属于 EXAMPLE.ORG 域的用户可以登录到 Satellite 服务器。
先决条件
确保安装了 GSS-proxy 和 nfs-utils :
yum install gssproxy nfs-utils
# yum install gssproxy nfs-utils
过程 8.4. 使用 AD 服务器注册 Satellite 服务器:
- 安装所需的软件包:
yum install sssd adcli realmd ipa-python
# yum install sssd adcli realmd ipa-python
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将 Satellite 服务器注册到 AD 服务器。您可能需要具有管理员权限才能执行以下命令:
realm join -v EXAMPLE.ORG
# realm join -v EXAMPLE.ORG
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用 AD 服务器注册 Satellite 后,您可以使用 satellite-installer 命令配置直接与 GSS-proxy 集成。可为已安装的 Satellite 或 Satellite 安装过程中完成。请注意,Apache 用户不能访问 keytab 文件。还记下 Apache 用户的有效用户 ID (可以通过执行 id apache找到)。以下流程使用示例 UID 48。
过程 8.5. 使用 GSS-proxy 配置直接 AD 集成:
- 使用以下内容创建
/etc/ipa/default.conf
文件:[global] server = unused realm = EXAMPLE.ORG
[global] server = unused realm = EXAMPLE.ORG
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用以下内容创建
/etc/net-keytab.conf
文件:[global] workgroup = EXAMPLE realm = EXAMPLE.ORG kerberos method = system keytab security = ads
[global] workgroup = EXAMPLE realm = EXAMPLE.ORG kerberos method = system keytab security = ads
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用以下内容创建
/etc/gssproxy/00-http.conf
文件:[service/HTTP] mechs = krb5 cred_store = keytab:/etc/krb5.keytab cred_store = ccache:/var/lib/gssproxy/clients/krb5cc_%U euid = 48
[service/HTTP] mechs = krb5 cred_store = keytab:/etc/krb5.keytab cred_store = ccache:/var/lib/gssproxy/clients/krb5cc_%U euid = 48
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在
/etc/krb5.conf
文件的开头插入以下行:includedir /var/lib/sss/pubconf/krb5.include.d/
includedir /var/lib/sss/pubconf/krb5.include.d/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在 Satellite 中启用 IPA 身份验证:
satellite-installer --foreman-ipa-authentication=true
# satellite-installer --foreman-ipa-authentication=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 启动并启用
gssproxy
服务:systemctl restart gssproxy.service systemctl enable gssproxy.service
# systemctl restart gssproxy.service # systemctl enable gssproxy.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将 Apache HTTPD 服务器配置为使用
gssproxy
服务:- 使用以下内容创建
/etc/systemd/system/httpd.service
文件:.include /lib/systemd/system/httpd.service [Service] Environment=GSS_USE_PROXY=1
.include /lib/systemd/system/httpd.service [Service] Environment=GSS_USE_PROXY=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将更改应用到服务:
systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 启动并启用
httpd
服务:systemctl restart httpd.service
# systemctl restart httpd.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用正在运行的 Apache HTTP 服务器时,如果客户端具有有效的 Kerberos 票据,对服务器发出 HTTP 请求的用户会被身份验证。
用户现在可以在其浏览器中配置 Kerberos SSO 以进行登录,而无需在 Satellite GUI 中填写访问凭证。有关配置 Firefox 浏览器的更多信息,请参阅 Red Hat Enterprise Linux 系统级身份验证指南。Internet Explorer 浏览器的用户必须将 Satellite 服务器添加到本地 I intranet 或可信站点列表中,然后打开 Enable Integrated Windows Authentication 设置。详情请查看 Internet Explorer 文档。
注意
使用直接 AD 集成,通过 IdM 的 HBAC 不可用。另外,您可以使用组策略对象(GPO)使管理员在 AD 环境中集中管理策略。要确保 GPO 正确到 PAM 服务映射,请使用以下 sssd 配置:
access_provider = ad ad_gpo_access_control = enforcing ad_gpo_map_service = +foreman
access_provider = ad
ad_gpo_access_control = enforcing
ad_gpo_map_service = +foreman
8.3.3. 将 Active Directory 与 LDAP 身份验证搭配使用 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要将 Active Directory 附加为没有单点登录支持的外部验证源,如需更多信息,请参阅 第 8.1 节 “使用 LDAP”。如需示例配置,请参阅 如何在 Satellite 6 上使用 TLS 配置 Active Directory 身份验证。