우리는 누구나 Sonar 스캐너를 사용하여 Sonar 분석을 실행하고 결과를 SonarQube에 게시 할 수 있도록 SonarQube 서버 (5.6)를 설정하려고합니다. 그러나 우리는 특정 프로젝트 키에 대해서만 분석을 게시하도록 사용자가 제한하여 기존 프로젝트 기록을 망칠 수 없도록하려고합니다.프로젝트별로 SonarQube 실행 분석 권한을 제한하는 방법은 무엇입니까?
우리는 권한 설정을 가지고 놀았습니다. 프로젝트 키 SomeProjectKey와 그룹 SomeGroup이 있다고합시다. 모든 분석은 SomeGroup의 회원 인 사용자 아래 게시되었습니다. SomeGroup은 우리가 추가하고 제거하려고 시도한 Execute Analysis를 제외하고 SomeProjectKey의 모든 허가를 받았다. 결과는 아래의 매트릭스에서 볼 수있다 : 이러한 결과를 바탕으로
SonarQube permission settings variants
, 그것은 보인다 부여 프로젝트 수준에서 분석 (EA)는 효과가 없습니다 실행합니다. 분석을 공개하려면 글로벌 EA가 있어야합니다. 그러나이를 통해 글로벌 EA 권한을 가진 사용자는 모든 프로젝트에 대한 분석을 게시 할 수 있습니다. 프로젝트별로 게시를 제한하는 방법을 찾지 못했습니다. 프로젝트 레벨에 대한 EA 권한은 완전히 중복 된 것처럼 보입니다.
사용자가 특정 프로젝트에만 분석을 게시 할 수있는 방법이 있습니까? 보다 정확하게는 사용자가 글로벌 EA를 부여하지 않고 분석을 게시 할 수있는 방법이 있습니까?
은 어떤 조언편집 주셔서 감사합니다 : 내가 디버그에 SonarQube 로그 레벨을 설정하지 않습니다하지만 여전히 단서. 세계와 함께하는 분석이 부여 실행, 모든 작동 및 로그 보여줍니다 :
{"errors":[{"msg":"Insufficient privileges"}]}
:
(모든 프로젝트 권한 부여) 프로젝트 수준에 부여 실행 된 분석
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 상태 코드가
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
: 는 SonarQube 로그가 무엇이 잘못되었는지에 대한 어떤 정보를 포함하지
, 심지어 추적 레벨에 바로 수신되고있는 POST 요청과 라인의 anaylysis 출판, 오류없이, 아무것도 더 많은 관련 것도있다3210
6.0으로 업데이트하려고합니다.
미안 나는 휴가를 갔다. 설명한 시나리오는 우리의 경우에는 작동하지 않습니다. 원래 질문에 정보를 추가했습니다. –