So erstellen/fügen Sie Benutzer hinzu in Jenkins & Berechtigungen verwalten

⚡ Intelligente Zusammenfassung

Benutzer erstellen in Jenkins Es sind vier Klicks erforderlich, aber die Zuweisung unterschiedlicher Berechtigungen zu jedem einzelnen Element erfordert das Plugin „Rollenbasierte Autorisierungsstrategie“, das die einzelne globale Rolle jedes integrierten Elements ersetzt. Jenkins Konto ansonsten teilen.

  • 🔘 Eingebaute Grenze: Jenkins Es können viele Benutzer ohne weitere Konfiguration erstellt werden, wobei jeder einzelne von ihnen die gleichen globalen Berechtigungen erhält.
  • ☑️ Plugin zuerst: Installieren Sie die rollenbasierte Autorisierungsstrategie und stellen Sie die Autorisierung auf rollenbasierte Strategie um, bevor ein Rollenbildschirm angezeigt wird.
  • Drei Rollentypen: Globale Rollen umfassen den gesamten Controller, Elementrollen zielen auf Jobs und Ordner ab und Agentenrollen zielen auf Build-Maschinen ab.
  • 🧪 Ausgearbeitetes Beispiel: Auf dem Bildschirm „Rollen zuweisen“ wird eine Entwicklerrolle erstellt, mit Berechtigungen versehen und dem Benutzer guru99 zugewiesen.
  • Mustererkennung: Eine Artikelrolle verwendet einen regulären Ausdruck wie tester.*, sodass jeder passende Job oder Benutzer die Rolle automatisch übernimmt.
  • ⚙️ Sicherheitsregel: Halten Sie stets ein Konto mit der Rolle „General/Admin“ bereit, da das Speichern einer Rollenänderung sonst alle Benutzer aussperren kann.

So erstellen und fügen Sie Benutzer hinzu in Jenkins und Berechtigungen verwalten

In großen Organisationen gibt es in der Regel mehrere separate Teams, die für die Verwaltung und Durchführung von Aufgaben zuständig sind. JenkinsDie Verwaltung dieser großen Nutzergruppe und die Zuweisung von Rollen kann sich jedoch als problematisch erweisen.

Standardmäßig Jenkins Die Benutzererstellung ist sehr einfach gehalten. Man kann zwar mehrere Benutzer anlegen, ihnen aber nur dieselben globalen Rollen und Berechtigungen zuweisen. Das ist insbesondere für große Organisationen nicht optimal.

Das Rollenstrategie-Plugin Ermöglicht es Ihnen, verschiedenen Benutzern unterschiedliche Rollen und Berechtigungen zuzuweisen. Sie müssen das Plugin zunächst in Ihrem System installieren. Jenkins Die folgende Anleitung behandelt daher zuerst die Benutzererstellung, dann das Plugin und schließlich die damit freigeschalteten Rollenbildschirme.

Wie man einen Benutzer erstellt/hinzufügt in Jenkins

Nachfolgend sind die Schritte zum Erstellen eines neuen Benutzers aufgeführt. Jenkins:

Schritt 1) ​​Melden Sie sich an bei Jenkins Dashboard

Loggen Sie sich Jenkins Dashboard durch Besuch http://localhost:8080/

Wenn Sie nicht installiert haben Jenkins Gehen Sie auf Ihrem lokalen Server zum entsprechenden URL Sie können mit Ihren Anmeldedaten auf Ihr Dashboard zugreifen. Das Dashboard, auf dem Sie landen, wird unten angezeigt.

Jenkins Das Dashboard wurde im Browser geöffnet. Jenkins Installationspfad

Schritt 2) Wählen Sie die Option

Sie sehen nun Optionen zum Erstellen und Hinzufügen eines Benutzers. Jenkins und die aktuellen Benutzer verwalten.

Verwalten Jenkins Bildschirm mit den Optionen zum Erstellen und Verwalten von Benutzern

Schritt 3) Erstellen Sie einen neuen Benutzer

  • Unter Verwaltung JenkinsKlicken Sie auf „Benutzer erstellen“.
  • Enter Jenkins Fügen Sie Benutzerdetails wie Passwort, Name, E-Mail usw. hinzu.
  • Klicken Sie auf Benutzer erstellen

Schritt 4) Der Benutzer wird erstellt

Im Dashboard sehen Sie, dass ein neues Jenkins Der Benutzer wurde gemäß den eingegebenen Daten wie in der untenstehenden Benutzerliste dargestellt angelegt.

Benutzerliste auf der Jenkins Dashboard nach der Erstellung des neuen Benutzers

⚠️ Versionshinweis: Strom Jenkins Die Veröffentlichungen listen diesen Bildschirm auf als Verwalten Jenkins > Benutzer statt Benutzer verwalten. Der Benutzer erstellen Der Button und die Felder darauf bleiben unverändert, und der Bildschirm existiert nur während JenkinsDie eigene Benutzerdatenbank ist der Sicherheitsbereich – ein LDAP- oder Single-Sign-On-Bereich verwaltet die Konten stattdessen extern.

So installieren Sie das Rollenstrategie-Plugin in Jenkins

Der integrierte Benutzerbildschirm erstellt zwar Konten, kann ihnen aber keine unterschiedlichen Berechtigungen zuweisen. Diese Funktionalität wird durch das Plugin „Rollenbasierte Autorisierungsstrategie“ bereitgestellt, das wie folgt installiert wird.

Es gibt zwei Methoden zum Installieren von Plugins in Jenkins:

  1. Installation über Ihr Jenkins Dashboard
  2. Herunterladen des Plugins von Jenkins Website und die manuelle Installation.

Schritt 1)

  1. Zurück Nach Verwalten Jenkins
  2. Klicken Sie auf die Option „Plugins verwalten“.

Verwalten Jenkins Seite, auf der die Option zur Plugin-Verwaltung hervorgehoben ist

Schritt 2)

  1. Suchen Sie im Bildschirm „Verfügbare Abschnitte“ nach „Rolle“.
  2. Wählen Sie Rolle aus-basierte Autorisierungsstrategie Plugin
  3. Klicke auf "Ohne Neustart installieren” (Stellen Sie sicher, dass Sie über eine aktive Internetverbindung verfügen)

Suchergebnisse im Plugin-Manager listen das Plugin „Rollenbasierte Autorisierungsstrategie“ auf.

⚠️ Versionshinweis: Der Weg ist jetzt Verwalten Jenkins > Plugins und die Registerkarte ist beschriftet Verfügbare PluginsDa Suchfeld und Plugin-Name identisch sind, gelten die beiden oben genannten Schritte weiterhin.

Schritt 3)

Sobald das Plugin installiert ist, wird der Status „Erfolg“ angezeigt, wie im folgenden Installationsbildschirm dargestellt.

Installationsbildschirm des Plugins, der den Erfolgsstatus für das Rollenstrategie-Plugin anzeigt.

Klicken Sie auf Gehen Sie zurück zur Startseite.

Schritt 4) Zurück Nach Verwalten Jenkins -> Globale Sicherheit konfigurieren -> Unter Genehmigung, wählen Rollenbasierte Strategie. Klicken Sie auf GespeichertDer Abschnitt „Autorisierung“ sieht folgendermaßen aus.

Autorisierungsbereich des globalen Sicherheitsbildschirms mit ausgewählter rollenbasierter Strategie

Im aktuellen Jenkins Der Link zu dieser Seite lautet: Verwalten Jenkins > Sicherheitund die Seite selbst hat immer noch die Überschrift Globale Sicherheit konfigurieren mit demselben Autorisierungs-Dropdown-Menü.

Rollentypen im Rollenstrategie-Plugin

Sobald die rollenbasierte Strategie aktiviert ist, bietet das Plugin drei separate Rollenbereiche. Die häufigste Ursache dafür, dass eine Berechtigung scheinbar keine Wirkung zeigt, ist die Wahl des falschen Bereichs. Daher ist es ratsam, sich vor der Erstellung von Berechtigungen mit dem jeweiligen Umfang der einzelnen Bereiche vertraut zu machen.

Rollentyp Geltungsbereich Typische Verwendung
Globale Rollen Die ganze Jenkins Controller und überschreiben alles, was in den Elementrollen festgelegt ist. Administrator, eine authentifizierte Rolle mit Lesezugriff, anonym
Artikelrollen Jobs, Pipelines und Ordner, deren vollständiger Name einem regulären Ausdrucksmuster entspricht Einem Team die Build- und Konfigurationsrechte nur für seine eigenen Jobs zu geben
Vermittler Bauagenten, die einem Muster zugeordnet sind Einem Team ermöglichen, seine eigenen Agenten zu verbinden oder zu trennen

Das folgende Tutorial verwendet eine globale Rolle für Entwickler und eine Artikelrolle für TesterBeachten Sie die Namensgebung: Das Plugin ruft nun den zweiten Gültigkeitsbereich auf. ArtikelrollenDa es sowohl Ordner und Pipelines als auch einfache Jobs umfasst, wird dieselbe Tabelle verwendet. Ältere Versionen – und die Screenshots weiter unten auf dieser Seite – verwenden dieselbe Bezeichnung. Projektrollen.

Wie man Benutzer und Rollen verwaltet in Jenkins

Im Folgenden sind die Schritte zur Verwaltung und Zuweisung von Rollen aufgeführt. Jenkins:

Schritt 1)

  1. Zurück Nach Verwalten Jenkins
  2. Auswählen Rollen verwalten und zuweisen

Verwalten Jenkins Seite, die den vom Plugin hinzugefügten Eintrag „Rollen verwalten und zuweisen“ anzeigt.

Hinweis: , dass die Rollen verwalten und zuweisen Diese Option ist nur sichtbar, wenn Sie das Plugin „Rollenstrategie“ installiert und die Autorisierung auf rollenbasierte Strategie umgestellt haben.

Schritt 2) Klicken Sie auf Rollen verwalten um neue Rollen basierend auf Ihrer Organisation hinzuzufügen.

Bildschirm „Rollen verwalten und zuweisen“ mit der Option „Rollen verwalten“

Schritt 3) Um eine neue Rolle namens „Entwickler“ zu erstellen,

  1. Geben Sie unter „Rolle“ „Entwickler“ ein.
  2. Klicken Sie auf „Hinzufügen“, um eine neue Rolle zu erstellen.
  3. Wählen Sie nun das Jenkins Benutzerberechtigungen, die Sie der Rolle „Entwickler“ zuweisen möchten.
  4. Klicke auf Speichern

Das erscheinende Raster aus Kontrollkästchen wird unten angezeigt.

Bildschirm „Rollen verwalten“ mit der hinzugefügten Entwicklerrolle und aktivierten Berechtigungen

Jenkins Berechtigungsgruppen, die Sie einer Rolle zuweisen können

Die Kontrollkästchen im Bildschirm „Rollen verwalten“ sind nach dem Objekt gruppiert, auf das sich die jeweilige Berechtigung bezieht. Die folgende Tabelle erläutert, was jede Gruppe steuert, wodurch es wesentlich einfacher wird, einem Team die tatsächlich benötigten Mindestberechtigungen zuzuweisen.

Berechtigungsgruppe Was es gewährt
Insgesamt: Verwalten, Lesen und die anderen Controller-weiten Rechte. Verwalten ist die vollständige Kontrolle, also sollte man sie sparsam gewähren.
Aus- und Fortbildungen Gespeicherte Anmeldeinformationen anzeigen, erstellen und aktualisieren
Makler Konfigurieren, Verbinden, Trennen und Löschen von Build-Agenten
Job Erstellen, Abbrechen, Konfigurieren, Erstellen, Löschen, Lesen, Arbeitsbereich und Verschieben von Aufträgen
Führen Sie Löschen, Wiedergeben und Aktualisieren eines einzelnen Build-Datensatzes
Ansehen Dashboard-Ansichten erstellen, konfigurieren, löschen und lesen
SCM Auslösen eines Builds über einen Quellcodeverwaltungs-Hook

Beginnen Sie jede neue Rolle mit Gesamt/Lesen erfahren Job/LesenOhne diese beiden Einstellungen sieht ein angemeldeter Benutzer ein leeres Dashboard, selbst wenn andere Berechtigungen aktiviert sind. Dies ist die am häufigsten gemeldete Verwirrung im Zusammenhang mit diesem Plugin.

Wie man Rollen zuweist in Jenkins

Schritt 1) Nachdem Sie nun Rollen erstellt haben, können wir diese bestimmten Benutzern zuweisen.

  1. Zurück Nach Verwalten Jenkins
  2. Wählen Sie Rollen verwalten und zuweisen

Der Bildschirm „Rollen verwalten und zuweisen“ wurde geöffnet, um die Option „Rollen zuweisen“ aufzurufen.

Schritt 2) Wir werden die neue Rolle „Entwickler“ zum Benutzer „ hinzufügen.guru99"

  1. Aktivieren Sie das Kontrollkästchen „Entwicklerrolle“.
  2. Klicke auf Speichern

Bildschirm „Rollen zuweisen“ mit aktiviertem Kontrollkästchen für die Entwicklerrolle für Benutzer guru99

Sie können jedem Benutzer je nach Bedarf eine beliebige Rolle zuweisen.

Wie man Projektrollen erstellt in Jenkins

Globale Rollen gelten überall. Wenn eine Berechtigung nur für eine bestimmte Gruppe von Jobs gelten soll, erstellen Sie stattdessen eine Projektrolle – den Bereich, den das Plugin jetzt als Elementrolle bezeichnet.

Unter können Sie projektspezifische Rollen erstellen Projektrollen.

Schritt 1) In Jenkins' Rollen verwalten und zuweisen

  1. Tragen Sie eine Rolle als „Tester“ ein
  2. Fügen Sie diesem durch Hinzufügen ein Muster hinzu Prüfer.*, sodass jedem Benutzernamen, der mit „tester“ beginnt, die von Ihnen angegebene Projektrolle zugewiesen wird.
  3. Klicken Sie auf Hinzufügen
  4. Wählen Sie Berechtigungen aus
  5. Klicke auf Speichern

Die ausgefüllte Tabelle der Projektrollen ist unten dargestellt.

Tabelle „Projektrollen“ mit einer Testerrolle und dem eingegebenen Tester-Punkt-Stern-Muster

Das Muster ist ein regulärer Ausdruck, der mit dem vollständigen Namen des Artikels abgeglichen wird, also tester.* passt auch zu einem Ordner mit dem Namen Tester-Suite und alles, was darin enthalten ist. Testen Sie ein neues Muster an einem temporären Auftrag, bevor Sie es auf eine Live-Anwendung anwenden. Freestyle-Projekt oder die Pipeline-Job.

Matrixbasierte Sicherheit vs. rollenbasierte Strategie

Die rollenbasierte Strategie ist nicht die einzige Autorisierungsoption in diesem Dropdown-Menü. Jenkins Schiffe mit integrierter Matrix-basierter Sicherheit, und für eine kleine Installation mag das völlig ausreichend sein.

Vergleichspunkt Matrixbasierte Sicherheit Rollenbasierte Strategie
Installation Eingebaut Jenkins Benötigt das Plugin „Rollenbasierte Autorisierungsstrategie“.
Aufgabeneinheit Jedem Benutzer oder jeder Gruppe werden Berechtigungen direkt erteilt. Berechtigungen gehören zu einer benannten Rolle, und Benutzer sind dieser Rolle zugeordnet.
Der zehnte Benutzer wird hinzugefügt Die gesamte Berechtigungszeile wird von Hand wiederholt. Eine Rolle ankreuzen
Kontrolle pro Auftrag Projektbasierte Matrixautorisierung, konfiguriert für jeden Auftrag Eine Artikelrolle mit einem Muster deckt alle passenden Aufgaben ab.
beste Passform Eine Handvoll Benutzer mit nahezu identischem Zugriff Mehrere Teams, viele Jobs, Zugang, der sich mit dem Umzug von Menschen verändert.

Als Faustregel gilt: Je öfter eine Berechtigung wiederholt wird, desto günstiger ist die Pflege einer Rolle. Sobald dasselbe Häkchenmuster für einen dritten Benutzer gesetzt wird, ist die Rollenverwaltung kostengünstiger – genau das Argument, das Teams dazu bewegt, von Ad-hoc-Aufgaben zu einem überprüften System überzugehen. CI / CD-Pipeline.

Häufig gestellte Fragen

Zwei Bedingungen müssen erfüllt sein: Das Plugin „Rollenbasierte Autorisierungsstrategie“ muss installiert sein und die Autorisierung auf dem Sicherheitsbildschirm muss auf „Rollenbasierte Strategie“ eingestellt sein. Der Eintrag bleibt ausgeblendet, bis der zweite Schritt gespeichert wird.

Stoppen Jenkins, geöffnet config.xml in JENKINS_HOME und ersetzen Sie die authorizationStrategy Element mit <authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>Starten Sie dann neu. Verwenden Sie immer ein Konto mit der Berechtigung „Gesamt/Verwaltung“, um dies zu vermeiden.

Ja. Der Bildschirm „Rollen zuweisen“ akzeptiert sowohl Gruppennamen als auch Benutzernamen, sodass eine LDAP- oder Active Directory-Gruppe einmalig einer Rolle zugeordnet werden kann und die Mitgliedschaft anschließend vollständig im Verzeichnis verwaltet wird.

Mithilfe von Werkzeugen für maschinelles Lernen werden die erteilten Berechtigungen mit den tatsächlich genutzten Berechtigungen jedes Kontos verglichen und die nicht verwendeten Berechtigungen gekennzeichnet. Dadurch werden überprivilegierte Rollen viel schneller aufgedeckt als durch das manuelle Lesen einer Berechtigungsmatrix.

GitHub-Copilot schreibt der Groovy oder REST-Aufrufe, die Rollen in großen Mengen erstellen und Entwurfsmusterausdrücke für Elementrollen. RevÜberprüfen Sie alles, was es erzeugt, bevor es ausgeführt wird, denn ein falsches Muster erweitert den Zugriff unbemerkt.

Konten befinden sich unter JENKINS_HOME/users, ein Ordner pro Benutzer mit einem config.xml im Inneren. Rollen und ihre Berechtigungen befinden sich im Hauptverzeichnis. JENKINS_HOME/config.xmlDurch die Sicherung dieses Ordners bleiben also beide erhalten.

Das Konto wird aus der Benutzerliste gelöscht. Dadurch werden die Anmeldedaten entfernt, der Build-Verlauf bleibt jedoch erhalten. Um den Zugriff zu entziehen, ohne Daten zu löschen, deaktivieren Sie das Kontrollkästchen für die Rolle des betreffenden Benutzers im Bildschirm „Rollen zuweisen“ und speichern Sie die Änderungen.

Ja. Die Berechtigungsgruppe „Anmeldeinformationen“ im Bildschirm „Rollen verwalten“ umfasst das Anzeigen, Erstellen und Aktualisieren gespeicherter Geheimnisse, sodass einer Rolle die Ausführung eines Auftrags erlaubt werden kann, während gleichzeitig der Zugriff auf die von ihr verwendeten Anmeldeinformationen blockiert wird.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: