← 목록으로
SSO 연동 및 메뉴 접근 제어(RBAC) 고도화

2024.08 - 2025.02

SSO/SLO(Okta)Java8SpringBootLinux(RedHat)
프로젝트 개요

Okta API 기반의 SSO/SLO 필터 서비스를 개발하고, 고객사 인사 정보와 솔루션 계정 간의 동기화(Sync) 로직을 구현하여 사용자 관리를 자동화했습니다. 또한 Interceptor를 활용한 메뉴별 접근 제어(RBAC) 기능을 구현하여 보안성을 강화했습니다.

Okta API 기반 커스텀 SSO/SLO 필터 개발
메뉴 접근 권한(RBAC) 인터페이스 및 데이터 동기화 적용

Okta API 기반 커스텀 SSO/SLO 필터 구조

레거시 플러그인 한계를 극복한 맞춤형 인증/로그아웃 아키텍처

SSO 인증 파이프라인

Legacy Plugin Conflict

기존 SAML 플러그인의 Spring Boot 비호환 이슈

Custom SSO Filter (Okta API)

Servlet Filter 기반 토큰 검증 직접 구현

Session & Token Manager

세션 생성, 갱신, 만료 일원 관리

계정 동기화 & SLO

HR Data Sync Engine

고객사 인사정보 ↔ 솔루션 계정 자동 동기화

Logout Layer

SLO (Single Logout)

Global Session Invalidation

Okta 세션과 로컬 세션 동시 파기

SECURE

Redirect Chain Control

로그아웃 후 안전한 리다이렉트 경로 보장

SAFE

플러그인 의존 없는 완전 자체 구현 인증 체계

보안 (Security)

Okta API 직접 연동으로 플러그인 취약점 제거

자동화 (Automation)

인사 DB 연동 자동 계정 Sync로 수동 관리 공수 제로화

확장성 (Scalability)

신규 IdP 연동 시 Filter 교체만으로 대응 가능

1. 도입 배경 및 과제 (Background & Problem)

사내 메시징 관리 솔루션의 레거시(Legacy) 버전과 최신 Okta에서 제공하는 플러그인(Plugin) 간의 JDK 호환성 충돌 이슈가 발생했습니다. 이로 인해 기성 라이브러리에 의존하지 않고 별도의 HTTP 통신 소스를 직접 개발하여 SSO(Single Sign-On) 로그인을 연동해야 하는 중대한 아키텍처 과제가 부여되었습니다.

2. 기술적 구현 및 적용 (Technical Implementation)

보안 및 비즈니스 로직의 우선순위를 고려하여, 애플리케이션 진입점인 스프링 시큐리티(Spring Security) 필터(Filter) 체인이 동작하기 직전에 Okta 인증 점검이 선행되도록 커스텀 필터(Custom Filter) 단계를 추가 설계했습니다.
이후 구현체 구체화 과정에서 향후 다른 벤더사의 SSO Agent 요구사항이 추가될 것에 대비해, 인증 수행에 필요한 필수 기능을 서비스 인터페이스(Service Interface)로 추상화하여 구현함으로써 높은 시스템 호환성 및 확장성(Scalability)을 확보했습니다.

3. 성과 및 유용성 (Result & Benefit)

플러그인 버전 충돌이라는 인프라적 제약을 유연한 애플리케이션 아키텍처(Application Architecture) 설계로 극복했습니다. 이 커스텀 필터 구조를 통해 향후 새로운 인증 프로토콜이나 SSO 솔루션 도입 시에도 추가적인 코어 코드 수정 없이 인터페이스 단위 대응만으로 즉시 적용 가능한 유연한 인증 체계를 완성했습니다.