최근 LDAP 공부하면서 안드로메다 여행을 하고 있습니다.
사용자 데이터 저장용으로 LDAP을 사용하려고 하는데요.
사실 예전에 MySQL을 이용한 사용자 데이터 관리 툴을 개인적으로 만들어 쓰기도 했습니다.
가장 궁금한 점은 기존
- MySQL로 구현한 것을 버리고 LDAP 옮겨가는게 합리적인가? 입니다.
- LDAP의 합리적인 용도가 궁금해요. (왜 이런 걸 쓰는 거예요??)
- LDAP이 아닌 기존 커스텀 사용자 관리 툴에서도 SSO 를 이용할 수 있는 방법이 있는지 궁금합니다.
옮겨 갔을 때 장점은
1. LDAP 이 데이터를 디렉토리 구조로 저장함으로써 검색이 빠르다.
2. 표준화된 인증 서비스들을 이용할 수 있다. SSO (saml, oauth)
3. 중앙에서 관리되는 하나의 유저 계정으로 모든 서버들에 로긴할 수 있다. (ldap-pam)
사실 위 1번이 요즘 시대에 장점이 될 수 있는지 의구심이 드네요.
지금 LDAP을 공부하는 가장 주된 이유는 2번과 3번입니다. 한 개의 개정으로 내부 Gitlab, Jenkins를 이용하는게 목적입니다.
단점은 (아직 처음이라 확실치는 않습니다)
1. 데이터 구조가 이상하다: 예를 들어 'dev' 라는 그룹에 a, b 라는 유저를 입력했고, ceo 라는 그룹에 a 를 입력했다고 했을 때, dev 그룹에 속하는 유저 찾기, a 가 속하는 그룹 찾기가 잘 안되는 것 같습니다. 이전 MySQL로 구현한 관리 툴에서는 foreign key로 relation을 줘서 쉽게 구현했었는데요.
2. 커스터마이징이 어렵다: 새로운 필드를 추가하려면 attributeType를 추가하고 원하는 objectClass에 넣어주면 되는데, 뭐 1.3.2.5.2.532.4 같은 OID를 얻어야 하네요.
선배님들의 가르침을 내려주시옵소서!
질문 | 3877명이 읽었어요. 18.97.9.174
