Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

15.3. 为 LDAP 故障切换配置 SSSD

在远程基本身份验证服务器上完成这些步骤。

您可以将 SSSD 配置为检索属性,如电子邮件地址和显示名称,并将它们传递给 OpenShift Container Platform 以便在 web 界面中显示。在以下步骤中,您要将 SSSD 配置为向 OpenShift Container Platform 提供电子邮件地址:

  1. 安装所需的 SSSD 和 Web 服务器组件:

    # yum install -y sssd \
                     sssd-dbus \
                     realmd \
                     httpd \
                     mod_session \
                     mod_ssl \
                     mod_lookup_identity \
                     mod_authnz_pam \
                     php \
                     mod_php
  2. 设置 SSSD 以针对 LDAP 服务器验证此虚拟机。如果 LDAP 服务器是 FreeIPA 或 Active Directory 环境,则使用 realmd 将这个计算机加入到域中。

    # realm join ldap.example.com

    有关更高级的情况,请参阅 系统级验证指南

  3. 要使用 SSSD 管理 LDAP 的故障切换情况,请在 ldap_uri 行上的 /etc/sssd/sssd.conf 文件中添加更多条目。使用 FreeIPA 注册的系统可以使用 DNS SRV 记录自动处理故障转移。
  4. 修改 /etc/sssd/sssd.conf 文件的 [domain/DOMAINNAME] 部分并添加此属性:

    [domain/example.com]
    ...
    ldap_user_extra_attrs = mail 1
    1
    指定检索 LDAP 解决方案的电子邮件地址的正确属性。对于 IPA,请指定 邮件。其他 LDAP 解决方案可能使用其他属性,如电子邮件
  5. 确认 /etc/sssd/sssd.conf 文件中的 domain 参数仅包含 [domain/DOMAINNAME] 部分中列出的域名。

    domains = example.com
  6. 授予 Apache 权限以检索电子邮件属性。将以下行添加到 /etc/sssd/sssd.conf 文件的 [ifp] 部分:

    [ifp]
    user_attributes = +mail
    allowed_uids = apache, root
  7. 要确定正确应用所有更改,请重启 SSSD:

    $ systemctl restart sssd.service
  8. 测试用户信息是否可以正确检索:

    $ getent passwd <username>
    username:*:12345:12345:Example User:/home/username:/usr/bin/bash
  9. 确认您指定的 mail 属性返回您的域的电子邮件地址:

    # dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe \
        /org/freedesktop/sssd/infopipe org.freedesktop.sssd.infopipe.GetUserAttr \
        string:username \ 1
        array:string:mail 2
    
    method return time=1528091855.672691 sender=:1.2787 -> destination=:1.2795 serial=13 reply_serial=2
       array [
          dict entry(
             string "mail"
             variant             array [
                   string "username@example.com"
                ]
          )
       ]
    1
    在 LDAP 解决方案中提供用户名。
    2
    指定您配置的属性。
  10. 尝试以 LDAP 用户身份登录虚拟机,并确认您可以使用 LDAP 凭证登录。您可以使用本地控制台或 SSH 等远程服务登录。
重要

默认情况下,所有用户都可以使用其 LDAP 凭据登录远程基本身份验证服务器。您可以更改此行为: