[Keycloak] Keycloak으로 젠킨스 로그인 하기

Posted by 김성철

Keycloak - Keycloak으로 젠킨스 로그인 하기

https://kmaster.tistory.com/115  
https://oingdaddy.tistory.com/244  

공식문서

https://plugins.jenkins.io/keycloak/##documentation  

사전작업

1. 젠킨스 설치  
	https://github.com/kkimsungchul/study/blob/master/Jenkins/%5BJenkins%5D%20%EC%A0%A0%ED%82%A8%EC%8A%A4%20%EC%84%A4%EC%B9%98(Windows).txt  
  
2. 키클락 설치 및 기본세팅  
	https://github.com/kkimsungchul/study/blob/master/Keycloak/%5BKeycloak%5D%20%EC%84%A4%EC%B9%98%20%EB%B0%8F%20%EC%84%B8%ED%8C%85.txt  
  
3. Jenkins 관리자 계정을 Keycloak 에 유저로 등록  

Clients 설정

1. Keycloak 접속  
  
2. Realm 을 Demo 로 선택  
  
3. 좌측 탭에서 Clients 선택  
  
4. Create 클릭 후 Jenkins client 생성  
	Cilent ID : jenkins_cilent  
	Client Protocol : openid-connect  
	Root URL : http://localhost:7070/  
		※ jenkins url  
  
5. 생성한 jenkins_client 클릭  
  
6. Installation 메뉴에서 keycloak OIDC JSON 선택 후 키값들을 확인  
	=================================================================================================================  
	{  
	  "realm": "demo",  
	  "auth-server-url": "http://localhost:8080/auth/",  
	  "ssl-required": "external",  
	  "resource": "jenkins_cilent",  
	  "public-client": true,  
	  "confidential-port": 0  
	}  
  
	=================================================================================================================  

Jenkins - Keycloak Authentication 플러그인 설치

1. Jenkins 접속  
  
2. 좌측의 Jenkins 관리 클릭  
  
3. 플러그인 관리 클릭  
  
4. Keycloak Authentication 플러그인 검색  
  
5. 체크박스 체크 후 하단의 Install without restart 클릭  

Jenkins - keycloak 정보 설정

1. Jenkins 접속  
  
2. 좌측의 Jenkins 관리 클릭  
  
3. 시스템 설정 클릭  
  
4. Global Keycloak Settings 에다가 아까 발급받은 정보 입력 후 저장  
	=================================================================================================================  
	{  
	  "realm": "demo",  
	  "auth-server-url": "http://localhost:8080/auth/",  
	  "ssl-required": "external",  
	  "resource": "jenkins_cilent",  
	  "public-client": true,  
	  "confidential-port": 0  
	}  
  
	=================================================================================================================  

Jenkins - Configure Global Security 설정

※ 해당 작업을 진행 하기전 , Jenkins 관리자 계정의 정보를 Keycloak 에 똑같이 등록  
	id / pw 를 똑같이 해야 다시 젠킨스에 접속이 가능해짐  
  
1. Jenkins 접속  
  
2. 좌측의 Jenkins 관리 클릭  
  
3. Security 부분에 있는 "Configure Global Security" 클릭  
  
4. Security Realm 에서 "Jenkins own user database" 로 되어있는 것을  
	"Keycloak Authentication Plugin" 로 변경