我們正在設置我們的SonarQube服務器(5.6),以便任何人都可以使用聲納掃描儀運行聲納分析並將結果發佈到SonarQube。但是,我們希望限制用戶只對某些項目鍵發佈分析,以防止弄亂現有項目歷史。如何限制每個項目的SonarQube執行分析權限?
我們已經玩了很多權限設置。假設我們有項目關鍵SomeProjectKey和一個組SomeGroup。所有分析都是在SomeGroup會員的用戶下發布的。除了我們嘗試添加和刪除的執行分析以外,SomeGroup被授予了SomeProjectKey的所有權限。結果可以看出,在下面的矩陣:
SonarQube permission settings variants
基於這些結果,似乎准予執行分析(EA)在項目層面沒有任何影響。要求全球EA能夠發佈分析。但是,這樣可以讓擁有全球EA的用戶發佈所有項目的分析結果。我們還沒有找到任何方式來限制每個項目的發佈。項目級別的EA許可似乎完全多餘。
有什麼辦法可以讓用戶發佈只有某些項目的分析?更確切地說,是否有辦法讓用戶發佈分析而不會授予全球EA?
感謝您的任何意見
編輯: 我把SonarQube日誌級別來調試,但仍然毫無頭緒。隨着全球執行分析理所當然,一切工作正常和日誌顯示:
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
隨着授予項目級(所有項目的權限授予)來執行分析,有403 HTTP狀態代碼響應主體:
{"errors":[{"msg":"Insufficient privileges"}]}
的SonarQube日誌包含上出了什麼問題沒有資料,也就是與POST請求行接收,沒有什麼更關係到anaylysis出版,沒有錯誤,什麼都沒有,甚至在跟蹤級別:
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
我們將嘗試更新至6.0。
對不起,respons晚e,我一直在度假。你描述的場景在我們的案例中不起作用。我將信息添加到原始問題。 –