Roboternutzer

Nicht alle Konten sind notwendigerweise mit einem menschlichen Nutzer assoziiert. BOMnipotent ist gebaut, um in Pipelines integriert zu werden. Um ein Konto zu erstellen, welches in Automatisierung genutzt werden soll, fügen Sie der Anfrage die ‘robot’ Option hinzu:

Eingabe (lange Variante)
bomnipotent_client user request example_robot --robot
Eingabe (kurze Variante)
bomnipotent_client user request example_robot -r
Ausgabe
[INFO] Generating new key pair.
[INFO] Storing secret key to '/root/.config/bomnipotent/secret_key.pem' and public key to '/root/.config/bomnipotent/public_key.pem'.
[INFO] All requests are unauthenticated: No username was provided for signing request.
[INFO] Request for robot user 'example_robot' submitted. It now needs to be confirmed by a user manager.

Dies markiert das Konto als Roboter, und verschickt keine Verifizierungsmail. Um ein solches Konto zu genehmigen, müssen Sie die ‘robot’ Option nutzen:

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.
Anmerkung

Da Roboternutzer nicht verifiziert werden, und üblicherweise erhöhte Rechte haben, sollten Sie absolut sicher sein, dass dies das Konto ist, welches Sie genehmigen wollen.

Um die generierten Schlüssel nicht aus dem etwas versteckten Nutzerordner heraussuchen zu müssen, können Sie bei der Generierung einen Wunsch-Ablageort angeben:

Eingabe (lange Variante) (verfügbar seit Version 1.1.0)
bomnipotent_client user request ci_cd_robot --robot /home/ci_cd_robot
Eingabe (kurze Variante)
bomnipotent_client user request ci_cd_robot -r /home/ci_cd_robot
Ausgabe
[INFO] Generating new key pair.
[INFO] Storing secret key to '/home/ci_cd_robot_secret_key.pem' and public key to '/home/ci_cd_robot_public_key.pem'.
[INFO] All requests are unauthenticated: No username was provided for signing request.
[INFO] Request for robot user 'ci_cd_robot' submitted. It now needs to be confirmed by a user manager.

Nun benötigt der Roboter die Berechtigungen um BOMs hochzuladen, Sicherheitslücken zu aktualisieren, und CSAF Dokumente zu lesen aber nicht zu modifizieren. Beginnend mit Version 1.4.0 gibt es hierfür die praktische Rolle “robot”, welche genau diese Berechtigungen enthält:

Eingabe (verfügbar seit Version 1.4.0)
bomnipotent_client user-role add example_robot robot
Ausgabe
[INFO] Added role to user.

Beachten Sie, dass diese Rolle Lesezugriff auf die CSAF Dokumente aller Produkte enthält:

Eingabe (lange Variante) (verfügbar seit Version 1.4.0)
bomnipotent_client role-permission list --role=robot
Eingabe (kurze Variante)
bomnipotent_client role-permission list -r robot
Ausgabe
[INFO] 
╭───────┬───────────────────┬─────────────────────────╮
│ Role  │ Permission        │ Last Updated            │
├───────┼───────────────────┼─────────────────────────┤
│ robot │ BOM_MANAGEMENT    │ 2025-01-01 10:11:12 UTC │
│ robot │ PRODUCT_ACCESS(*) │ 2025-01-01 10:11:12 UTC │
│ robot │ VULN_MANAGEMENT   │ 2025-01-01 10:11:12 UTC │
╰───────┴───────────────────┴─────────────────────────╯

Sie können die Berechtigungen natürlich nach Belieben anpassen.

Nun können Sie die Zugangsdaten Ihres Roboters in Ihrer CI/CD Pipeline verwenden.