Ziel: Gluu-Benutzer, -Pläne und -Rollen mit Azure AD synchron halten, indem CSV-basierte Massenaktualisierungen und die Benutzer-API verwendet werden.
Holen Sie sich Ihr API-Token und lesen Sie unsere API-Grundlagen, bevor Sie beginnen.
Benutzer per Massenaktualisierung aktualisieren (CSV) #
Verwenden Sie CSV (RFC 4180). Bei Headernamen wird die Groß-/Kleinschreibung nicht beachtet.
Unterstützte Spalten #
- E-Mail – E-Mail-Adresse des Benutzers.
- Vollständiger Name – Vor- + Nachname; wird ignoriert, wenn Vorname/Nachname vorhanden sind.
- Vorname, Nachname – wird dem vollständigen Namen vorgezogen.
- Plan – ESSENTIAL, ADVANCED oder
NONE. - Standort – Standort/Abteilung usw.
- Rollen – durch Kommas getrennte Rollennamen (Groß-/Kleinschreibung wird nicht beachtet). Unbekannte Namen werden ignoriert (im Dry-Run angezeigt).
- Rollenoperation –
add(nur neue hinzufügen) oderreplace(Standard; entfernt nicht aufgeführte Rollen). - ExtId – Ihre eindeutige ID. Wir gleichen zuerst ExtId ab und greifen dann auf E-Mail zurück.
Benutzer löschen #
Verwenden Sie IncludeAllUsers, wenn Sie die vollständige aktuelle Liste übergeben; Benutzer, die nicht in der CSV-Datei enthalten sind, werden entfernt. Kontoinhaber und Prozessinhaber können erst gelöscht werden, wenn sie neu zugewiesen wurden – der Dry-Run meldet dies.
Dry-Run: Testen Sie den Import und sehen Sie sich die beabsichtigten Änderungen an, bevor Sie sie anwenden.
API-Operation #
Dokumentation: /users/sync. Verwenden Sie das Token von oben. Beginnen Sie mit dryrun. Um aktuelle Benutzer abzurufen, siehe Benutzerliste.
Benutzer aus Azure Graph abrufen #
Connect-MgGraph -Scopes "User.Read.All" get-mguser -all | select displayname, givenName, Surname, Mail | Export-Csv -Encoding UTF8 -Path temp.csv
Header umbenennen in:
„Fullname“,„Firstname“,„Lastname“,„Email“
Beispiel für POST mit weiteren Spalten:
$content =
'fullname;firstname;lastname;email;roles;plan
John Wayne;John;Wayne;user1@local.test;"my role 1, my role 2";PRO'
Invoke-RestMethod -Uri "https://api.gluu.biz/users/sync" -Method POST `
-ContentType "csv/text" -Headers @{ "content-encoding" = "utf-8"; "Authorization" = "Bearer g_xxxx"} `
-Body $content