Jenkins의 기존 user 관리 정책
Jenkins의 user 관리 정책은 Security탭의 Autentication-Authorization 메뉴에서 선택할 수 있다.
각 방법별 특징과 단점은 다음과 같다.
구분 | 내용 | 단점 |
Anyone can do anything | 제한 없음 | 보안에 취약할 수 있다. |
Legacy mode | 옛날 버전에서 제공하던 모드, Anyone can do anything과 다를 것이 없다. | 권한 관리 안됨 |
Logged-in userscan do anything | 로그인 계정은 제한 없음 (로그인한 계정만 모든 작업 가능) | 팀끼리 하다가 싸우면 악의를 갖고 터트릴 수 있음ㅋㅋ |
Matrix-based security | 개별 계정에 대해 기능별 권한 부여 가능 | user마다 설정하는 것이라서 user가 100명이넘는다면? 귀찮다 |
Project-based MatrixAuthorization Strategy | Project 별로 기능별 권한 설정 | Project를 10개를 하나의 jenkins application으로 관리한다면?… |
Jenkins가 기본적으로 제공하는 user 권한 관리가 불편해서,
똑똑한 사람이 역할 기반 user 관리 plugin을 만들어놨다.
Role-based Authorization Strategy 설치하기
plugin 설치 페이지로 가서
- role-based-assignment 플러그인을 다운받는다.
- Security tab에서 Security Realm을 추가한 플러그인의 기능으로 선택
- (사용자가 없다면)Users tab에서 권한 부여할 사용자 생성
!만약 Users tab이 없다면, 2번에서 Security Realm을 Jenkins’s own user database로 설정하면 나타날 것
role 정의하기
내가 맞게 했는지 Run 카테고리의 Role들은 필요한지 필요하지 않은지 알지 못한채
여기저기 검색해보고 설정함 수정이 필요할수도 있음.
참고로 admin의 경우 전체 체크표시 선택되어잇는데, 맨 뒤에서부터 순서 잘 해가면서 어렵게 다 체크한거다. Overall의 Administration만 체크했다가는 admin 계정이 overall read 권한이 없어서 대시보드페이지 자체를 안보여준다.
None role은 로그인하지 않은 사용자 차단용.
item role이나 Agent role은 따로 설정하지 않았다.
Role 부여하기
user를 추가할때마다 assign roles 탭에 와서 수정해야겠다.