LDAP 통합 인증 기능이 필요하여 OpenLDAP 과 FreeIPA 중 고민을 하던차에 FreeIPA를 선택하게 되었다.
보통 OpenLDAP의 경우 phpldapadmin을 같이 설치하여 LDAP Manager로 사용한다. 사용해봤지만 음..뭐랄까.. Manager 기능이 LDAP 구성 초보에게는 쉽지 않는 UI 이다.
그래서 선택한 것이 FreeIPA.
FreeIPA의 경우 Manager GUI가 통합되어 있고 초보가 사용하기에 어렵지 않다. 물론 Deep 하게 들어간다면….얘기가 다르겠지만..
여튼 FreeIPA로 정하고 Docker로 올리기로 했다.
docker run --name freeipa -ti \
--cap-add NET_ADMIN \
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
-v /dev/urandom:/dev/random:ro \
-v /sys/fs/cgroup:/sys/fs/cgroup:ro \
-v ./data/freeipa:/data:Z \
-h ldap.aaaa.com \
-p 5443:443 -p 5389:389 -p 5636:636 \
-e PASSWORD=12345678 -e DEBUG_NO_EXIT=1 \
freeipa/freeipa-server:centos-8 -r AAAA.com \
-U --admin-password=12345678 --ds-password=12345678
쉽게 올릴 수 있다. 물론 저 파라미터들을 찾기위에 많은 삽질을 시간이 있었다.
정상으로 올라오면 브라우저를 통해 접속해서 admin 아이디로 로그인 하면 된다.
연동해야하는 소프트웨어에서 LDAP 연동은 아래처럼 하면 된다. JENKINS 기준
# ldap root dn
rootDN : dc=aaaa,dc=com
# user 검색시 사용할 항목
User search base : cn=users,cn=accounts
# 그룹 검색시 사용할 항목
Group search base : cn=groups,cn=accounts
# 접속에 필요한 계정 (여기엔 admin으로 표현했지만 실제로는 사용자 계정을 만들어 사용함)
Manager DN : uid=admin,cn=users,cn=compat,dc=aaaa,dc=com
Manager Password : 12345678 (ADMIN 비밀번호)
소프트웨어 마다 조금식 항목명이 다르지만 저정도 정보만 있으면 거의다 연동이 가능하다.