Spacewalk-Benutzer über FreeIPA authentifizieren

Nach einer erfolgten Spacewalk-Installation erfolgt der Login erstmal über lokal definierte Benutzerkonten – Berechtigungen werden über lokale Zuordnungen vergeben. Insbesondere in größeren Systemlandschaften mit Anforderungen wie beispielsweise  Single Sign-On ist das eher impraktikabel.

Glücklicherweise unterstützen Spacewalk und Red Hat Satellite 5 die Authentifizierung über FreeIPA bzw. Red Hat Identity Management. Seit Spacewalk 2.3 bzw. Red Hat Satellite 5.7 gibt es mit spacewalk-setup-ipa-authentication ein Skript, welches die Konfiguration der einzelnen Komponenten (SSSD, Apache, Tomcat, SELinux) vollständig übernimmt. Vorher mussten die einzelnen Schritte manuell ausgeführt werden.

Vorbereitungen

Vorab muss innerhalb FreeIPA ein entsprechender Kerberos-Service unter Angabe des FQDNs des Spacewalk-Servers erstellt werden. Dies erfolgt über die FreeIPA Web-Oberfläche mit Klicks auf Identität > Dienste > Hinzufügen:

Erstellen eines Kerberos-Services in der FreeIPA Web-Oberfläche

Alternativ ist die Anpassung auch von einem registrierten System mit installiertem ipa-Kommando und dem Kerberos-Tickets eines Administrators möglich:

# kinit admin
# ipa service-add HTTP/spacewalk-fqdn

Anschließend empfiehlt es sich für die benötigten Accounts und deren Berechtigungen entsprechende Gruppen in FreeIPA anzulegen. Hierzu sind Klicks auf Identität > Benutzergruppen > Hinzufügen nötig. Spacewalk unterstützt die folgenden Rollen:

Administrative Rollen (systemweit)

  • Organisationsadministrator
  • Spacewalk-Administrator

Rollen

  • Aktivierungsschlüssel-Administrator (pro Organisation)
  • Konfigurationsadministrator (Client-Konfigurationsdateien)
  • Channel-Administrator
  • Systemgruppen-Administrator

Später werden die FreeIPA-Gruppen entsprechenden Rollen innerhalb Spacewalk zugewiesen. Je nach Einsatzszenario kann es sinnvoll mehrere Gruppen anzulegen – beispielsweise eine Gruppe für alle Spacewalk-weiten Administratoren:

Erstellen eines Benutzergruppe in der FreeIPA Web-Oberfläche

Alternativ gibt es hierfür auch wieder ein entsprechendes ipa-Kommando:

# ipa group-add spacewalk-admins --desc "Spacewalk administrators"

Konfiguration

Auf dem Spacewalk-System wird nun die IPA-Authentifizierung konfiguriert:

# spacewalk-setup-ipa-authentication
Enabling authentication against [pinkepank.stankowic.loc].
Retrieving HTTP/ service keytab into [/etc/httpd/conf/http.keytab] ...
Keytab successfully retrieved and stored in: /etc/httpd/conf/http.keytab
changed ownership of `/etc/httpd/conf/http.keytab' to apache
Configuring PAM service [spacewalk].
Will install additional packages ...

** /etc/sssd/sssd.conf has been backed up to sssd.conf-swsave
Updated sssd configuration.
Turning SELinux boolean [httpd_dbus_sssd] on ...
        ... done.
Turning SELinux boolean [allow_httpd_mod_auth_pam] on ...
        ... done.
Configuring Apache modules.
** /etc/tomcat6/server.xml has been backed up to server.xml-swsave.ipa
Stopping sssd: [  OK  ]
Starting sssd: [  OK  ]
Stopping tomcat6: [  OK  ]
Starting tomcat6: [  OK  ]
Stopping httpd: [  OK  ]
Starting httpd: httpd: [  OK  ]
Waiting for tomcat to be ready ...
Authentication against [pinkepank.stankowic.loc] sucessfully enabled.
As admin, at Admin > Users > External Authentication, select
          Default organization to autopopulate new users into.

Anschließend muss noch konfiguriert werden, welcher Organization Benutzer angehören sollen, die sich noch nicht über FreeIPA in Spacewalk angemeldet haben. Hierzu sind Klicks in der Spacewalk-Oberfläche auf Admin > Benutzer > Externe Authentifizierung nötig.

Externe FreeIPA-Authentifizierung unter Spacewalk

Wenn die Organisationen innerhalb Spacewalk mit denen in FreeIPA übereinstimmen, kann der Haken „Von IPA weitergegebenen Namen von Organisationseinheit verwenden“ aktiviert werden. Falls die Organisationen nicht übereinstimmen kann eine Standard-Organisation unter „Standardmäßige Organisation“ konfiguriert werden. In jeden Fall muss der Haken „Aufgrund der externen Authentifizierungskonfiguration temporär gewährte Rollen bewahren“ gesetzt sein, da ansonsten in FreeIPA definierte Gruppenzugehörigkeiten keine Rechtevergabe in Spacewalk auslösen.

Die jeweiligen Gruppenzugehörigkeiten werden im Reiter Group Role Mapping definiert:

Zuordnung von FreeIPA-Gruppe und Spacewalk-Rollen

Je nach Spacewalk-Patchlevel kann es notwendig sein, den Dienst neu zu starten, bevor die Authentifizierung funktioniert:

# spacewalk-service restart

Erfolgreich über FreeIPA authentifizierter Spacewalk-Administrator

Schreibe einen Kommentar