jenkins 사용자별 권한 설정하기

murkgom·2022년 12월 26일
0
post-thumbnail

사용자 관리

Dashboard > Jenkins 관리 > Manage Users

생성/삭제 등 가능
But, 권한 관리가 보이지 않는다.

Authorization 설정

Dashboard > Jenkins 관리 > Configure Global Security

Authentication의 Authorization을 클릭

읽어보면 쉽게 이해가는 전략들, 일반적으로

  • Anyone can do anything(무법지대)
  • Logged-in users can anything(아마 이걸로 설정되어 있을 듯)
  • Matrix-based security(user나 group 설정, 권한들을 부여)
  • project-based Matrix Authorization Strategy(프로젝트 기반)

Matrix-based + Group으로 관리해도 되지만, 보다 친숙한 Role based 로 관리해보자

Role-based Strategy

1. Plugin 설치

Dashboard > Jenkins 관리 > Plugin Manager > Available plugins

Role-based Authorization Strategy 검색 후 설치, jenkins 재시작

2. Authorization 설정

Dashboard > Jenkins 관리 > Configure Global Security > Authentication > Authorization

Role-Based Strategy 선택 후 [저장]

3. Role 관리

Dashboard > Jenkins 관리 > Manage and Assign Roles

3.1. Role 생성 및 권한 할당

Manage Role에서 각자 적절히 Role 생성 및 권한을 할당.
나의 경우, 아래와 같이 설정

admin : 모든 권한
manager : Credentials와 Agent를 제외한 모든 권한
developer : Read & Build 권한
guest : 권한 없음(가입 신청용)

3.2. 사용자/그룹에 Role 할당

Assign Roles에서 Add 및 role 선택

주의사항
Add에서 user id 입력 후 enter 금지!!

제대로 role을 할당하기 전에 save가 되어버릴 수 있음

잘못된 Role 할당 수습하기

1. 보안 해제

jenkinsPath/config.xml 오픈

<useSecurity>true</useSecurity>

해당 값을 false로 변경 후 jenkins 재실행하면 AuthorizationAnyone can do anything로 변경됨

2. 보안 재설정

로그인 없이 접속 가능해진 jenkins에서

Dashboard > Jenkins 관리 > Configure Global Security > Authentication

a. Security Realm을 Jenkins' own user database 로 변경
b. Authorization을 Logged-in users can anything로 설정 후 재로그인
c. Role-based Strategy 재설정(이번엔 실수하지 맙시다!)

0개의 댓글