Teams
In Semaphore UI ist jedes Projekt mit einem Team verknüpft. Nur Teammitglieder und Administratoren können auf das Projekt zugreifen. Jedes Mitglied des Teams hat eine oder mehrere Rollen, die seine Zugriffsebene und die Aktionen bestimmen, die es ausführen darf. Ein Mitglied darf alles tun, was eine seiner Rollen erlaubt.
In der Enterprise-Edition können die integrierten Rollen um benutzerdefinierte Rollen erweitert werden, die zusätzliche, fein abgestufte Berechtigungen für bestimmte Task Templates gewähren.
Damit Sie den Zugriff auf ein Projekt nicht verlieren, empfiehlt es sich, mindestens zwei Teammitglieder mit der Rolle Owner zu haben.
Der Bereich Team eines Projekts hat zwei Tabs: Members mit den Benutzern und ihren Rollen und Roles mit den benutzerdefinierten Rollen (Enterprise).

Integrierte Rollen
Die vier integrierten Rollen sind:
- Owner
- Manager
- Task Runner
- Guest
Nachfolgend finden Sie detaillierte Beschreibungen jeder Rolle und ihrer Berechtigungen.
Owner
-
Alle Berechtigungen
Owner können innerhalb des Projekts alles tun, einschließlich der Verwaltung von Rollen, dem Hinzufügen und Entfernen von Mitgliedern und dem Konfigurieren beliebiger Projekteinstellungen. -
Mehrere Owner
Ein Projekt kann mehrere Owner haben, sodass mehr als eine Person über alle Rechte verfügt. -
Letzter Owner
Ein Projekt darf nicht ohne Owner bleiben. Deshalb kann niemand außer einem Administrator den letzten Owner aus dem Projekt entfernen oder ihm die Rolle Owner entziehen. Der letzte Owner kann das Projekt auch nicht selbst verlassen. -
Andere Owner verwalten
Owner können alle Teammitglieder verwalten (einschließlich Entfernen oder Ändern ihrer Rollen), auch andere Owner.
Manager
-
Weitreichende Projektkontrolle: Manager haben nahezu die gleichen Berechtigungen wie Owner und können damit die meisten alltäglichen Aufgaben erledigen und die Projektumgebung verwalten.
-
Manager können nicht:
- Das Projekt löschen.
- Owner entfernen oder deren Rollen ändern.
-
Typischer Anwendungsfall: Weisen Sie die Rolle Manager erfahrenen Teammitgliedern zu, die umfangreichen Zugriff benötigen, aber nicht die Befugnis haben müssen, das Projekt zu löschen oder Owner zu verwalten.
Task Runner
-
Tasks ausführen: Task Runner können jedes Task Template ausführen, das im Projekt vorhanden ist.
-
Nur Lesezugriff auf andere Ressourcen: Sie können Tasks ausführen, haben auf andere Ressourcen wie Inventory, Variablen, Repositories usw. jedoch nur Lesezugriff.
-
Typischer Anwendungsfall: Entwickler oder QA-Ingenieure, die Tasks auslösen und überwachen müssen, aber keine Projekteinstellungen ändern oder die Teammitgliedschaft verwalten müssen.
Guest
-
Nur Lesezugriff: Guests haben Lesezugriff auf alle Projektressourcen (zum Beispiel Logs, Inventories, Dashboards ansehen).
-
Keine Schreibberechtigungen: Sie können keine Einstellungen ändern, keine Tasks ausführen und keine Rollen ändern.
-
Typischer Anwendungsfall: Stakeholder oder andere Beteiligte, die nur den Projektstatus und Details einsehen müssen, ohne Änderungen vorzunehmen.
Erweitertes RBAC Enterprise
Erweitertes RBAC ist in der Edition Semaphore Enterprise ab Semaphore v2.17 verfügbar.
Erweitertes RBAC ergänzt die vier integrierten Rollen um zusätzliche Berechtigungen. Die integrierten Rollen selbst bleiben unverändert. Wenn Sie keine benutzerdefinierten Rollen definieren, verhält sich jedes Projekt genau so wie in der Community-Edition.
Mit erweitertem RBAC können benutzerdefinierte Rollen einzelne projektweite Berechtigungen gewähren. Sie können einer Rolle außerdem Berechtigungen für ausgewählte Task Templates geben. So können Sie einem Teammitglied Zugriff auf die Task Templates geben, die es benötigt, ohne es in eine höhere integrierte Rolle zu befördern.
Benutzerdefinierte Rollen
Eine benutzerdefinierte Rolle ist eine Rolle, die Sie selbst erstellen, mit den Berechtigungen, die Sie auswählen. Sie weisen sie einem Mitglied genauso zu wie eine integrierte Rolle. Ein Mitglied kann eine benutzerdefinierte Rolle allein oder zusammen mit einer integrierten Rolle haben.
Benutzerdefinierte Rollen sind in zwei Gültigkeitsbereichen verfügbar:
- Globale Rollen werden auf Instanzebene definiert und können in jedem Projekt verwendet werden.
- Projektrollen werden innerhalb eines einzelnen Projekts definiert und sind nur in diesem Projekt verfügbar.
Berechtigungsebenen
Benutzerdefinierte Rollen gewähren Berechtigungen auf zwei Ebenen:
- Projektweite Berechtigungen erweitern den Zugriff eines Benutzers im gesamten Projekt. Sie wählen sie beim Erstellen der Rolle aus.
- Task-Template-Berechtigungen steuern Aktionen für ein einzelnes Task Template. Sie wählen sie im Tab Permissions dieses Task Template aus, nachdem Sie die Rolle dem Task Template hinzugefügt haben.
Eine benutzerdefinierte Rolle erstellen
Wählen Sie den Gültigkeitsbereich, bevor Sie das Rollenformular öffnen.
Globale Rolle
Globale Rollen werden einmal erstellt und können Benutzern in jedem Projekt zugewiesen werden. Nur ein Instanzadministrator kann eine globale Rolle erstellen.
Öffnen Sie das Administratormenü unten links und wählen Sie Roles.
Wählen Sie in der instanzweiten Liste der Rollen New Role.

Projektrolle
Projektrollen sind nur in dem Projekt verfügbar, in dem sie erstellt wurden. Owner und Manager des Projekts können sie erstellen.
- Öffnen Sie das Projekt und gehen Sie zu Team > Roles.
- Wählen Sie New Role.
Der Tab Roles ist leer, bis die erste Projektrolle erstellt wurde. Er listet alle Projektrollen auf und enthält die Schaltfläche New Role.

Eine benutzerdefinierte Rolle konfigurieren
Beide Wege öffnen dasselbe Rollenformular. Konfigurieren Sie die Rolle so, dass sie dem Zugriff entspricht, den Ihr Teammitglied benötigt.

| Feld | Beschreibung |
|---|---|
| Name | Eine für Menschen lesbare Bezeichnung der Rolle. |
| Slug | Ein eindeutiger technischer Identifikator, über den die Rolle referenziert wird. Er darf Buchstaben, Zahlen, _ und - enthalten, bis zu 100 Zeichen, zum Beispiel release_operator. Groß- und Kleinschreibung spielt keine Rolle: Ops und ops sind derselbe Slug. Nach dem Erstellen der Rolle können Sie den Slug nicht mehr ändern. |
| Permissions | Die projektweiten Berechtigungen, die die Rolle gewährt. |
Projektweite Berechtigungen
Wählen Sie nur die projektweiten Berechtigungen aus, die die Rolle benötigt:
| Berechtigung | Beschreibung |
|---|---|
| Can run project tasks | Projekt-Tasks ausführen. |
| Can update project | Grundlegende Projektinformationen unter Dashboard > Settings bearbeiten. |
| Can manage project resources | Projektressourcen verwalten, zum Beispiel Task Templates, Repositories, Inventory, Environments, Einträge im Key Store, Schedules, Integrationen und Runner. Das ist ein projektweiter Zugriff. Er kann nicht auf einzelne Ressourcen außerhalb von Task Templates eingeschränkt werden. |
| Can manage project users | Projektmitgliedschaft und Rollenzuweisungen verwalten. |
Projektweite Berechtigungen können nicht auf ein einzelnes Inventory, Repository, Environment oder einen einzelnen Key-Store-Eintrag eingeschränkt werden. Task Templates sind der einzige Ressourcentyp, der granulare Rollenzuweisungen unterstützt.
Um eine granulare Rolle zu erstellen, die nur Zugriff auf ausgewählte Task Templates hinzufügt, lassen Sie alle projektweiten Berechtigungen deaktiviert. Die Rolle fügt dann selbst keine projektweiten Berechtigungen hinzu. Fügen Sie sie den benötigten Task Templates hinzu und wählen Sie dort nur die Aktionen aus, die diese Rolle benötigt.
Wählen Sie Save, wenn die Rollenkonfiguration fertig ist.
Zugriff auf bestimmte Task Templates konfigurieren
Task-Template-Berechtigungen fügen Zugriff auf ausgewählte Task Templates hinzu. Das folgende Beispiel verwendet eine benutzerdefinierte Rolle ohne projektweite Berechtigungen. Diese Konfiguration nach dem Prinzip der geringsten Rechte ist nützlich, wenn ein Teammitglied nur ausgewählte Aktionen für Task Templates benötigt. Sie können Task-Template-Berechtigungen auch einer Rolle hinzufügen, die bereits projektweiten Zugriff gewährt.
Das benötigte Task Template öffnen
- Öffnen Sie Task Templates und wählen Sie das gewünschte Task Template.
- Öffnen Sie den Tab Permissions.
Der Tab Permissions listet die Rollen auf, die dem Task Template bereits hinzugefügt wurden.

Die Rolle hinzufügen und Task-Template-Berechtigungen gewähren
- Wählen Sie Add Role und wählen Sie die benutzerdefinierte Rolle aus, die diesem Task Template hinzugefügt werden soll.
- Wählen Sie nur die Task-Template-Berechtigungen aus, die die Rolle benötigt, zum Beispiel Can run tasks oder Can update the template.
Dieses Beispiel verwendet eine zuvor erstellte Rolle ohne projektweite Berechtigungen. Sie können jede benutzerdefinierte Rolle wählen, die im Projekt verfügbar ist.

Um derselben Rolle Zugriff auf weitere Task Templates zu gewähren, wiederholen Sie diese Schritte für jedes Task Template.
Task-Template-Berechtigungen sind additiv. Sie fügen Zugriff hinzu, ohne den Zugriff aus der integrierten Rolle eines Benutzers oder aus anderen benutzerdefinierten Rollen zu ersetzen oder zu verringern. Wenn ein Benutzer bereits alle Task Templates ausführen oder bearbeiten kann, schränkt das Hinzufügen einer Task-Template-spezifischen Rolle diesen Zugriff nicht ein.
Eine benutzerdefinierte Rolle in einem Projekt zuweisen
Nachdem Sie eine globale oder eine Projektrolle erstellt und konfiguriert haben, weisen Sie sie dem gewünschten Teammitglied zu:
- Öffnen Sie das Projekt und gehen Sie zu Team.
- Wählen Sie das Rollenfeld neben dem gewünschten Mitglied aus.
- Wählen Sie die benutzerdefinierte Rolle aus. Ein Mitglied kann mehrere Rollen haben.
Eine verwendete Rolle löschen
Wenn eine Rolle noch Mitgliedern zugewiesen ist oder in Task-Template-Berechtigungen verwendet wird, fragt Semaphore vor dem Löschen nach und zeigt an, wie viele Mitglieder, Projekte und Task-Template-Berechtigungen betroffen sind. Wählen Sie Delete with assignments, um die Rolle zu löschen und sie allen wieder wegzunehmen. Mitglieder ohne weitere Rolle werden aus ihren Projekten entfernt.
Wenn Gruppenzuordnungen die Rolle verwenden, zeigt der Dialog auch, wie viele es sind. Nur ein Administrator kann eine solche Rolle löschen, und ihre Gruppenzuordnungen werden mit ihr gelöscht.
Derzeit nicht unterstützt
- Granulare Berechtigungen für Ressourcen außerhalb von Task Templates. Derzeit können nur Task Templates durch benutzerdefinierte Rollen auf der Ebene einzelner Ressourcen gesteuert werden.
Rollen aus Gruppenzuordnungen Enterprise
Gruppenzuordnungen sind in der Edition Semaphore Enterprise verfügbar.
Ein Administrator kann auf der Seite Group mappings allen Mitgliedern einer Gruppe in Ihrem Identitätsanbieter eine Projektrolle geben. Semaphore aktualisiert diese Rollen bei jeder Anmeldung des Benutzers über den Identitätsanbieter. Siehe Projektrollen aus Gruppen.
Auf der Seite Team hat eine solche Rolle ein Schlosssymbol. Fahren Sie mit der Maus über die Rolle, um den Anbieter und die Gruppe zu sehen, zum Beispiel keycloak: devops.
- Eine Rolle aus einer Gruppenzuordnung können Sie auf der Seite Team nicht entfernen. Nur ein Administrator kann Gruppenzuordnungen ändern.
- Wenn Sie ein Mitglied entfernen oder ihm alle von Hand vergebenen Rollen wegnehmen, bleiben die Rollen aus Gruppenzuordnungen, und das Mitglied bleibt im Projekt.
Teammitglieder verwalten
-
Neue Mitglieder einladen: Owner und Manager können neue Benutzer in das Team einladen und ihnen eine erste integrierte Rolle zuweisen.
-
Rollen ändern: Owner können die Rollen jedes Teammitglieds jederzeit ändern. Manager können die Rollen von Task Runners und Guests ändern, aber nicht die von anderen Managern oder Ownern.
-
Mitglieder entfernen: Owner und Manager können Teammitglieder mit niedrigeren Rollen entfernen.
- Ein Owner kann jeden entfernen (auch andere Owner), außer den letzten Owner.
- Ein Manager kann Task Runners und Guests entfernen, aber nicht andere Manager oder Owner.
Bewährte Vorgehensweisen
- Redundanz sicherstellen: Weisen Sie die Rolle Owner mindestens zwei Personen zu, um dauerhaften Zugriff zu gewährleisten und einen Single Point of Failure zu vermeiden.
- Das Prinzip der geringsten Rechte befolgen:
- Geben Sie Teammitgliedern die minimal notwendige Rolle für ihre Aufgaben.
- Verwenden Sie die Rollen Task Runner oder Guest für Personen, die nur eingeschränkte Berechtigungen benötigen.
- Verwenden Sie in Enterprise bevorzugt benutzerdefinierte Rollen, um Zugriff auf bestimmte Task Templates zu gewähren, anstatt die integrierte Rolle eines Mitglieds hochzusetzen.
- Mitgliedschaften regelmäßig überprüfen:
- Bewerten Sie Rollen neu, wenn sich Teamstrukturen ändern.
- Entziehen Sie Benutzern den Zugriff oder setzen Sie ihre Rolle herab, wenn sie keine weitreichenden Rechte mehr benötigen.
- Manager für die alltägliche Administration einsetzen:
- Behalten Sie die Rolle Owner einer kleineren Gruppe mit letzter Entscheidungsbefugnis vor.
- Delegieren Sie routinemäßige Projektverwaltungsaufgaben an Manager, um das Risiko versehentlicher großer Änderungen oder Projektlöschungen zu verringern.
Häufig gestellte Fragen
1. Kann ein Owner einen anderen Owner entfernen?
Ja, ein Owner kann die Rolle jedes anderen Owners entfernen oder ändern, es sei denn, dieser ist der letzte Owner im Projekt.
2. Wer kann das Projekt löschen?
Nur Owner können ein Projekt löschen.
3. Können Manager andere Manager hinzufügen oder entfernen?
Nein. Manager können nur Benutzer mit den Rollen Task Runner oder Guest hinzufügen oder entfernen. Um Owner oder andere Manager zu verwalten, müssen Sie Owner sein.
4. Was passiert, wenn ich versehentlich alle Owner entferne?
Ein Projekt darf nicht ohne Owner bleiben. Deshalb kann niemand außer einem Administrator den letzten Owner aus dem Projekt entfernen oder ihm die Rolle Owner entziehen. Der letzte Owner kann das Projekt auch nicht selbst verlassen. Wenn ein Administrator den letzten Owner entfernt, funktioniert das Projekt weiter, und ein Administrator kann auf der Seite Team einen neuen Owner hinzufügen.
5. Können Guests Tasks ausführen?
Nein. Guests haben nur Lesezugriff und können Tasks weder auslösen noch verwalten. In der Enterprise-Edition können Sie einem Guest über eine benutzerdefinierte Rolle die Berechtigung geben, einzelne Task Templates auszuführen.
6. Ersetzen benutzerdefinierte Rollen die integrierten Rollen?
Nein. Benutzerdefinierte Rollen kommen zu den integrierten Rollen hinzu. Ein Mitglied kann eine integrierte Rolle, benutzerdefinierte Rollen oder beides haben.
7. Ist erweitertes RBAC in der Community-Edition verfügbar?
Nein. Erweitertes RBAC erfordert ein Abonnement für Semaphore Enterprise.