Adobe User Sync Server installieren mit OAuth auf Ubuntu 22.04
Das Adobe User Sync Projekt vor allem Betrieben oder Schulen den Vorteil flexibel und einfach Benutzer aus dem Active Directory in die Adminconsole von Adobe zu laden. Hier findet Ihr das Github Projekt:
Vorbereitung in der Developerconsole von Adobe
Zu erst meldet man sich mit einen Adobe Admin Account an und navigiert zu Projects und erstellt hier ein neues Projekt.
Danach klickt man auf + Add to Project
und wählt hier API
aus.
Nun sieht man eine Liste der API´s die einen zur Verfügung stehen. Man wählt aber nur die User Management API (UMAPI) aus.
Im weiteren wählt man als Authentication OAuth Server-to-Server
aus.
Installation des Adobe User Sync Tools
wget
Befehl mit der neusten Version. Die Releases findest du hier: https://github.com/adobe-apiplatform/user-sync.py/releasesAls erstes bezieht man den passenden Release:
mkdir /opt/adobe/
cd /opt/adobe/
wget https://github.com/adobe-apiplatform/user-sync.py/releases/download/v2.9.1/user-sync-v2.9.1-ubuntu_jammy.tar.gz
Danach wird das Paket entpackt:
tar -xf user-sync-v2.9.1-ubuntu_jammy.tar.gz
#tar Datei entfernen
rm user-sync-v2.9.1-ubuntu_jammy.tar.gz
Mit dem folgendem Befehl erstellen wir die Beispielkonfiguration:
./user-sync example-config
LDAP einbinden
Öffne die connector-ldap.yml
Datei für die Konfiguration des LDAP Moduls:
Hier werden die Daten des LDAP Users angegeben. Der Benutzer wird bei username
angegeben. Das Passwort dazu bei password. Als Host wird die LDAP URI angegeben. Sollte man kein LDAPS benutzen muss auch LDAP://
angegeben werden, da sonst der falsche Port genutzt wird. Bei Base-DN wird der Domänen Pfad angegeben.
Die Variable search_page_size
muss an die Größe Organisation angepasst werden. Sollten 3500 Benutzer in AD synchronisiert werden, so sollten 4000 angegeben werden.
User Management API verbinden
In dem zuvor angelegten Projekt kann man nun Credentails seine OAuth Daten abrufen. Diese müssen in die connector-umapi.yml
eingetragen werden.
Nun wird die connector-umapi.yml
geöffnet und die Daten eingetragen.
Die authentication_method
muss auf oauth
gestellt werden. Dann wird die client_id
sowie das client_secret
eingetragen. Danach muss noch die org_id
eingetragen werden. Diese findet man alle im Projekt unter OAuth Server-to-Server.
Konfiguration des User Sync Tool´s
Hierfür öffnet man die user-sync-config.yml
. Hier konfigurieren wir als erstes die directory_users
. Hierfür wird user_identity_type
auf enterpriseID
gesetzt und default_contry_code
auf DE für Deutsch. Danach erstellen wir die Gruppen die synchronisiert werden sollen. Ein Benutzer muss Mitglieder dieser Gruppe sein, damit er in Adobe angelegt wird.
group:
- directory_group: "Gruppe im AD"
adobe_groups:
- "Gruppe in der Adminconsole"
- directory_group: "Gruppe im AD NR 2"
adobe_groups:
- "Gruppe in der Adminconsole NR 2"
Weitere Änderungen müssen für die Grundkonfiguration nicht vorgenommen werden.
Ausführen des Sync Befehls
Der Sync Befehl ist sehr simpel aufgesetzt:
./user-sync --users all --process-groups --adobe-only-user-action remove
Wir sagen dem User Sync Tool es sollen alle User synchronisiert werden sollen mit den Gruppen und nicht hinterlegte Adobe User gelöscht werden sollen.
Wenn man nur die User Synchronisieren möchte, die in einer der vordifinierten Gruppe im Active Directory steht, so muss man den Befehl abändern von --user all
zu --user mapped
.
Cron-Job für eine stündliche Ausführung anlegen
In dem Verzeichnis /etc/cron.hourly/
lege ich die Datei run_adobe
an.
#!/bin/bash/
LastAdobeSync=$(date)
cd /opt/adobe/
./user-sync --users all --process-groups --adobe-only-user-action remove
In der zweiten Zeile wird die Variable LastAdobeSync
mit der date
Funktion beschrieben, dass erlaubt es diese Variable sich auszugeben und die Zeit der letzten Synchronisation zu sehen.
In der dritten Zeile geht das Script in das Adobe Verzeichnis, damit es dort den Befehl ausführen kann. Ist das nicht mit drin, kann das Skript nicht die Konfigurationsdateien finden.
Danach folgt nur der Befehl von oben.