2011-11-30 3 views
48

Jenkins에서 특정 작업 만 보도록 제한하는 방법이 있습니까?Jenkins는 사용자 당 작업보기를 제한합니다.

젠킨스는 "프로젝트 기반 매트릭스 인증 전략"을 통해 프로젝트 당 사용자 능력을 제한 할 수 있습니다. 문제는 사용자가 '전체' '읽기'설정 없이는 아무 것도 액세스 할 수 없다는 것입니다. 이것은 그들이 모든 직업을 볼 수 있도록하는 것 같습니다.

작업 제한을 허용하는 다른 플러그인이 있습니까?

답변

42

당신이 찾고있는 것을,이 생각
사용 젠킨스 "프로젝트 기반의 매트릭스 인증 전략", "젠킨스 관리"=> "구성 시스템"에서. 각 프로젝트의 구성 페이지에는 이제 "프로젝트 기반 보안 사용"이 있습니다. 이제 권한을 부여 할 각 사용자를 추가하십시오.

+1

OP가 제안하는대로 전체 읽기 설정을 열어야하는 것처럼 보입니다. 모든 것을 시도했지만 프로젝트 기반 보안 설정에서 해당 내용을 확인하지 않고는 아무 것도 할 수 없습니다. 내가 LDAP를 사용하고있을 수도 있지만, 글로벌 수준에서 잘 작동합니다. – quickshiftin

+1

전체 읽기를 확인해야하지만 보안을 유지하는 프로젝트에서 "전체 권한을 상속하지 않음"을 선택하십시오. 그렇게하면 프로젝트를 보지 않으려는 사용자는 프로젝트를 볼 수 없습니다. – metaforge

0

"젠킨스 관리"-> "사용자 관리"특정 사용자로 이동하여 구성 "내보기 섹션"기본보기를 편집하십시오. 스크린 샷없이 Allow access to specific projects for Users

간략한 설명 :

+6

이 작업은 사용자의 작업 만 숨기고 액세스를 차단하지 않습니다. – stwalkerster

7

프로젝트 기반 매트릭스 인증 전략을 사용하고 전체 읽기 권한을 사용하도록 설정할 수 있지만 시스템 수준에서는 읽기 작업을 사용하지 않도록 설정할 수 있습니다. 그런 다음 현재 사용자에게 보이게하려는 각 특정 프로젝트에 대해 읽기 작업을 활성화해야합니다. 자세한 내용은 this resolved issue을 참조하십시오. 그 중 일부 정보는 다음과 같습니다.

작업 수준에서 읽기 권한을 구현하고 있습니다. 특정 작업에 대한 읽기 권한이없는 사용자 : 모든보기에서 해당 작업을보고 직접 작업 페이지에 액세스 할 수 있고 작업에 대한 참조를 볼 수 있습니다 (예 : 업스트림 또는 다운 스트림 종속성)

더 자세히 가서 Role Strategy Plugin을 확인하시기 바랍니다. 그것은 사용자/역할 관리를 단순화 할 수 있습니다, 당신은 특정 작업에 대한 액세스 권한을 부여하기 위해 위에서 설명한대로 사용할 수 있습니다.

0

"확장 읽기 권한"플러그인을 설치할 수 있습니다. 그런 다음 "전역 설정"또는 개별 작업 구성에서 사용자에게 "확장 읽기"권한을 부여 할 수 있습니다.

2

저는 여러 가지 플러그인 조합을 사용합니다 - 역할과 권한의 기본 할당을 위해 역할 전략 플러그인을 사용합니다.

매개 변수에 따라 일부 역할을 분할해야하는 경우 (예 : 작업 실행자가 모두 작업을 실행할 수 있지만 사용자 UUU만이 배포 작업을 실행하여 MMM 컴퓨터에 배포 할 수 있음) Python Plugin 그리고 첫 번째 빌드 단계로 파이썬 스크립트를 정의하고 지정된 매개 변수 조합으로 작업을 실행할 수 없으면 sys.exit (-1)로 끝납니다.

Build User Vars Plugin은 환경 변수로 작업을 실행하는 사용자에 대한 정보를 제공합니다.

E.g :

import os 
import sys 

print os.environ["BUILD_USER"], "deploying to", os.environ["target_host"] 

# only some users are allowed to deploy to servers "MMM" 
mmm_users = ["UUU"] 

if os.environ["target_host"] != "MMM" or os.environ["BUILD_USER"] in mmm_users: 
    print "access granted" 
else: 
    print "access denied" 
    sys.exit(-1) 
7

는 단 하나의 플러그인 도와 : 역할 기반 전략 :

wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin

그러나 공식 문서를 (wiki.jenkins-ci.org/display/JENKINS/Role+Strategy을 + 플러그인) 가난합니다.

kblearningacademy.com/configure-role-strategy-plugin-in-jenkins

내가 작업 중지의 경우 PDF로이 페이지를 변환 :

이것은 훌륭한 문서의 실제 예입니다

kblearningacademy_com_jenkins_Role+Strategy+Plugin

나는이 사람을 도움이되기를 바랍니다.

+0

이것은 문서의 핵심입니다 -'Step 9. 각 프로젝트에 따라 프로젝트 역할 추가 .' –

0

위에서 언급 한 바딤 "Manage Jenkins"=> "Configure System"에서 Jenkins "Project-based Matrix Authorization Strategy"를 사용하십시오. 관리자를 추가하고 모든 권한을 부여하는 것을 잊지 마십시오. 이제 제한된 사용자를 추가하고 전반적인 읽기 액세스 권한을 부여하십시오. 그런 다음 각 프로젝트의 구성 페이지로 이동하십시오. 이제 "프로젝트 기반 보안 사용"옵션이 있습니다. 이제 권한을 부여 할 각 사용자를 추가하십시오.

관련 문제