피드로 돌아가기
Why I Built awesome-authorization: Mapping the World of Auth Engines onto a Single Page
Dev.toDev.to
Security

AuthZEN 표준 기반의 PDP-PEP 디커플링을 통한 AuthZ 엔진 교체 비용 최소화

Why I Built awesome-authorization: Mapping the World of Auth Engines onto a Single Page

kt2026년 4월 18일6intermediate

Context

RBAC, ABAC, ReBAC 등 다양한 권한 제어 모델의 파편화로 인한 엔진 선택의 복잡성 증대. 각 엔진별 독자적인 API 설계로 인해 특정 PDP(Policy Decision Point) 도입 시 애플리케이션 코드와 강하게 결합되는 벤더 종속성 문제 발생.

Technical Solution

  • RBAC, ABAC, ReBAC 모델의 특성에 따른 유스케이스별 엔진 매핑 구조 정의
  • PEP(Policy Enforcement Point)와 PDP 간의 통신 프로토콜을 표준화한 AuthZEN API 1.0 적용
  • JSON 기반의 표준 요청/응답 포맷 도입을 통한 엔진 계층의 추상화 구현
  • Zanzibar 기반의 ReBAC과 OPA 기반의 ABAC를 결합한 Hybrid 모델 채택 가능성 제시
  • 특정 벤더 종속성을 제거한 중립적 기술 큐레이션을 통한 아키텍처 의사결정 프레임워크 구축

1. 단순 역할 기반 권한 관리라면 RBAC 엔진을, 복잡한 속성 기반 조건이 필요하다면 ABAC 엔진을 검토할 것

2. 구글 드라이브와 같은 계층적 관계 기반 공유 모델 구현 시 ReBAC(Zanzibar) 모델 기반 엔진 채택 권장

3. 엔진 교체 가능성을 고려하여 애플리케이션 코드에 PDP API를 직접 호출하지 말고 AuthZEN과 같은 표준 인터페이스 계층을 둘 것

4. RBAC의 Role Explosion 문제 발생 시 ABAC 또는 ReBAC로의 마이그레이션 전략 수립

원문 읽기