목록 보기
구글처럼 복잡한 권한 쉽게 관리하기 feat. GraphQL
아키텍처

구글처럼 복잡한 권한 쉽게 관리하기 feat. GraphQL

당근마켓
당근마켓
2025년 3월 20일

두줄요약

복잡한 권한을 RBAC 대신 ReBAC로 재구성해 선언적으로 관리하는 방법을 소개했습니다. graplix와 React Permission 컴포넌트로 권한 체크와 화면 제어를 단순화했습니다.

핵심 내용

  • 알림 센터처럼 권한 정책이 점점 복잡해질 때, 역할 기반 RBAC만으로는 코드가 길어지고 관리가 어려워지는 문제 정리
  • ReBAC을 이용해 사용자-팀-시나리오 관계를 그래프로 모델링하고, graplix의 스키마·identify·리졸버·check로 선언적 권한 검증 구현
  • React의 Permission 컴포넌트와 decorate 옵션, BFF와 usePermission 훅을 통해 화면 표시와 추적까지 단순화
  • 관계가 많아질수록 N+1 문제가 생길 수 있어 Dataloader와 캐싱 같은 운영 대응 필요

적용해볼 점

  • 권한 분기문이 늘어나는 지점에서 관계 중심 모델로 전환 검토
  • 화면 제어와 인가 로직을 컴포넌트·훅으로 분리해 선언적으로 관리
  • 복잡도 증가 시 캐싱과 N+1 방지 전략을 함께 설계

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...