Jenkins 에서 다양한 인증 기반을 구성할 수 있는데, 그 중 MS Windows에서 제공하는 Active Directory를 이용하는 방법이다.
일단, Jenkins 사이트에 접속한다.
그리고 난 뒤 왼편의 메뉴에서 "Jenkins 관리"를 선택한 뒤, "Configure Global Security"를 선택한다.
Configure Global Security 안에서 이번에는 "Enable security"를 체크한다.
그리고 난 뒤, Security Realm 안에서 LDAP을 선택한다.
그리고 난 뒤 다음과 같이 입력한다.
- Server : AD 서버의 주소를 넣는다.
- rootDN : LDAP 쿼리 형태로 경로를 넣는다. 해당 주소를 DC=xxxx, DC=yyyy 로 넣도록 한다. 만일 Domain Name이 testdomain.com 이라면, DC=testdomain, DC=com 으로 만들면 된다. 이 경로는 ADSI 라는 도구를 사용하면 간단하게 추출 가능하다.
- User search base : 사용자 계정들이 담긴 위치를 잡는다. 일단 rootDN을 기준으로 상대 위치를 잡는다. 만일 AD 상의 Users를 사용한다면 CN=Users 로 넣으면 된다.
- User search filter : 계정으로 사용할 id 부분인데, 이 부분은 sAMAccountName={0} 으로 한다. LDAP 상에 해당 개체의 속성 값 중, sAMAccountName 을 사용하면 된다.
- Manager DN : AD 쿼리를 할 때, 로그인을 해야만 접근이 가능한 경우에 넣는다. 관리자 계정에 대한 LDAP 쿼리용 주소값을 넣도록 한다. 위의 이미지를 기준으로 보면, ????.local 도메인 안에 xxxxx\ServiceAccounts OU 안에 있는 yyyyy Admin. 이라는 계정을 사용할 때 사용한다.
- Manager Password : 위에서 결정한 관리자 계정에 대한 암호를 넣는다.
그리고 난 뒤, 밑에 위치한 "Test LDAP settings" 버튼을 눌러 AD 상의 계정으로 정상적으로 로그인 되는지 확인하도록 한다.
참고로 Authorization 안에 있는 항목을 세가지로 설정할 수 있는데, 선택에 따라 다음과 같다.
- Anyone can do anything : 모든 사용자가 뭐든지 할 수 있는 모드. 로그인이 필요 없기 때문에, 인터넷으로 연결된 곳에서는 쓸 수 없다.
- Legacy mode : 특정 사용자별로 권한을 설정할 때 사용하는데, 권한을 다양하게 설정해야 하는 경우 이 기능을 사용한다. 만일 개발팀 내에서만 쓴다면 이 모드는 설정을 귀찮게 한다.
- Logged-in users can do anything : 평등하게 로그인만 성공하면 무조건 모든지 쓸 수 있도록 한다.
2019. 12. 23. 오후 2:06
728x90