Benutzer
Benutzerverwaltung für Admins.
Um sich beim Eventhub zu authentifizieren und mit der API zu arbeiten, benötigst du ein gültiges Benutzerkonto. Die Logins sind derzeit von der ARD Core API getrennt, nutzen aber ein ähnliches Verfahren. Diese Seite beschreibt die Verwaltung von Benutzern.
Allow-List
Zur Laufzeit liest der Ingest-Service src/config/users.json (gitignored; in Kubernetes oft als Volume gemountet).
Quellen in Git:
users-test.sops.json— verschlüsselte Vorlagen/Quelle für Test/Devusers-prod.sops.json— verschlüsselte Vorlagen/Quelle für Produsers.ci.sops.json— CI-Fixture (age-Key für GitHub Actions, Regel.ci.sops.*in.sops.yaml)
Lokal erzeugen z. B. mit:
just decrypt-key src/config/users-test.sops.json
# bzw. für den Laufzeit-Pfad:
sops decrypt src/config/users-test.sops.json > src/config/users.json
# CI-Fixture (benötigt den CI-age-Private-Key als SOPS_AGE_KEY):
sops decrypt src/config/users.ci.sops.json > src/config/users.json
Jeder Eintrag hat die Form:
{
"email": "name@example.de",
"institution": "SWR",
"institutionId": "urn:ard:institution:hex"
}
E‑Mail-Adressen müssen exakt mit dem Firebase-Login übereinstimmen (kein Trim/Lowercase). Wer in der Datei steht, gilt als aktiv.
Neue Benutzer anlegen
Neue Benutzer können sich nicht selbst registrieren; der Zugang wird über das ARD Online Team gewährt.
- Öffne die passende
users-*.sops.json(just edit-key src/config/users-test.sops.jsonbzw.users-prod) - Prüfe, ob die E‑Mail noch nicht existiert, und füge einen neuen Eintrag mit
institution+institutionIdhinzu - Committe die aktualisierte
.sops.jsonund stelle sicher, dass Deploymentsusers.jsonbereitstellen (Decrypt oder Mount) - Registriere den Benutzer in Firebase: Firebase Console unter Build → Authentication
- Add user mit derselben E‑Mail; Passwort kann temporär zufällig sein
- Danach im Dropdown Reset password auslösen
- Der Benutzer erhält eine E‑Mail zum Setzen des Passworts und kann anschließend die API nutzen
Benutzer entfernen
- Prüfe, ob der Benutzer Subscriptions angelegt hat, die eventuell entfernt werden müssen (Pub/Sub und Datastore)
- Hinweis: Zugriffsrechte für Subscriptions gelten institutionsweit; beim Entfernen eines Benutzers bleiben die Rechte ggf. für die Kollegen bestehen
- Entferne den Eintrag aus der passenden
users-*.sops.jsonund aktualisiere das gemountete/users.json - Entferne anschließend das Benutzerprofil in der Firebase Console