Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:gitlab_archlinux_-_ldap-konfiguration

GitLab ArchLinux - LDAP-Konfiguration

GitLab ist ein, in der Community Edition unter einer MIT-Lizenz zur Verfügung gestelltes System, zur Verwaltung von Git-Repositorys im Browser, was den unentgeltlichen Betrieb auf einem eigenen Server ermöglicht.

Ab hier werden root-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um der Benutzer root zu werden, geben Sie bitte nachfolgenden Befehl ein:

$ su -
Password: 

Voraussetzungen

Als Voraussetzung für die hier, nachfolgend dargestellte LDAP-Konfiguration von GitLab Version 16.x ist:

GitLab: Konfiguration

/etc/webapps/gitlab/gitlab.yml

Die Konfigurationsdatei /etc/webapps/gitlab/gitlab.yml ist die Haupt-Konfigurationsdatei von GitLab.

Nachfolgende Einstellungen sind für einen Betrieb mit der Authentifizierungsmethode LDAP erforderlich und sind im Bereich:

  #
  # 3. Auth settings
  # ==========================
 
  ## LDAP settings
  # You can test connections and inspect a sample of the LDAP users with login
  # access by running:
  #   bundle exec rake gitlab:ldap:check RAILS_ENV=production
  ldap:

durchzuführen:

  •     # Tachtler
        # default: enabled: false
        enabled: true

Aktivieren der Nutzung von LDAP.

  •         # Tachtler
            # default: host: '_your_ldap_server'
            host: 'ldap.idmz.tachtler.net'

Setzen des FQDN für den LDAP-Server.

  •         # Tachtler
            # default: port: 389 # usually 636 for SSL
            port: 636 # usually 636 for SSL

Nutzen des LDAP-Ports für SSL verschlüsselte Verbindungen, anstelle des Ports für unverschlüsselte LDAP-Kommunikation.

  •         # Tachtler
            # default: uid: 'sAMAccountName' # This should be the attribute, not the value that maps to uid.
            uid: 'uid' # This should be the attribute, not the value that maps to uid.

Angabe der uid, unter der die Benutzer ermittelt werden sollen.

  •         # Tachtler
            # default: bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
            bind_dn: 'cn=Ersatzbenutzer,dc=tachtler,dc=net'

Angabe des Benutzers, mit dem die Verbindung zu LDAP hergestellt werden soll und mit dem der sogenannte bind durchgeführt werden soll.

  •         # Tachtler
            # default: password: '_the_password_of_the_bind_user'
            password: 'geheim'

Angabe des dazugehörigen Passwort des Benutzers, mit dem die Verbindung zu LDAP hergestellt werden soll und mit dem der sogenannte bind durchgeführt werden soll.

  •         # Tachtler
            # default: encryption: 'plain'
            encryption: 'simple_tls' 

Methode mit der die Verbindung verschlüsselt aufgebaut werden soll.

  •         # Tachtler
            # default: active_directory: true
            active_directory: false

Da es sich nicht um ein ActiveDirectory handelt, sonder um einen LDAP-Server, muss hier der Wert entsprechend gesetzt werden.

  •         # Tachtler
            # default: block_auto_created_users: false
            block_auto_created_users: true

Benutzer, welche - wie auch immer - automatisiert erstellt worden sind, sollen nicht für eine Authentifizierung mittels LDAP zugelassen werden.

  •         # Tachtler
            # default: base: ''
            base: 'ou=People,dc=tachtler,dc=net'

Die Such-Basis bzw. das Wurzelverzeichnis in LDAP ab dem Benutzer gesucht werden sollen.

  •         # Tachtler
            # default: user_filter: ''
            user_filter: '(|(uid=klaus))'

Ein LDAP-Filter, welcher es ermöglicht, die gefundenen Benutzer auf bestimmte Treffer einzuschränken.

GitLab: Dienste/Daemons stoppen

Nachdem GitLab wahrscheinlich bereits lauffähig gestartet wurde, ist es erforderlich GitLab zu stoppen.

Da ein systemd-Target - hier in diesem Fall gitlab.target nicht einfach gestoppt werden kann, ist es sinnvoll sich den Inhalt von gitlab.target mit nachfolgendem Befehl anzeigen zu lassen:

# systemctl cat gitlab.target
# /usr/lib/systemd/system/gitlab.target
[Unit]
Description=GitLab - Self Hosted Git Management
Requires=gitlab-puma.service gitlab-workhorse.service
Wants=gitlab-sidekiq.service gitlab-backup.timer gitlab-gitaly.service gitlab-mailroom.service

[Install]
WantedBy=multi-user.target

Hier sind alle Dienste/Daemons welche ebenfalls mittels systemd gestartet werden aus dem gitlab.target in den Bereichen

  • Requires
  • Wants

aufgelistet

Diese können dann mit nachfolgendem Befehl gestoppt werden:

# systemctl stop gitlab-puma.service gitlab-workhorse.service gitlab-sidekiq.service gitlab-backup.timer gitlab-gitaly.service gitlab-mailroom.service

GitLab: Dienste/Daemons starten

Mit nachfolgendem Befehl wird GitLab wieder gestartet.

Dieser systemd-Start beinhaltet auch den Start alle anderen benötigten Komponenten bzw. Dienste/Daemons von GitLab.

# systemctl start gitlab.target

Eine Überprüfung, ob der Start des Ziel/Target erfolgreich war, kann mit nachfolgendem Befehl überprüft werden:

● gitlab.target - GitLab - Self Hosted Git Management
     Loaded: loaded (/usr/lib/systemd/system/gitlab.target; enabled; preset: disabled)
     Active: active since Fri 2024-03-22 09:34:35 CET; 30min ago

Mar 22 09:34:35 server systemd[1]: Reached target GitLab - Self Hosted Git Management.

GitLab: LDAP Überprüfung

Nach erfolgreichem Start von GitLab kann mit nachfolgendem Befehl überprüft werden, ob die LDAP-Konfiguration erfolgreich war.

Mit dem nachfolgendem Befehl muss zuerst in das Verzeichnis /usr/share/webapps/gitlab gewechselt werden:

# cd /usr/share/webapps/gitlab

Der nachfolgende Befehl, führt die Überprüfung für GitLab gegen LDAP aus:

# sudo -u gitlab $(cat environment | xargs) bundle exec rake gitlab:ldap:check RAILS_ENV=production
Checking LDAP ...

LDAP: ... Server: ldapmain
LDAP authentication... Success
LDAP users with access to your GitLab server (only showing the first 100 results)
	DN: uid=klaus,ou=people,dc=tachtler,dc=net	 uid: klaus

Checking LDAP ... Finished

Ein Ergebnis wie das oben angezeigte, sollte in etwa zu sehen sein.

GitLab: LDAP Genehmigung

Nach erfolgreicher Überprüfung des LDAP-Zugriffs auf GitLab kann über einen Browser die nachfolgende URL aufgerufen werden, um die Startseite von GitLab zu erreichen:

Nachfolgender Bildschirm sollte nun beim Aufruf von GitLab zu sehen sein. Es sollten zwei Reiter mit den Bezeichnungen

  1. [LDAP] - Anmeldung mit Benutzername und Passwort aus dem LDAP
  2. [Standard] - Anmeldung mit Benutzername und Passwort aus der PostgreSQL-Datenbank

zu sehen sein:

GitLab - LDAP Anmeldung - Startbildschirm

Nach Eingabe eines entsprechenden Benutzer und dem dazugehörigen Passwort, sollte ein Bildschirm wie der nachfolgende bei der ersten Anmeldung eines Benutzer aus LDAP angezeigt werden:


GitLab - LDAP Anmeldung - Ausstehende Benutzerfreigabe

Der Hinweis:

Your account is pending approval from your GitLab administrator and hence blocked. Please contact your GitLab administrator if you think this is an error.

Ihr Konto muss noch von Ihrem GitLab-Administrator genehmigt werden und ist daher gesperrt. Bitte wenden Sie sich an Ihren GitLab-Administrator, wenn Sie glauben, dass dies ein Fehler ist.

:!: HINWEIS - Wie in dem Hinweis zu lesen ist, fehlt noch die entsprechende Freigabe durch den GitLab-Administrator!

Um die Freigabe eines GitLab-Administrator für einen Benutzer aus den LDAP zu erteilen, sind nachfolgende Schritte notwendig.

Dazu muss zur Anmeldung auf den Reiter Reiter mit den Bezeichnungen [Standard] - Anmeldung mit Benutzername und Passwort aus der PostgreSQL-Datenbank gewechselt werden und die Anmeldetaten als GitLab-Administrator müssen eingegeben werden, wie auf nachfolgendem Bildschirm zu sehen:

GitLab - LDAP Anmeldung - Startbildschirm mit Standard Anmeldung

Feld Eingabe
Benutzername oder primäre E-Mail-Adresse root
Passwort Siehe auch den internen Link: GitLab ArchLinux - GitLab: Erste Anmeldung

Nachfolgender Bildschirm sollte nun nach der ersten erfolgreichen Anmeldung zum Vorschein kommen, in dem dann sogleich im zu öffnenden [Menü] die Schaltfläche [Adminbereich] mit der [linkem Maustaste] angeklickt werden sollte, wie nachfolgender Bildschirm zeigt:

GitLab - LDAP Anmeldung - Standard Anmeldung - Menü - Adminbereich

Hier ist in dem wieder zu öffnenden [Menü] im Bereich [Übersicht] der Menüpunkt [Benutzer(innen)] mit der [linkem Maustaste] anzuklicken, wie auf nachfolgendem Bildschirm dargestellt:

GitLab - LDAP Anmeldung - Standard Anmeldung - Menü - Adminbereich - Übersicht - Benutzer(innen)

Anschliessend sollten alle Benutzer, welche bereits versucht haben sich via LDAP an GitLab anzumelden im Reiter [Ausstehende Genehmigungen] ersichtlich sein, wie nachfolgender Bildschirm zeigt:

GitLab - LDAP Anmeldung - Standard Anmeldung - Menü - Adminbereich - Übersicht - Benutzer(innen) - Ausstehende Genehmigungen

Zur Einleitung die noch ausstehende Genehmigung zu erteilen, sollte nun über dem [Dreipunktmenü] am Ende der Zeile des jeweiligen aufgelisteten Benutzers mit der [linken Maustaste] ein Klick erfolgen, wodurch sich das nachfolgende PopUp-Menü öffnen sollte, wie nachfolgend auf dem Bildschirm dargestellt:

GitLab - LDAP Anmeldung - Standard Anmeldung - Menü - Adminbereich - Übersicht - Benutzer(innen) - Ausstehende Genehmigungen - Benutzerzeile - PopUp Menü

Durch Auswahl des Menüpunktes [Genehmigen] im sich zuvor geöffneten PopUp-Menü wird nachfolgendes Dialog-Fenster angezeigt, in dem die Auswirkungen der Genehmigung noch einmal dargestellt werden und in dem durch anklicken der Schaltfläche [Genehmigen] mit der [linken Maustaste] die Genehmigung erteilt werden kann, wie in nachfolgendem Bildschirm zu sehen ist: GitLab - LDAP Anmeldung - Standard Anmeldung - Menü - Adminbereich - Übersicht - Benutzer(innen) - Ausstehende Genehmigungen - Benutzerzeile - PopUp Menü - Genehmigen - Dialog-Fenster

Falls die Genehmigung erfolgreich bestätigt wurde, sollte nachfolgender Bildschirm mit der Meldung erscheinen, das der Benutzer nun genehmigt wurde, wie auf dem nachfolgendem Bildschirm zu sehen ist:

GitLab - LDAP Anmeldung - Standard Anmeldung - Menü - Adminbereich - Übersicht - Benutzer(innen) - Ausstehende Genehmigungen - Benutzerzeile - genehmigt

Nun kann eine Abmeldung vom Benutzerkonto des GitLab-Administrators erfolgen, in dem aus dem wieder zu öffnenden [Menü] die Schaltfläche [Abmelden] mit der [linken Maustaste] angeklickt wird, wie nachfolgend zu sehen ist

GitLab - LDAP Anmeldung - Standard Anmeldung - Menü - Abmelden

GitLab: LDAP Anmeldung

Jetzt kann eine Anmeldung als LDAP-Benutzer erfolgen, wie auf dem nachfolgendem Bildschirm zu sehen ist:

GitLab - LDAP Anmeldung - Benutzer

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/gitlab_archlinux_-_ldap-konfiguration.txt · Zuletzt geändert: 2024/05/30 06:08 von klaus