3.9. Provisioning Service#
Der Provisioning Service ist ein Ereignis- und Nachrichtendienst, der interessierte Dienste über Ereignisse im LDAP-Verzeichnisdienst informieren kann. Wenn sich Daten im LDAP-Verzeichnis auf dem Primary Directory Node ändern, erhält der Provisioning Service eine Benachrichtigung und informiert alle Dienste, die die Änderungen abonniert haben. Im Gegensatz zum Univention Directory Listener stellt er die Univention Directory Manager (UDM)-Repräsentation der geänderten Objekte statt der LDAP-Repräsentation bereit.
Diese Seite beschreibt die Installation und Konfiguration des Provisioning Service in Nubus für UCS. Weitere Informationen zur internen Funktionsweise des Provisioning Service finden Sie unter Provisioning Service im Nubus for Kubernetes - Architecture Manual 1.x [7].
Bemerkung
Optionale Komponenten in Nubus verwenden den Provisioning Service in Nubus für UCS.
Informationen dazu, wie Sie den Provisioning Service in Ihren Diensten verwenden und die Ereignisse abonnieren, finden Sie unter Provisioning API in Nubus - Customization and Modification Manual 1.x [8].
3.9.1. Installation#
Das Univention App Center stellt den Provisioning Service als App bereit. Nubus für UCS installiert ihn nicht standardmäßig. Sie können ihn auf dem Primary Directory Node und auf jedem Backup Directory Node installieren. Auf Servern mit anderen Systemrollen lässt sich der Provisioning Service nicht installieren. Der Provisioning Service besteht aus den folgenden Apps:
- Provisioning Service
Die Provisioning Service App ist eine Container App, die die Hauptfunktionen des Provisioning Service bereitstellt.
- Provisioning Service Backend
Die Provisioning Service Backend App ist eine paketbasierte App, die Integrationspakete in Nubus für UCS installiert. Das App Center installiert sie automatisch als Abhängigkeit von Provisioning Service. Zu den Paketen gehören ein Listener-Modul und eine Rechnerkonfiguration für die TLS-Verschlüsselung zwischen mehreren Installationen.
Um den Provisioning Service zu installieren, wählen Sie eine der folgenden Installationsmethoden. Das App Center übernimmt mehrere Einstellungen für den Provisioning Service. Eine Referenz finden Sie unter Einstellungen des Provisioning Service.
Sie können die App Provisioning Service wie jede andere App über das Univention App Center installieren. Allgemeine Informationen zum Univention App Center und zur Softwareinstallation damit finden Sie unter Univention App Center.
Um die App über die Befehlszeile zu installieren, verwenden Sie den Befehl in Listing 3.16 mit root-Rechten.
$ univention-app install provisioning-service
3.9.2. Provisioning Ablauf#
Der Provisioning Service liefert einen Strom von Events zu Datenänderungen im LDAP-Verzeichnisdienst. Er verwendet die folgenden Komponenten:
- Provisioning Listener
Das Modul
nubus-provisioning.pydes Univention Directory Listener reagiert auf alle LDAP-Operationen und übermittelt diese Änderungen an den Provisioning Service. Es läuft nur auf dem Primary Directory Node.
- Provisioning UDM Transformer
Der Provisioning UDM Transformer wandelt eingehende Änderungsereignisse auf LDAP-Ebene in Provisioning Events auf UDM Ebene um. Dazu ruft er die UDM HTTP REST API auf. Er läuft nur auf dem Primary Directory Node.
- Provisioning Prefill Service
Der Provisioning Prefill Service überträgt alle UDM Objekte des abonnierten Typs an die abonnierte Consumer App. Er läuft nur auf dem Primary Directory Node.
- Provisioning Dispatcher
Der Provisioning Dispatcher leitet Events zu allen UDM Objekten an die Warteschlangen der abonnierten Apps weiter. Er läuft auf dem Primary Directory Node und auf Backup Directory Nodes.
- Provisioning APIs
Die Provisioning APIs laufen auf dem Primary Directory Node und dem Backup Directory Node. Sie umfassen verschiedene APIs zur Registrierung von Diensten, um Events und Nachrichten zu abonnieren.
- Ereignis-Streaming-Dienst
NATS übernimmt den eigentlichen Ereignis-Streaming-Dienst.
Der Provisioning Dispatcher auf dem Backup Directory Node verbindet sich mit dem Ereignis-Streaming-Dienst auf dem Primary Directory Node. Er überträgt Daten über eine TLS-verschlüsselte Verbindung.
Siehe auch
- Provisioning Service
in Nubus for Kubernetes - Architecture Manual 1.x [7] für Informationen zur Architektur des Provisioning Service
- Provisioning API
in Nubus - Customization and Modification Manual 1.x [8] für Informationen zur Verwendung des Provisioning Service und zum Erstellen eines Abonnements für einen Provisioning Consumer.
3.9.3. Endpunkte und Ports#
Der Provisioning Service stellt Endpunkte und Ports bereit, wie in Tab. 3.1 beschrieben.
Sie können lokal über http://localhost:7777 oder aus der Ferne über https://<Primary FQDN>/univention/provisioning/ auf die Provisioning API zugreifen. Ersetzen Sie <Primary FQDN> durch den vollständig qualifizierten Domänennamen des Primary Directory Node.
Der Provisioning Service verwendet stunnel, um die TLS-Verschlüsselung zwischen Primary Directory Node und Backup Directory Node sicherzustellen.
Port |
Zweck |
|---|---|
4230 |
Der Port von stunnel. Sie können ihn über die UCR-Variable |
4222 |
NATS-Client-Verbindungen. |
7777 |
Provisioning APIs. |
8222 |
NATS-Monitoring-Endpunkt. |
Wichtig
Der Provisioning Dispatcher benötigt Zugriff auf die UDM HTTP REST API über Port 443 auf dem Primary Directory Node und dem Backup Directory Node.
3.9.4. Logdateien des Provisioning Service#
Wenn Probleme mit dem Provisioning Service auftreten, können Sie die folgenden Logdateien zurate ziehen:
Die Container des Provisioning Service schreiben ihre Protokolle in
/var/log/syslog.Das Listener-Modul
nubus-provisioning.py, das den Provisioning Service mit Informationen versorgt, schreibt Protokolle in/var/log/univention/listener_modules/nubus-provisioning.log.Der Dienst stunnel schreibt Protokolle in
/var/log/stunnel4/stunnel.log.
3.9.5. Einstellungen des Provisioning Service#
Die folgenden Abschnitte listen die Einstellungen der Provisioning Service App auf. Univention empfiehlt, die Standardwerte beizubehalten.
Um Einstellungen nach der Installation der App zu ändern, gehen Sie wie folgt vor:
Melden Sie sich mit einem Benutzerkonto der Gruppe
Domain Adminsan der Management UI an und navigieren Sie zu .Aktivieren Sie das Kontrollkästchen für die Instanz und navigieren Sie zu .
Ändern Sie die Einstellungen auf der Seite Provisioning Service konfigurieren.
Um die Einstellungen anzuwenden, klicken Sie Änderungen übernehmen.
Das App Center initialisiert anschließend die Container für die Provisioning Service App neu. Das bedeutet, dass das App Center die laufenden Container der App verwirft und neue Container mit den soeben geänderten Einstellungen startet.
Nach einigen Änderungen an den Einstellungen müssen Sie den univention-directory-listener neu starten. Führen Sie den Befehl in Listing 3.17 aus.
$ systemctl restart univention-directory-listener
3.9.5.1. App-Einstellungen#
Die Provisioning Service App verfügt über die folgenden App-Einstellungen.
- provisioning-service/udm-rest-api-host#
Vollständig qualifizierter Domänenname (FQDN) des Rechners der UDM HTTP REST API.
Erforderlich
Standardwert
Angewendet während
Ja
Wert aus
ldap/masterInstallation und App-Konfiguration
- provisioning-service/primary#
Vollständig qualifizierter Domänenname (FQDN) des Primary Directory Node.
Erforderlich
Standardwert
Angewendet während
Ja
Wert aus
ldap/masterInstallation und App-Konfiguration
- nats/max_retry_count#
Anzahl der erneuten Versuche des Provisioning Listener, jede Transaktion mit dem Ereignis-Streaming-Dienst zu synchronisieren. Nach einer Änderung dieser Einstellung müssen Sie den univention-directory-listener neu starten, siehe Listing 3.17.
Erforderlich
Standardwert
Angewendet während
Ja
3Installation und App-Konfiguration
- nats/retry_delay#
Anzahl der Sekunden, die zwischen den Versuchen zur Synchronisierung einer Transaktion mit dem Ereignis-Streaming-Dienst gewartet wird. Nach einer Änderung dieser Einstellung müssen Sie den univention-directory-listener neu starten, siehe Listing 3.17.
Erforderlich
Standardwert
Angewendet während
Ja
1Installation und App-Konfiguration
- nats/max_reconnect_attempts#
Maximale Anzahl der Versuche, die Verbindung zum Ereignis-Streaming-Dienst wiederherzustellen. Nach einer Änderung dieser Einstellung müssen Sie den univention-directory-listener neu starten, siehe Listing 3.17.
Erforderlich
Standardwert
Angewendet während
Ja
3
Installation und App-Konfiguration
3.9.5.2. UCR-Variablen#
Zusätzlich berücksichtigt der Provisioning Service die folgenden UCR-Variablen, die nicht in den App-Einstellungen erscheinen. Univention empfiehlt, die Standardwerte beizubehalten. Informationen zur Konfiguration von UCR-Variablen finden Sie unter Das lokale System mit der Univention Configuration Registry konfigurieren.
- nats/stunnel/accept/port#
Portnummer, auf der stunnel Verbindungen entgegennimmt. stunnel sichert die NATS-Verbindung zwischen Primary Directory Node und Backup Directory Node ab.
Erforderlich
Standardwert
Angewendet während
Ja
4230Installation und App-Konfiguration.
- nats/stunnel/connect/port#
Verbindungsport von stunnel, der die Verbindung zwischen dem Provisioning Dispatcher auf dem Backup Directory Node und NATS auf dem Primary Directory Node absichert. Der Port muss mit
nats/stunnel/accept/portdes Primary Directory Node übereinstimmen.Erforderlich
Standardwert
Angewendet während
Ja
4230Installation und App-Konfiguration.
- nats/stunnel/cert#
Zertifikat für die stunnel-NATS-Verbindung zwischen dem Provisioning Dispatcher auf einem Backup Directory Node und NATS auf dem Primary Directory Node.
Erforderlich
Standardwert
Angewendet während
Ja
/etc/univention/ssl/@%@ldap/master@%@/cert.pemInstallation und App-Konfiguration.
- nats/stunnel/key#
Zertifikatsschlüssel für die stunnel-NATS-Verbindung zwischen dem Provisioning Dispatcher auf einem Backup Directory Node und NATS auf dem Primary Directory Node.
Erforderlich
Standardwert
Angewendet während
Ja
/etc/univention/ssl/@%@ldap/master@%@/private.keyInstallation und App-Konfiguration.
- nats/stunnel/cacert#
CA-Zertifikat für die stunnel-NATS-Verbindung zwischen dem Provisioning Dispatcher auf einem Backup Directory Node und NATS auf dem Primary Directory Node.
Erforderlich
Standardwert
Angewendet während
Ja
/etc/univention/ssl/ucsCA/CAcert.pemInstallation und App-Konfiguration.