IT박스

Jenkins는 사용자 당 작업보기를 제한합니다.

itboxs 2020. 11. 21. 14:20
반응형

Jenkins는 사용자 당 작업보기를 제한합니다.


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

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

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


이것이 당신이 찾고있는 것이라고 생각하십시오 : 사용자를 위해 특정 프로젝트에 대한 접근을 허용

스크린 샷이없는 간단한 설명 :
"Manage Jenkins"=> "Configure System"에서 Jenkins "프로젝트 기반 매트릭스 인증 전략"을 사용합니다. 이제 각 프로젝트의 구성 페이지에 "프로젝트 기반 보안 사용"이 있습니다. 이제 인증하려는 각 사용자를 추가하십시오.


하나의 플러그인 만 도움이됩니다. 역할 기반 전략 :

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

그러나 공식 문서 (wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin)는 부족합니다.

다음 구성이 저에게 효과적이었습니다.

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

기본적으로 역할을 만들고 정규식을 사용하여 작업 이름과 일치시키기 만하면됩니다.


프로젝트 기반 매트릭스 인증 전략을 사용하고 전체 읽기 권한을 활성화 할 수 있지만 시스템 수준에서 작업 읽기를 비활성화 할 수 있습니다. 그 후 현재 사용자에게 표시하려는 각 특정 프로젝트에 대해 읽기 작업을 활성화해야합니다. 자세한 내용은 이 해결 된 문제 를 참조하십시오. 거기에서 몇 가지 정보 :

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

또한 더 나아가 역할 전략 플러그인을 확인하는 것이 좋습니다 . 사용자 / 역할 관리를 단순화 할 수 있으며 위에서 설명한 것을 사용하여 특정 작업에 대한 액세스 권한을 부여 할 수 있습니다.


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

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

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

예 :

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)

Vadim이 위에서 언급했듯이 "Manage Jenkins"=> "Configure System"에서 Jenkins "프로젝트 기반 매트릭스 인증 전략"을 사용합니다. 관리자를 추가하고 모든 권한을 부여하는 것을 잊지 마십시오. 이제 거기에 제한된 사용자를 추가하고 전체 읽기 액세스 권한을 부여하십시오. 그런 다음 각 프로젝트의 구성 페이지로 이동하면 "프로젝트 기반 보안 활성화"옵션이 있습니다. 이제 인증하려는 각 사용자를 추가하십시오.


"Manage Jenkins"-> "Manage Users"로 이동하여 특정 사용자로 이동하여 구성 "내보기 섹션"기본보기를 편집합니다.


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

참고 URL : https://stackoverflow.com/questions/8323129/jenkins-restrict-view-of-jobs-per-user

반응형