사내 사용자들을 위한 계정 통합




안녕하세요! 드림어스컴퍼니 인프라팀 클라우드 엔지니어 Noel, Terry 입니다.

이번 글은 드림어스컴퍼니에서 경험한 계정 통합 과정에 대한 소개 입니다.



개요


초기 드림어스컴퍼니는 음악 플랫폼 및 콘텐츠 분야로 사업포트폴리오를 확장하기 이전 Legacy IT 환경과 합병되는 과정에서 여러 IT 환경들이 한 곳에 뒤섞여 있는 상황이었습니다.




무엇이 문제일까?


사실 많은 현업 부서에서는 각자 필요로 하는 솔루션과 IT 환경들이 있습니다. 이러한 솔루션들이 마구잡이로 도입되면 가장 큰 문제는 계정관리와 인증입니다.


규모가 작거나 솔루션들이 적을 때는 괜찮으나 회사가 커지고 도입되는 솔루션들이 많아지고 IT 환경이

복잡해지면 통합되지 않는 계정은 사용자들의 불편함으로 다가오게 됩니다.


저희의 경우 서비스가 성장해감에 따라 ISMS 보안 심사를 앞에 두고 있어서 ISMS 심사 시 나오는 계정 관리에 대한 부분(주기적인 비밀번호 변경, 비밀번호 재사용 금지, 비밀번호 규칙등)은 사용자들의 불편함이 생길 것이 자명했습니다.


그래서 실제 ISMS 컨설팅 심사 시작 전에 이러한 부분들의 전체 인증 구조를 개선하기로 했습니다.





무엇이 필요한가?


사용자의 편의성을 최대한 해치지 않으면서 보안적인 요구사항을 만족시키기 위한 사항들을 확인했습니다. 저희에게 필요한 건 SSO 같은 솔루션으로 해결되리라 생각했지만 상황이 그렇게 간단하지 않았습니다. 실제 임직원의 인사 정보를 기준으로 계정이 생성이 되고 해당 계정에 각 솔루션별로 접근이 가능한지의 기능도 필요했습니다.


따라서 성공적인 계정 통합을 위하여 아래와 같은 원칙을 세우고 프로젝트를 진행했습니다.

  • 사내 인증 시스템은 내부 AD 시스템을 활용한다.

  • 외부 SaaS Solution 은 SSO 를 이용하여 인증 시스템을 구축한다.

  • AD 에서는 인증에 대한 여부만 관리한다.

  • 서로 다양한 시스템에 대한 접근 가능 여부는 AD 의 특정 Attribute 에 값의 유무로 판별한다.




어떻게 할 것인가?


먼저 기존 인증환경에서 재활용할 수 있는 부분이 있는지 살펴보았습니다. 다행히 그룹웨어의 임직원 정보와 동기화 되는 AD가 있었습니다. 다만 이부분도 인증에 사용하는 정보가 제각기 다르게 사용하고 있었습니다.


사용자 편의성을 최대한 해치지 않기 위하여 계정은 “ID@메일주소” 형태로 사용하기로 했습니다.

또한 기존에 사용하던 시스템에서 로그인 시 사용자의 혼동을 최소화하기 위해 시스템별 로그인 시에

사용하는 정보들을 정리하여 사내에 게시했습니다.


단순히 이 과정까지는 크게 어려운 부분은 없었습니다. AD와 AD를 바라보는 인증 시스템들만 정리하면 되었으니까요. 진정한 문제들은 이제부터 시작이었습니다.

  • 임직원들의 인사정보와 계정 정보는 어떻게 동기화 할것인가?

  • 시스템 사용 신청서는 어디서 신청할것이며 어떻게 동기화 할 것인가?

  • SaaS Solution 에서 SSO 는 어떻게 구축할것인가?



임직원들 인사 정보와 계정정보를 동기화 시키지 않으면 입/퇴사자 관리가 되지 않는 어려움이 있습니다. 따라서 인사 정보와 계정정보를 동기화 시키기 위한 여러가지 방법을 검토하였고 결국 상용 솔루션(계정 관리 솔루션)을 도입했습니다.


도입한 계정 관리 솔루션에서 요구되는 기능은 아래와 같습니다.

  • 인사정보 시스템의 정보를 바탕으로 계정 정보 및 일부 인사 정보를 AD 에 동기화

  • 시스템의 사용 신청서 작성이 가능해야 하며 승인후 해당 정보를 AD 에 동기화


위와 같은 요구사항을 그림으로 정리해보면 다음과 같습니다.






사용자 관점에서의 흐름은 아래와 같습니다.




실제 사내 시스템들이 AD 를 바라볼때 LdapSearch Filter 는 아래와 같이 설정했습니다.


(&(cn={0})(CustomAttribute=사내시스템1))


각 사내 시스템에서는 AD 조회시 각자 시스템의 고유한 Attribute 값들이 조회하는지를 And 조건으로

검색하여 ID 와 시스템 값 두가지 조건이 동일해야 인증이 완료됩니다.


LDAP Query 관련해서는 아래 사이트를 참고했습니다.

https://ldapwiki.com/wiki/LDAP%20Query%20Examples



외부 SaaS 의 SSO 를 위해서는 Google Workspace 의 SSO IDP 기능을 이용했습니다.

Google Workspace 를 SSO IDP 로 설정하는 문서는 아래 링크를 참고 했습니다.

https://support.google.com/a/answer/6087519



Google Workspace 의 계정 관리를 위해서는 AD 와 Google Workspace 간의 GCDS Tool 을 이용하여

계정을 동기화했습니다.

  • GCDS 에 대해서는 다음 사이트에 자세히 나와있습니다.

https://support.google.com/a/answer/106368



최종적인 모습은 아래와 같습니다.



현재 위와 같은 구조로 총 37개의 시스템이 하나의 인증 시스템을 바라보고 인증을 사용하고 있으며,

임직원 역시 한개의 아이디만 사용하여 시스템에 접근이 가능합니다. 또한 신규로 도입되거나 구축하는 시스템들의 인증은 LDAP/AD 혹은 SAML2 기반의 인증을 강제로 요구하고 있습니다.


지금까지 저희가 사용하는 임직원들의 인증/계정 관리를 어떻게 하고 있는지에 대한 설명을 드렸습니다.

아직 내부적으로는 ‘갈 길이 멀다’ 라고 생각합니다. 현재 구조에서 인증은 중앙화 되어 있지만 각 시스템별 권한은 관리가 어려운 구조이며, 각 시스템이나 솔루션별 권한 관리 역시 어려운 부분이 있습니다.


부족한 부분들을 해결해 나가기 위하여 시스템 엔지니어/개발자/기획/PM 및 클라우드 엔지니어를

충원하고 있습니다.

드림어스컴퍼니의 IT/서비스를 함께 만들어 가고 싶다면, 아래의 채용 공고를 확인해주시기 바랍니다!




드림어스컴퍼니 인프라팀 채용 안내


드림어스컴퍼니의 모든 IT/서비스의 구축과 운영을 담당하는 인프라팀에서는

  • 인프라팀은 현재 IDC에서 서비스되는 환경을 클라우드로 이전하기 위한 준비를 하고 있습니다.

  • 대규모 사용자를 대상으로 하는 서비스의 실제 이관과 안정적인 서비스 운영을 위한 각종 경험을 하실 수 있습니다.

  • 최신 트렌드의 기술들을 사용하여 클라우드에서 운영되는 서비스를 기획해볼 수 있습니다.


👉 사내 업무 시스템 PM

👉 사내 업무 시스템 개발자

👉 클라우드 엔지니어

👉 DBA

👉 System Engineer