Wir versuchen, unseren SonarQube-Server (5.6) so einzurichten, dass jeder eine Sonar-Analyse mit Sonar Scanner ausführen und die Ergebnisse im SonarQube veröffentlichen kann. Wir möchten jedoch die Benutzer darauf beschränken, die Analyse nur für bestimmte Projektschlüssel zu veröffentlichen, um zu verhindern, dass vorhandene Projekthistorien zerstört werden.Wie kann die SonarQube-Berechtigung "Ausführungsanalyse" pro Projekt eingeschränkt werden?
Wir haben mit den Einstellungen der Berechtigungen ziemlich herum gespielt. Nehmen wir an, wir haben den Projektschlüssel SomeProjectKey und eine Gruppe SomeGroup. Alle Analysen wurden unter dem Benutzer, der Mitglied von SomeGroup ist, veröffentlicht. Der SomeGroup wurden alle Berechtigungen von SomeProjectKey zugewiesen, mit Ausnahme von "Analyse ausführen", die wir hinzufügen und entfernen wollten. Die Ergebnisse können Sie weiter unten in der Matrix zu sehen:
SonarQube permission settings variants
Basierend auf diesen Ergebnissen scheint es, dass die Gewährung der Analyse ausführen (EA) auf Projektebene keine Auswirkung. Es ist erforderlich, einen globalen EA zu haben, um die Analyse veröffentlichen zu können. Dies ermöglicht jedoch Benutzern mit gewährten globalen EA, die Analyse für alle Projekte zu veröffentlichen. Wir haben keine Möglichkeit gefunden, die Veröffentlichung pro Projekt einzuschränken. Die EA-Genehmigung auf Projektebene scheint völlig redundant zu sein.
Gibt es eine Möglichkeit, wie Benutzer Analysen nur für bestimmte Projekte veröffentlichen können? Genauer gesagt, gibt es überhaupt eine Möglichkeit, Benutzern zu ermöglichen, Analysen zu veröffentlichen, ohne ihnen globale EA zu gewähren?
Vielen Dank für jede Beratung
Edit: drehte ich die Sonarqube Protokollebene zu debuggen, aber immer noch keine Ahnung. Mit dem globalen Execute Analyse gewährt, funktioniert alles einwandfrei und das Protokoll zeigt:
2016.08.19 17:13:42 DEBUG web[http] POST /api/ce/submit?projectKey=zz.yyy:xxx-exp&projectName=xxx&projectBranch=xxx | time=4279ms
2016.08.19 17:13:43 INFO ce[o.s.s.c.t.CeWorkerCallableImpl] Execute task | project=zz.yyy:xxx-exp&projectName=xxx&projectBranch=xxx | type=REPORT | id=AVajXWLL944EkuNYd4rD | submitter=pavel.sindelar
2016.08.19 17:13:48 INFO ce[o.s.s.c.t.CeWorkerCallableImpl] Executed task | project=zz.yyy:xxx-exp&projectName=xxx&projectBranch=xxx | type=REPORT | id=AVajXWLL944EkuNYd4rD | submitter=pavel.sindelar | time=4456ms
mit Ausgeführt Analyse gewährt auf Projektebene (alle Projektes Genehmigung erteilt), gibt es 403 HTTP-Statuscode mit Antworttext:
{"errors":[{"msg":"Insufficient privileges"}]}
das Sonarqube Protokoll auf keine Informationen enthält, was falsch ist, gibt es nur die Zeile mit der POST-Anforderung empfangen wird, nichts mehr im Zusammenhang mit dem anaylysis Publishing, kein Fehler, nichts, auch auf Spurenebene:
2016.08.22 10:15:57 DEBUG web[http] POST /api/ce/submit?projectKey=project=zz.yyy:xxx-exp&projectName=xxx&projectBranch=xxx | time=564ms
Wir werden versuchen, auf 6.0 zu aktualisieren.
Sorry für die späten respons verarbeitet Ich war im Urlaub. Das von Ihnen beschriebene Szenario funktioniert in unserem Fall nicht. Ich habe die Info zur ursprünglichen Frage hinzugefügt. –