Nutzerverwaltung

Der erste Schritt beim Anlegen eines neuen Benutzers ist die Beantragung eines neuen Kontos. Dieser Schritt wird an anderer Stelle beschrieben, da er sowohl für Manager als auch für Konsumenten relevant ist.

Aus Sicht von BOMnipotent ist ein Benutzer verknüpft mit einer eindeutigen E-Mail-Adresse als Kennung, und einem öffentlichen Schlüssel zur Authentifizierung. Dies sind alle Daten, die bei der Erstellung eines neuen Benutzerkontos gesendet werden.

Nach der Beantragung eines neuen Kontos obliegt es einem Benutzermanager, die Anfrage zu genehmigen oder abzulehnen.

Für die meisten Benutzerinteraktionen, einschließlich der Auflistung, benötigen Sie die Berechtigung USER_MANAGEMENT.

Auflisten

Um alle Benutzer in Ihrer Datenbank aufzulisten, rufen Sie

Eingabe
bomnipotent_client user list
Ausgabe
[INFO] 
╭────────────────────────┬───────────┬─────────────────────────┬───────────┬─────────────────────────╮
│ Username               │ Status    │ Expires                 │ User Type │ Last Updated            │
├────────────────────────┼───────────┼─────────────────────────┼───────────┼─────────────────────────┤
│ admin@example.com      │ APPROVED  │ 2025-01-01 10:11:12 UTC │ HUMAN     │ 2025-01-01 10:11:12 UTC │
│ example_robot          │ REQUESTED │ 2025-01-01 10:11:12 UTC │ ROBOT     │ 2025-01-01 10:11:12 UTC │
│ other_user@example.com │ REQUESTED │ 2025-01-01 10:11:12 UTC │ HUMAN     │ 2025-01-01 10:11:12 UTC │
│ user@example.com       │ VERIFIED  │ 2025-01-01 10:11:12 UTC │ HUMAN     │ 2025-01-01 10:11:12 UTC │
╰────────────────────────┴───────────┴─────────────────────────┴───────────┴─────────────────────────╯

So können Sie die E-Mail-Adressen und die Stati der Benutzer einsehen.

Ein Benutzer ohne den Status “APPROVED” hat keine besonderen Berechtigungen, unabhängig von zugewiesenen Rollen.

Jedem Benutzer ist außerdem ein Ablaufdatum zugeordnet. Ab diesem Zeitpunkt wird der öffentliche Schlüssel ungültig und muss erneuert werden. Die Gültigkeitsdauer eines Schlüssels kann in der Serverkonfiguration frei konfiguriert werden.

Die Liste der Nutzer kann nach Nutzername oder Genehmigungsstatus gefiltert werden, oder danach, ob das Nutzerkonto abgelaufen ist:

Eingabe (lange Variante)
bomnipotent_client user list --user=admin@example.com --status=APPROVED --expired=false
Eingabe (kurze Variante)
bomnipotent_client user list -u admin@example.com -s APPROVED -e false
Ausgabe
[INFO] 
╭───────────────────┬──────────┬─────────────────────────┬───────────┬─────────────────────────╮
│ Username          │ Status   │ Expires                 │ User Type │ Last Updated            │
├───────────────────┼──────────┼─────────────────────────┼───────────┼─────────────────────────┤
│ admin@example.com │ APPROVED │ 2025-01-01 10:11:12 UTC │ HUMAN     │ 2025-01-01 10:11:12 UTC │
╰───────────────────┴──────────┴─────────────────────────┴───────────┴─────────────────────────╯

Das “true” Argument für den “expired” Filter ist optional:

Eingabe (lange Variante)
bomnipotent_client user list --expired=true;
bomnipotent_client user list --expired # does the same
Eingabe (kurze Variante)
bomnipotent_client user list -e true;
bomnipotent_client user list -e # does the same
Ausgabe
[INFO] 
╭──────────┬────────┬─────────┬───────────┬──────────────╮
│ Username │ Status │ Expires │ User Type │ Last Updated │
├──────────┼────────┼─────────┼───────────┼──────────────┤
[INFO] 
╭──────────┬────────┬─────────┬───────────┬──────────────╮
│ Username │ Status │ Expires │ User Type │ Last Updated │
├──────────┼────────┼─────────┼───────────┼──────────────┤

Genehmigen oder Ablehnen

Wenn Sie die Benutzeranfrage erwartet haben, können Sie sie genehmigen:

Eingabe
bomnipotent_client user approve user@example.com
Ausgabe
[INFO] Changed status of user@example.com to APPROVED.

Falls der Nutzer noch nicht bestätigt hat, Zugriff auf die Email Adresse zu haben, dann lehnt der Server die Genehmigung ab. Falls Sie absolut sicher sind, dass Sie wissen was Sie tun, können Sie dieses Verhalten mit der ‘–allow-unverified’ Option überschreiben (es gibt keine Kurzformen für Befehle die Sicherheitsmaßnahmen überschreiben):

Eingabe
bomnipotent_client user approve other_user@example.com --allow-unverified
Ausgabe
[INFO] Changed status of other_user@example.com to APPROVED.

Falls das Konto zu einem Roboter gehört, kann es nicht verifiziert werden. In diesem Fall können Sie es mit der ’ –robot’ Option genehmigen:

Eingabe (lange Variante)
bomnipotent_client user approve example_robot --robot
Eingabe (kurze Variante)
bomnipotent_client user approve example_robot -r
Ausgabe
[INFO] Changed status of example_robot to APPROVED.

Wichtig: Sie sollten absolut sicher sein, dass dies das Konto ist, welches Sie genehmigen wollen.

Analog dazu können Sie diesem Benutzer stattdessen keinen Zugriff gewähren:

Eingabe
bomnipotent_client user deny unwanted@example.com
Ausgabe
[INFO] Changed status of unwanted@example.com to DENIED.

Im Gegensatz zum Genehmigen ist es dieser Aktion egal, welchen Status das Konto vor der Ablehnung hatte.

Es ist möglich, einem bereits genehmigten Benutzer den Zugriff wieder zu verweigern, wodurch das Konto effektiv widerrufen wird.

Ein Nutzer, dessen vorherige Anfrage für einen Nutzeraccount abgelehnt wurde, kann keine weiteren Nutzeraccounts anfragen.

Entfernen

Wenn Sie ein Benutzerkonto vollständig löschen möchten, rufen Sie

Eingabe
bomnipotent_client user remove unwanted@example.com
Ausgabe
[INFO] Deleted user 'unwanted@example.com'.

Dies löscht zusätzlich alle dem Benutzer zugewiesenen Rollen.

Existenz

Der Sub-Befehl "exist" prüft, wie viele Einträge auf dem Server mit bestimmten Filtern übereinstimmt. Er ist für alle Befehle verfügbar, die den "list" Sub-Befehl akzeptieren, und akzeptiert dieselben Filter.

Basierend auf dem Ausgabeformat gibt der Client Folgendes aus:

  • Normaler Modus: Ein Satz, der die Anzahl der gefundenen Objekte enthält.
  • code: Den String "200", falls mindestens ein Element gefunden wurde, oder "404", falls keine gefunden wurden.
  • raw: Die Anzahl der Einträge, die gefunden wurden.
Eingabe (lange Variante)
bomnipotent_client user exist --status=APPROVED
Eingabe (kurze Variante)
bomnipotent_client user exist -s APPROVED
Ausgabe
[INFO] The server contains 4 user(s) matching the filters.