그래프 기술이 미래라는 말, 들어보셨나요? Graph Database는 데이터 포인트 간의 관계를 효과적으로 저장할 뿐만 아니라, 새로운 종류의 데이터 포인트를 추가하는 데에도 유연하다는 장점이 있어요. 관계 또는 데이터 모델을 조정해서 새로운 비즈니스 요구 사항에 맞춰나갈 수 있는 거죠.
그렇다면 요즘 기업들은 어떤 어려운 문제들을 해결하기 위해 Graph Database를 활용하고 있을까요? 이 블로그 시리즈에서는 그래프 기술의 Top 10 사용 사례를 살펴보고, 각 사례별로 실제 사례를 소개해 드릴 예정이에요. 이번 글에서는 ID 및 액세스 관리를 위해 그래프 기술을 사용하는 방법을 알아볼게요.
10부작 시리즈 중 8번째 블로그에서는 그래프 기술이 데이터 계보 문제에 얼마나 적합한지 살펴봤는데요. 이번에는 그래프 기술이 회사의 ID 및 액세스 관리에 어떻게 도움이 되는지 자세히 알아볼게요. 그래프 기술은 다중 접속 및 제어 구조의 복잡성을 처리하는 데 강점을 가지고 있고, Telenor 노르웨이의 사용 사례는 이러한 기술을 필요에 따라 완벽하게 활용한 좋은 예시랍니다.
사용 사례 #9: ID 및 액세스 관리
IAM (ID 및 액세스 관리) 솔루션은 관리자, 사업부, 최종 사용자와 같은 당사자(Party)와 파일, 공유, 네트워크 장치, 제품, 계약과 같은 리소스(Resource)에 대한 정보를 저장하고, 해당 리소스에 대한 액세스를 관리하는 규칙과 함께 관리해요. IAM 솔루션은 이러한 규칙을 적용해서 누가 어떤 리소스에 액세스하거나 조작할 수 있는지 결정하죠.
전통적으로 ID 및 액세스 관리는 디렉토리 서비스를 사용하거나 애플리케이션의 백엔드 내에 사용자 정의 솔루션을 구축해서 구현되었어요. 하지만 계층적인 디렉터리 구조는 다자간 분산 공급망에서 흔히 볼 수 있는 복잡한 종속성 구조를 처리하기 어려워요. 또, 비그래프 데이터베이스를 사용해서 ID를 저장하고 데이터에 액세스하는 맞춤형 솔루션은 데이터 세트의 크기가 커질수록 속도가 느려지고 응답하지 않게 될 수 있죠.
ID 및 액세스 관리에 그래프 기술을 사용하는 이유는 무엇일까요?
Graph Database는 수십억 개의 당사자와 리소스에 걸쳐 복잡하게 연결된 액세스 제어 구조를 저장할 수 있어요. 풍부하고 가변적으로 구조화된 데이터 모델은 계층적 구조와 비계층적 구조를 모두 지원하는 동시에, 확장 가능한 속성 모델을 통해 시스템의 모든 요소에 관한 풍부한 메타데이터를 캡처할 수 있다는 장점이 있죠.
초당 수백만 개의 관계를 탐색할 수 있는 쿼리 엔진을 사용하면, 크고 복잡한 구조에 대한 Graph Database 액세스 조회가 몇 분, 몇 시간이 아닌 밀리초 단위로 실행될 수 있어요. 네트워크 및 IT 운영과 마찬가지로, Graph Database 액세스 제어 솔루션은 하향식 및 상향식 쿼리를 모두 지원하는데요:
- 어떤 리소스 (회사 구조, 제품, 서비스, 계약 및 최종 사용자)를 특정 관리자가 관리할 수 있나요? (하향식)
- 특정 리소스가 주어졌을 때, 누가 액세스 설정을 수정할 수 있나요? (상향식)
- 최종 사용자가 액세스할 수 있는 리소스는 무엇인가요?
Graph Database를 기반으로 하는 액세스 제어 및 인증 솔루션은 특히 콘텐츠 관리, 연합 인증 서비스, 소셜 네트워킹 기본 설정 및 SaaS (Software as a Service) 제품과 같은 영역에 적용하기 좋은데요. 이전 관계형 데이터베이스에 비해 성능이 몇 분에서 밀리초까지 향상되는 것을 확인할 수 있을 거예요.
예: Telenor 노르웨이
텔레노르 노르웨이는 국제 통신 서비스 회사인데요. 이 회사는 오랫동안 대규모 비즈니스 고객에게 자신의 계정에 셀프 서비스를 제공할 수 있는 기능을 제공해 왔어요. 각 고객 조직 내의 관리자는 브라우저 기반 애플리케이션을 사용해서 직원을 대신하여 서비스를 추가하고 제거할 수 있도록 지원하고 있죠.
