# 전통적 IAM 솔루션과의 비교

전통적인 IAM(Identity and Access Management) 솔루션은 대개 기업 환경에서 애플리케이션과 사용자 정보를 중앙집중식으로 관리하기 위해 도입되었다. 이러한 솔루션들은 Active Directory(AD), LDAP 같은 디렉터리 서비스와 연동하거나, 자체 프로비저닝 기능을 통해 각종 시스템에 계정을 공급하고 권한을 할당한다. 하지만 클라우드 환경 확산과 마이크로서비스 아키텍처 도입으로 인해, 전통적 IAM 솔루션만으로는 늘어나는 요구 사항을 유연하게 대응하기가 점차 어려워졌다. Keycloak은 오픈소스 기반의 최신 IAM 플랫폼으로서 전통적 IAM 솔루션에서 주로 부족했던 부분을 보완하고, 클라우드·컨테이너 환경까지 아우르는 통합 인증·인가 체계를 제공한다.

### 기존의 중앙 집중형 접근 통제와 Keycloak의 차이

**1. 외부 표준 프로토콜 지원**

* **전통적 IAM**: Kerberos, LDAP 중심의 인증·인가를 제공하며, 추가 기능이 필요한 경우 기업 자체의 맞춤형 확장을 진행해야 하는 경우가 많았다. SAML 같은 표준 프로토콜을 지원하기도 하나, 설정이 복잡하거나 특정 제품 버전에 종속적이었다.
* **Keycloak**: OAuth 2.0, OpenID Connect, SAML 등 대표적인 표준 프로토콜을 기본으로 지원한다. 클라우드 서비스나 사내 다양한 시스템과 손쉽게 연동할 수 있고, 버전 종속성 문제를 줄일 수 있다.

**2. 확장성과 유연성**

* **전통적 IAM**: 특정 벤더 제품에 종속되거나 온프레미스 환경 위주로 설계되어, 빠른 서비스 확장이나 컨테이너 기반 인프라 도입 시 제약이 발생한다.
* **Keycloak**: 오픈소스 프로젝트로서 별도의 라이선스 비용 없이 확장 가능하며, 마이크로서비스, 쿠버네티스 등과 자연스럽게 통합될 수 있다. REST API 기반의 확장 포인트를 제공하여 기능을 쉽게 확장하거나 커스터마이징할 수 있다.

**3. 사용자 경험(UX) 통합**

* **전통적 IAM**: 애플리케이션마다 별도의 로그인 화면이나 인증 로직을 사용하는 경우가 많아, 사용자 경험이 통일되지 못하거나 추가 개발 비용이 컸다.
* **Keycloak**: 중앙에서 테마를 일괄적으로 관리하고 각 애플리케이션의 인증 흐름을 표준화한다. 소셜 로그인, 2단계 인증(MFA), 비밀번호 정책 등을 단일 인터페이스에서 제어할 수 있어 일관된 UX를 제공한다.

**4. 운영 및 관리 편의성**

* **전통적 IAM**: 기업 레거시 시스템과 긴밀히 연결되어 있지만, 환경 변화에 따라 구성 변경이 복잡하고 유지보수 비용이 많이 든다. 주로 전문 인력이 필요하며, 설정 변경 과정이 길어 서비스 민첩성이 떨어진다.
* **Keycloak**: 직관적인 콘솔(UI)과 CLI, 풍부한 REST API를 통해 빠른 설정 변경이 가능하다. 인증 플로우, 정책, 사용자 속성 등을 실시간 수정할 수 있어 운영 상 유연성이 높다.

**5. 커뮤니티와 지원**

* **전통적 IAM**: 특정 벤더의 기술 지원에 의존하는 경우가 많으며, 커뮤니티보다는 유료 지원을 중심으로 업데이트 및 패치가 제공된다.
* **Keycloak**: 레드햇(Red Hat)을 비롯한 여러 기업과 개발자 커뮤니티가 활성화되어 있으며, 오픈소스 생태계를 통해 빠른 문제 해결과 풍부한 문서를 제공한다.

### 비교 구조 예시(다이어그램)

아래는 간단히 전통적 IAM 솔루션과 Keycloak을 통해 서비스들이 어떻게 인증·인가를 처리하는지 비교한 구조 예시이다.

{% @mermaid/diagram content="flowchart LR
A(사용자) -->|인증 요청| B\[전통적 IAM 서버]
B -->|권한 확인| D\[레거시 어플리케이션]
A -->|OpenID Connect / SAML 요청| C\[Keycloak]
C -->|액세스 토큰 발급| E\[신규 웹/모바일 서비스]" %}

* **전통적 IAM 서버(B)**: Kerberos, LDAP 기반으로 레거시 애플리케이션(D) 인증·인가를 수행한다. 클라우드 기반 및 신규 서비스 연동에는 추가 설정과 개발이 필요하다.
* **Keycloak(C)**: OAuth2, OpenID Connect, SAML 등을 활용해 토큰 발급 및 세션 관리를 담당한다. 신규 웹/모바일 서비스(E)에 대한 인증·인가를 쉽게 확장 가능하다.

***

전통적 IAM 솔루션은 역사적으로 기업 환경에서 핵심적인 역할을 해왔으나, 현대적인 서비스 구조나 클라우드·컨테이너 환경으로 전환할 때는 제약이 많아진다. Keycloak은 오픈소스와 표준 프로토콜 지원을 앞세워 이식성과 확장성을 크게 높였고, 다양한 시스템 및 애플리케이션과의 연동을 간소화한다. 결과적으로 기업은 기존 IAM이 담당하던 안정적인 중앙 집중 관리 체계를 유지하면서도, 빠른 디지털 전환에 필요한 유연성과 확장성을 확보할 수 있다.
