[Jenkins] User & Role

반응형

이번글에서는 Jenkins에서 user를 등록하고 user별로 role을 부여하는 방법에대해 알아보도록 하겠습니다.

1. Create User

먼저 신규 user를 생성 해보도록 하겠습니다.

jenkins server를 실행하고 admin 계정으로 로그인합니다. 저는 따로 minho 라는 admin 계정을 생성해 사용하도록 하겠습니다.

image.png

신규 계정을 생성하기 위해 Manage Jenkins로 이동합니다.

image.png

다음으로 Manage Users로 이동합니다.

image.png

Create User를 클릭합니다.

image.png

마지막으로 user 정보와 password 정보를 입력해 user를 생성하면 됩니다.

image.png

저는 user1과 user2 두개의 계정을 생성했습니다.

image.png

만약 user가 login 후 자신의 계정정보를 변경하고 싶다면 화면 우측상단의 아이디를 클릭한 후 Configure 탭으로 이동해 변경할 수 있습니다.

image.png

2. Setup Role-Based Strategy

이번엔 jenkins에서 role을 사용하기위한 설정을 해보도록 하겠습니다.

먼저 'Role-based Authorization Strategy' plugin을 다운받아야 합니다. Manage Plugins로 이동해 다운받습니다.

image.png

Role-based Authorization Strategy

image.png

다운로드가 완료되었으면, Manage Jenkins 탭의 Configure Global Security로 이동합니다.

image.png

Authorization 목록에서 Role-Based Stratey를 선택하고 저장합니다.

image.png

role을 사용하기위한 설정이 완료되었습니다 😎.

아직까지는 생성한 user1/user2로 로그인해보면 아래와 같이 Access Denied 에러가 발생합니다. role-based strategy setup을 통해 모든 user 는 role-based로 접근 권한을 가지게 되었으나, 앞서 생성한 user1, user2 계정에는 아직 아무런 role을 부여하지 않았기 때문에 접근이 거절된 것입니다.

image.png

3. Create Role

이제 새로운 role을 생성하고, 생성한 role을 user에게 부여해보도록 하겠습니다.

role을 생성하기위해 admin 계정으로 다시 로그인한뒤 Manage and Assign Role으로 이동합니다.

image.png

Manage Roles를 클릭합니다.

image.png

만약 role 설정이 처음이라면, 아래와 같이 admin role만 등록되어있는 것을 확인할 수 있습니다. 여기서 global role을 통해 global level의 접근을 제어 할 수 있으며, item role을 통해서는 project별로 접근을 제어할 수 있습니다.

image.png

3-1) global role

먼저 employee라는 global role을 아래와 같이 생성하도록 하겠습니다.

image.png

생성한 role에게 부여하고 싶은 권한을 간단히 마우스로 클릭해 선택하면 됩니다. 저는 Overall Read와 전체 View access를 선택하였습니다.

image.png

3-2) item role

다음으로 item role을 생성하겠습니다.

role의 이름을 작성하고, Pattern에서는 접근을 허용할 project의 pattern을 입력하면 됩니다. 만약 아래와 같이 Dev.*을 입력하면 이 role을 가지고 있는 user는 Dev로 시작하는 Project만 접근할 수 있게됩니다.

image.png

Test.* pattern을 가지는 tester item role도 생성하도록 하겠습니다. 이제 각 item role을 가지는 user는 해당 project에만 접근가능하며, 접근한 project에는 모든 권한을 가지게 됩니다.

image.png

4. Assign Role

이제 생성한 role을 user에게 부여해보도록 하겠습니다.

먼저 assign role로 이동합니다.

image.png

아래와 같이 현재 global role에는 admin 계정인 minho만 등록되어있는 것을 확인할 수 있습니다.

image.png

user1과 user2를 등록하고 employee를 선택하도록 하겠습니다. 이제 user1과 user2는employee global role을 따르게 됩니다.

image.png

다음으로 user1에는 developer item role을 user2에는 tester item role을 부여하겠습니다. 이제 user1은 Dev로 시작하는 project에만 접근할 수 있으며, user2는 Test로 시작하는 project에만 접근할 수 있습니다.

image.png

5. Test

테스트해보겠습니다.

먼저 admin 계정으로 아래와 같이 2개의 project를 생성합니다.

image.png

이후 user1 계정으로 로그인해보면 아래와 같이 Dev1 프로젝트만 확인할 수 있습니다.

image.png

마찬가지로 user2 계정으로 접속해보면 Test1 프로젝트만 확인할 수 있습니다.

image.png

이제 여러분은 각 user 별로 role을 부여해 관리할 수 있게 되었습니다. 👏👏👏


참고 자료 : https://www.youtube.com/watch?v=QvFungzXI5s&list=PLhW3qG5bs-L_ZCOA4zNPSoGbnVQ-rp_dG&index=5


추천서적

 

스프링 부트와 AWS로 혼자 구현하는 웹 서비스

COUPANG

www.coupang.com

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


반응형

'Jenkins' 카테고리의 다른 글

[Jenkins] Jobs  (0) 2020.08.21
[Jenkins] Basic Configurations  (0) 2020.08.21
[Jenkins] CLI  (0) 2020.08.21
[Jenkins] Integrate with GitHub  (0) 2020.08.21
[Jenkins] AWS EC2 Download Tomcat & Jenkins  (0) 2020.08.21

댓글

Designed by JB FACTORY