AI Briefing

SK플래닛, OPA 사이드카로 JIRA 권한 로직 단순화

·2024.09.26 09:00

핵심 내용

SK플래닛이 OPA와 사이드카 패턴을 적용해 JIRA 권한 로직의 복잡성을 낮추고 성능을 개선했다.

1 / 4

자세히 보기

SK플래닛은 사내 ITSM 시스템의 권한 관리를 위해 **Open Policy Agent(OPA)**를 도입했다. 기존 JIRA의 데이터 구조를 유지하면서 권한 체크 로직을 Rego 정책으로 분리해 구현했다.

OPA 기반 권한 처리 구조

권한 데이터는 JSON 형태로 DB 컬럼에 저장되며, OPA는 이를 메모리에 올려 실행한다. Rego 정책은 기본값을 deny로 설정하고, 사용자가 속한 롤과 그룹을 확인해 권한 여부를 판단한다. 백엔드에서는 Spring Security의 @PreAuthorize 태그를 활용해 OPA의 data API를 호출한다.

사이드카 배포와 성능 이점

애플리케이션과 OPA 서버를 하나의 Kubernetes Pod 내 **사이드카(sidecar)**로 배포했다. 이를 통해 localhost:8181로 권한 체크를 수행해 네트워크 지연을 제거했다. Java로 직접 구현할 때 필요한 복잡한 스키마 설계와 인덱스 최적화 부담도 줄었다.

데이터 동기화 과제

사이드카 방식은 데이터 수정 시 각 OPA 서버에 별도 요청이 필요하다. 이를 해결하기 위해 메시지 브로커를 통한 이벤트 기반 업데이트나 OPAL을 이용한 정책 및 데이터 동기화 방안을 검토 중이다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.