Zum Hauptinhalt springen

Teams

In Semaphore UI ist jedes Projekt einem Team zugeordnet. Nur Teammitglieder und Administratoren können auf das Projekt zugreifen. Jedem Teammitglied wird eine von vier integrierten Rollen zugewiesen, die seine Zugriffsstufe und die ausführbaren Aktionen bestimmen.

In der Enterprise-Edition können die integrierten Rollen durch benutzerdefinierte Rollen erweitert werden, die zusätzliche, fein abgestufte Berechtigungen für bestimmte Templates gewähren.

tipp

Um den Zugriff auf ein Projekt nicht zu verlieren, wird empfohlen, mindestens zwei Teammitglieder mit der Rolle Eigentümer zu haben.

Integrierte Rollen

Jedes Teammitglied hat genau eine dieser vier Rollen:

  • Eigentümer (Owner)
  • Manager
  • Task Runner
  • Gast (Guest)

Im Folgenden finden Sie detaillierte Beschreibungen jeder Rolle und ihrer Berechtigungen.

Eigentümer

  • Volle Berechtigungen
    Eigentümer können innerhalb des Projekts alles tun, einschließlich Rollen verwalten, Mitglieder hinzufügen/entfernen und beliebige Projekteinstellungen konfigurieren.

  • Mehrere Eigentümer
    Ein Projekt kann mehrere Eigentümer haben, sodass mehr als eine Person volle Rechte besitzt.

  • Einschränkungen beim Entfernen der eigenen Person
    Ein Eigentümer kann sich nicht selbst entfernen, wenn er der einzige Eigentümer des Projekts ist. Dies verhindert, dass das Projekt ohne Eigentümer zurückbleibt.

  • Verwaltung anderer Eigentümer
    Eigentümer können alle Teammitglieder verwalten (einschließlich Entfernen oder Rollenänderung), auch andere Eigentümer.

Manager

  • Weitreichende Projektkontrolle: Manager haben nahezu dieselben Berechtigungen wie Eigentümer und können damit die meisten alltäglichen Aufgaben erledigen und die Projektumgebung verwalten.

  • Manager können nicht:

    • Das Projekt entfernen.
    • Eigentümer entfernen oder deren Rollen ändern.
  • Typischer Anwendungsfall: Weisen Sie die Rolle Manager erfahrenen Teammitgliedern zu, die umfassenden Zugriff benötigen, aber nicht die Befugnis haben müssen, das Projekt zu löschen oder Eigentümer zu verwalten.

Task Runner

  • Tasks ausführen: Task Runner können jedes im Projekt vorhandene Task-Template ausführen.

  • Nur Lesezugriff auf andere Ressourcen: Sie können zwar Tasks ausführen, haben aber nur Lesezugriff auf andere Ressourcen wie Inventory, Variablen, Repositories usw.

  • Typischer Anwendungsfall: Entwickler oder QA-Ingenieure, die Tasks auslösen und überwachen müssen, aber keine Projekteinstellungen ändern oder die Teammitgliedschaft verwalten müssen.

Gast

  • Nur Lesezugriff: Gäste haben Lesezugriff auf alle Projektressourcen (z. B. Anzeigen von Logs, Inventories, Dashboards).

  • Keine Schreibrechte: 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)

info

Erweitertes RBAC ist in der Semaphore Enterprise-Edition ab Semaphore v2.17 verfügbar.

Erweitertes RBAC legt zusätzliche Berechtigungen über die vier integrierten Rollen. Die integrierten Rollen selbst bleiben unverändert. Wenn Sie keine benutzerdefinierten Rollen definieren, verhält sich jedes Projekt genau 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 erteilen. So können Sie einem Teammitglied Zugriff auf die benötigten Templates geben, ohne es auf eine höhere integrierte Rolle hochzustufen.

Benutzerdefinierte Rollen

Eine benutzerdefinierte Rolle ist ein benannter Satz von Berechtigungen, der die integrierte Projektrolle eines Mitglieds ergänzt. Jedes Teammitglied behält seine integrierte Rolle. Benutzerdefinierte Rollen fügen ihr Berechtigungen hinzu.

Benutzerdefinierte Rollen sind in zwei Geltungsbereichen 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 diese beim Erstellen der Rolle aus.
  • Template-Berechtigungen steuern Aktionen für ein einzelnes Task-Template. Sie wählen diese im Tab Berechtigungen des jeweiligen Templates aus, nachdem Sie die Rolle zum Template hinzugefügt haben.

Eine benutzerdefinierte Rolle erstellen

Wählen Sie den Geltungsbereich, 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 Admin-Menü unten links und wählen Sie Rollen.

Wählen Sie in der instanzweiten Rollenliste Neue Rolle.

Rollen über das Administratormenü öffnen, dann Neue Rolle wählen

Projektrolle

Projektrollen sind nur in dem Projekt verfügbar, in dem sie erstellt wurden. Projekt-Eigentümer und Manager können sie erstellen.

  1. Öffnen Sie das Projekt und gehen Sie zu Team > Rollen.
  2. Wählen Sie Neue Rolle.

Der Tab Rollen ist leer, bis die erste Projektrolle erstellt wurde. Er listet alle Projektrollen auf und enthält die Schaltfläche Neue Rolle.

Eine benutzerdefinierte Rolle konfigurieren

Beide Wege öffnen dasselbe Rollenformular. Konfigurieren Sie die Rolle passend zum Zugriff, den Ihr Teammitglied benötigt.

Dialog „Neue Rolle“ mit Feldern und Berechtigungs-Kontrollkästchen

FeldBeschreibung
NameEine für Menschen lesbare Bezeichnung der Rolle.
SlugEine eindeutige technische Kennung, über die die Rolle referenziert wird. Verwenden Sie Kleinbuchstaben, Ziffern, Unterstriche oder Bindestriche, zum Beispiel release_operator.
BerechtigungenDie projektweiten Berechtigungen, die die Rolle gewährt.

Projektweite Berechtigungen

Wählen Sie nur die projektweiten Berechtigungen aus, die die Rolle benötigt:

BerechtigungBeschreibung
Darf Projekt-Tasks ausführenProjekt-Tasks ausführen.
Darf Projekt aktualisierenGrundlegende Projektinformationen unter Dashboard > Einstellungen bearbeiten.
Darf Projektressourcen verwaltenProjektressourcen verwalten, etwa Task-Templates, Repositories, Inventory, Umgebungen, Key-Store-Einträge, Zeitpläne, Integrationen und Runner. Dies ist ein projektweiter Zugriff. Er kann nicht auf einzelne Nicht-Template-Ressourcen beschränkt werden.
Darf Projektbenutzer verwaltenProjektmitgliedschaft und Rollenzuweisungen verwalten.

Projektweite Berechtigungen können nicht auf ein einzelnes Inventory, Repository, eine Umgebung oder einen Key-Store-Eintrag beschränkt werden. Task-Templates sind der einzige Ressourcentyp, der granulare Rollenzuweisungen unterstützt.

Nur Template-Zugriff

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 Templates hinzu und wählen Sie dort nur die Aktionen aus, die die Rolle benötigt.

Wählen Sie Speichern, wenn die Rollenkonfiguration fertig ist.

Zugriff auf bestimmte Task-Templates konfigurieren

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 minimalen Rechte ist nützlich, wenn ein Teammitglied nur ausgewählte Template-Aktionen benötigt. Sie können Template-Berechtigungen auch zu einer Rolle hinzufügen, die bereits projektweiten Zugriff gewährt.

Das gewünschte Template öffnen

  1. Öffnen Sie Task-Templates und wählen Sie das Ziel-Template aus.
  2. Öffnen Sie den Tab Berechtigungen.

Der Tab Berechtigungen listet die Rollen auf, die dem Template bereits hinzugefügt wurden.

Die Rolle hinzufügen und Template-Berechtigungen gewähren

  1. Wählen Sie Rolle hinzufügen und wählen Sie die benutzerdefinierte Rolle aus, die diesem Template hinzugefügt werden soll.
  2. Wählen Sie nur die Template-Berechtigungen aus, die die Rolle benötigt, etwa Darf Tasks ausführen oder Darf das Template aktualisieren.

Dieses Beispiel verwendet eine zuvor erstellte Rolle ohne projektweite Berechtigungen. Sie können jede im Projekt verfügbare benutzerdefinierte Rolle wählen.

Dialog für Template-Berechtigungen mit hervorgehobenen Bedienelementen

Um derselben Rolle Zugriff auf weitere Templates zu gewähren, wiederholen Sie diese Schritte für jedes Template.

Bestehender Projektzugriff

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 einzuschränken. Wenn ein Benutzer bereits alle Task-Templates ausführen oder aktualisieren kann, schränkt das Hinzufügen einer Template-spezifischen Rolle diesen Zugriff nicht ein.

Eine benutzerdefinierte Rolle in einem Projekt zuweisen

Nachdem Sie eine globale oder Projektrolle erstellt und konfiguriert haben, weisen Sie sie dem gewünschten Teammitglied zu:

  1. Öffnen Sie das Projekt und gehen Sie zu Team.
  2. Klappen Sie Rollen neben dem gewünschten Benutzer auf.
  3. Wählen Sie die benutzerdefinierte Rolle aus.

Derzeit nicht unterstützt

  • LDAP-/OIDC-Gruppenzuordnung. Benutzerdefinierte Rollen werden pro Benutzer zugewiesen. Die Zuordnung externer Verzeichnisgruppen zu benutzerdefinierten Rollen wird nicht unterstützt.
  • Granulare Berechtigungen für Nicht-Template-Ressourcen. Derzeit können nur Templates auf Ebene einzelner Ressourcen über benutzerdefinierte Rollen gesteuert werden.

Teammitglieder verwalten

  • Neue Mitglieder einladen: Eigentümer und Manager können neue Benutzer in das Team einladen und ihnen eine anfängliche Rolle zuweisen.

  • Rollen ändern: Eigentümer können die Rollen aller Teammitglieder jederzeit ändern. Manager können die Rollen von Task Runnern und Gästen ändern, aber nicht die anderer Manager oder Eigentümer.

  • Mitglieder entfernen: Eigentümer und Manager können Teammitglieder mit niedrigeren Rollen entfernen.

    • Ein Eigentümer kann jeden entfernen (auch andere Eigentümer), sich selbst jedoch nicht, wenn er der einzige Eigentümer ist.
    • Ein Manager kann Task Runner und Gäste entfernen, aber nicht andere Manager oder Eigentümer.

Best Practices

  1. Redundanz sicherstellen: Weisen Sie die Rolle Eigentümer mindestens zwei Personen zu, um dauerhaften Zugriff zu gewährleisten und einen Single Point of Failure zu vermeiden.
  2. Prinzip der minimalen Rechte befolgen:
    • Geben Sie Teammitgliedern die für ihre Aufgaben minimal erforderliche Rolle.
    • Verwenden Sie die Rollen Task Runner oder Gast für Personen, die nur eingeschränkte Berechtigungen benötigen.
    • Bevorzugen Sie in der Enterprise-Edition benutzerdefinierte Rollen, um Zugriff auf bestimmte Templates zu gewähren, statt die integrierte Rolle eines Mitglieds hochzustufen.
  3. Mitgliedschaft regelmäßig überprüfen:
    • Bewerten Sie Rollen neu, wenn sich Teamstrukturen ändern.
    • Entziehen Sie den Zugriff oder stufen Sie Rollen herab für Benutzer, die keine weitreichenden Rechte mehr benötigen.
  4. Manager für die tägliche Administration einsetzen:
    • Reservieren Sie die Rolle Eigentümer für eine kleinere Gruppe mit letzter Entscheidungsbefugnis.
    • Delegieren Sie routinemäßige Projektverwaltungsaufgaben an Manager, um das Risiko versehentlicher größerer Änderungen oder Projektlöschungen zu verringern.

Häufig gestellte Fragen

1. Kann ein Eigentümer einen anderen Eigentümer entfernen?

Ja, ein Eigentümer kann jeden anderen Eigentümer entfernen oder dessen Rolle ändern, es sei denn, er ist der einzige verbleibende Eigentümer im Projekt.

2. Wer kann das Projekt löschen?

Nur Eigentümer 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 Gast hinzufügen oder entfernen. Um Eigentümer oder andere Manager zu verwalten, müssen Sie Eigentümer sein.

4. Was passiert, wenn ich versehentlich alle Eigentümer entferne?

Semaphore UI verhindert das Entfernen eines Eigentümers, wenn das Projekt dadurch ohne Eigentümer zurückbliebe. Es muss jederzeit mindestens einen Eigentümer geben.

5. Können Gäste Tasks ausführen?

Nein. Gäste haben nur Lesezugriff und können Tasks weder auslösen noch verwalten. In der Enterprise-Edition können Sie einem Gast über eine benutzerdefinierte Rolle die Berechtigung erteilen, einzelne Templates auszuführen.

6. Ersetzen benutzerdefinierte Rollen die integrierten Rollen?

Nein. Benutzerdefinierte Rollen erweitern die integrierten Rollen um zusätzliche Berechtigungen auf Projekt- und Template-Ebene. Jedes Teammitglied hat weiterhin genau eine integrierte Rolle.

7. Ist erweitertes RBAC in der Community-Edition verfügbar?

Nein. Erweitertes RBAC erfordert ein Semaphore Enterprise-Abonnement.