Jenkins는 기본적으로 내부 사용자 데이터베이스를 사용하기 때문에 각 사용자를 수동으로 생성해야 한다.
다만 LDAP 플러그인을 설치하여 구성하면 OpenLDAP과 같은 외부 LDAP 서버를 이용해 사용자를 이용할 수 있다.
이 글에서는 Jenkins와 LDAP 연동 방법을 간단히 정리한다.
방법
1. LDAP 플러그인 설치
LDAP 연동을 하기 위해서는 LDAP 플러그인 설치가 필요하다.
관리자 계정으로 로그인한 뒤, Jenkins 관리 > 플러그인 관리로 이동한다.
설치된 플러그인 목록에 LDAP이 존재하는지 확인한다.
설치되어있지 않다면 설치 가능 목록에서 찾아 설치한다.
2. LDAP 설정 구성
Jenkins 관리 > Configure Global Security 로 이동한다.
Security Realm에서 LDAP을 선택하고, 설정 정보를 입력한다.
추가 설정 정보는 Advanced Server Configuration... 버튼을 클릭하면 확인할 수 있다.
대개 아래 목록에 대한 정보를 입력하게 된다.
- Server : AD 서버 주소
- root DN : LDAP 쿼리 형태의 경로 입력.
- User search filter : 계정으로 사용할 ID부분. uid, cn, sAMAccountName 등의 속성을 보통 사용하는 것 같다. 각각 uid={0}, cn={0}, sAMAccountName={0} 형태로 입력한다.
- Manager DN : AD 쿼리 시 로그인 인증이 필요한 경우 관리자 계정 정보를 입력한다.
- Manager Password : Manager DN 계정의 비밀번호를 입력한다.
구성 정보를 입력한 후에는 LDAP 인증이 정상적으로 동작하는지 테스트하는 것이 좋다. Test LDAP settings 버튼을 누르면 로그인 테스트를 진행할 수 있다.
아래와 같이 테스트 결과를 확인할 수 있다.
3. 이상이 없으면 설정을 저장한다.
참고 문서
https://www.knoie.net/2019/12/jenkins-active-directory.html
https://www.ecanarys.com/Blogs/ArticleID/394/LDAP-Integration-with-Jenkins
https://support.cloudbees.com/hc/en-us/articles/235438387-Jenkins-LDAP-Configuration-Troubleshooting