4.4.2. SSSD および D-Bus
フェデレーションプロバイダーは、D-BUS を使用して SSSD からデータを取得します。PAM を使用してデータを認証します。
手順
sssd-dbus RPM をインストールします。
$ sudo yum install sssd-dbus
以下のプロビジョニングスクリプトを実行します。
$ bin/federation-sssd-setup.sh
このスクリプトは、
/etc/sssd/sssd.conf
に以下の変更を加えます。[domain/your-hostname.local] ... ldap_user_extra_attrs = mail:mail, sn:sn, givenname:givenname, telephoneNumber:telephoneNumber ... [sssd] services = nss, sudo, pam, ssh, ifp ... [ifp] allowed_uids = root, yourOSUsername user_attributes = +mail, +telephoneNumber, +givenname, +sn
dbus-send
を実行して、設定が正常に行われていることを確認します。sudo dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe /org/freedesktop/sssd/infopipe org.freedesktop.sssd.infopipe.GetUserGroups string:john
設定に成功すると、ユーザーのグループが表示されます。このコマンドによってタイムアウトまたはエラーが返されると、Red Hat Single Sign-On で実行されているフェデレーションプロバイダーはデータを取得できません。このエラーは、通常、サーバーが FreeIPA IdM サーバーに登録されていないか、SSSD サービスにアクセスするパーミッションがないために発生します。
SSSD サービスにアクセスするパーミッションがない場合は、Red Hat Single Sign-On サーバーを実行しているユーザーが、以下のセクションの
/etc/sssd/sssd.conf
ファイルにあることを確認します。[ifp] allowed_uids = root, your_username