Gibt es eine Möglichkeit, den Benutzer darauf zu beschränken, nur bestimmte Jobs in Jenkins anzuzeigen?
Jenkins ermöglicht die Einschränkung der Benutzerfähigkeit pro Projekt über die "Projektbasierte Matrix-Autorisierungsstrategie". Das Problem ist, dass ein Benutzer ohne die Einstellung "Gesamt" und "Lesen" auf nichts zugreifen kann. Dies scheint es ihnen zu ermöglichen, alle Jobs anzuzeigen.
Gibt es ein anderes Plugin, das die Jobbeschränkung zulässt?
Nur ein Plugin hilft mir: Rollenbasierte Strategie :
wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin
Die offizielle Dokumentation (wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin) ist jedoch mangelhaft.
Die folgenden Konfigurationen haben bei mir funktioniert:
Konfigurieren-Rollen-Strategie-Plugin-in-Jenkins
Grundsätzlich müssen Sie nur Rollen erstellen und diese mithilfe von Regex mit Jobnamen abgleichen.
quelle
Step 9. Add Project Roles based on each project.
Sie können die projektbasierte Matrixauthentifizierungsstrategie verwenden und die Berechtigung "Gesamt lesen" aktivieren, aber "Job lesen" auf Systemebene deaktivieren. Danach sollten Sie Read Job für jedes bestimmte Projekt aktivieren, das Sie für den aktuellen Benutzer sichtbar machen möchten. Weitere Informationen finden Sie in diesem behobenen Problem . Einige Infos von dort:
Außerdem empfehle ich Ihnen, weiter zu gehen und das Rollenstrategie-Plugin zu lesen . Dies kann die Benutzer- / Rollenverwaltung vereinfachen. Sie können die oben beschriebenen verwenden, um Zugriff auf bestimmte Jobs zu gewähren.
quelle
Ich verwende die Kombination mehrerer Plugins - für die grundlegende Zuweisung von Rollen und Berechtigungen verwende ich das Rollenstrategie- Plugin .
Wenn ich eine Rolle in Abhängigkeit von den Parametern aufteilen muss (z. B. kann jeder mit Job-Runner Jobs ausführen, aber nur Benutzer-Benutzer-UUU darf den Bereitstellungsjob für die Bereitstellung auf Maschinen-MMM ausführen), verwende ich das Python-Plugin und definiere eine Python Skript als erster Erstellungsschritt und Ende mit sys.exit (-1), wenn die Ausführung des Jobs mit der angegebenen Kombination von Parametern verboten ist.
Erstellen Sie das User Vars Plugin liefert mir Informationen über den Benutzer, der den Job als Umgebungsvariablen ausführt.
Z.B:
quelle
Wie oben von Vadim erwähnt, verwenden Sie Jenkins "Projektbasierte Matrix-Autorisierungsstrategie" unter "Jenkins verwalten" => "System konfigurieren". Vergessen Sie nicht, dort Ihren Administrator hinzuzufügen und alle Berechtigungen zu erteilen. Fügen Sie nun den eingeschränkten Benutzer dort hinzu und gewähren Sie allgemeinen Lesezugriff. Gehen Sie dann zur Konfigurationsseite jedes Projekts. Sie haben jetzt die Option "Projektbasierte Sicherheit aktivieren". Fügen Sie nun jeden Benutzer hinzu, den Sie autorisieren möchten.
quelle
Gehen Sie zu "Jenkins verwalten" -> "Benutzer verwalten", gehen Sie zu dem bestimmten Benutzer und bearbeiten Sie dessen Standardansicht "Abschnitt" Meine Ansichten "".
quelle
Sie können das Plug-In "Extended Read Permission" installieren. Dann können Sie entweder in "Globale Einstellungen" oder in der Konfiguration einzelner Jobs dem Benutzer die Berechtigung "Erweitertes Lesen" erteilen.
quelle