pile·
백엔드·모두싸인모두싸인·

B2B를 위한 인가 체계 구축기: 워크스페이스 프로젝트

모두싸인이 단일 계정 서비스에서 다중 사용자 B2B 엔터프라이즈 지원으로 전환하면서 인가 로직을 서비스 레이어에서 분리해 인터페이스 레이어 중심으로 재설계한 과정을 다룬다. RBAC 기반 조직 권한 모델과 9시간 무중단 배포 전략이 핵심이다.

핵심 포인트
  • 인가 로직이 서비스 메서드에 혼재하던 구조를 인터페이스 레이어(컨트롤러)로 이동해 관심사 분리
  • 슈퍼 어드민 예외 처리가 코드베이스 전반에 조건 분기로 흩어진 문제를 중앙 집중형 인가 서비스로 해결
  • RBAC 패턴: 조직이 리소스를 소유하고 사용자는 조직 멤버십을 통해 권한 상속
  • 복합 권한을 단순 역할 정의의 조합으로 구성해 코드 변경 없이 커스텀 권한 세트 생성 가능
  • 9시간에 걸친 점진적 마이그레이션으로 기존 권한 체계 하위 호환성 유지하며 전환
상세 정리
  • 기존 시스템: 비즈니스 로직과 인가 체크가 서비스 메서드 내에 혼재해 개발자 인지 부하 증가
  • 슈퍼 어드민 역할이 일반 권한 흐름 외부에 존재해 거의 모든 코드 경로에 조건 분기 추가됨
  • 데이터 소유권이 개인 사용자와 조직 사이를 왔다갔다해 인가 분기가 반복됨
  • 인터페이스 레이어 배치 이유: 요청 수준 인가를 처리하고, 애플리케이션 레이어는 비즈니스 로직에만 집중
  • 데이터베이스 레이어는 접근 가능한 리소스 쿼리에 최적, 리소스 쿼리에 소유권 컨텍스트를 포함시켜 인가 레이어가 처리 전 검증
  • 인가 정책과 권한 데이터를 전용 인가 서비스에 중앙화해 모든 엔드포인트에 일관된 적용
  • 조직 계층 구조에서 하위 조직은 상위 조직의 권한을 상속하고 오버라이드 가능
  • 기존 권한 체크를 중앙 인가 서비스로 점진적 마이그레이션, 서비스별 단계적 롤아웃으로 리스크 최소화
  • 결과: 분산된 권한 로직 제거, 새 권한 타입 추가 시 기존 코드 수정 불필요
왜 읽나B2B SaaS로 전환하면서 조직·멤버십 기반 권한 체계를 설계해야 하는 팀에 RBAC 구현 전략과 점진적 마이그레이션 방법을 제공한다.
모두싸인
모두싸인 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 백엔드·twilio-engTwilio Engineering·

    Programmable Messaging에서 Verify API로 마이그레이션하기

    Twilio의 Programmable Messaging API로 자체 OTP 솔루션을 운영하던 서비스가 Verify API로 전환하는 방법을 코드 예시와 함께 설명한다. Verify는 OTP 전송·검증을 위한 전용 API로, 전화번호 구매, 토큰 생성, DB 저장·만료 관리를 내부에서 처리해 개발자가 직접 구현할 코드를 크게 줄인다.

    요약 이어보기
    #authentication#twilio#sms+2
  2. 백엔드·포스타입포스타입·

    포스타입이 개인화 추천을 하는 방법 2부

    포스타입 백엔드 엔지니어가 벡터 기반 개인화 추천 시스템을 실제 운영하며 맞닥뜨린 성능 장애와 용량 문제를 해결한 과정을 담은 2부다. 수백만 개의 벡터 KNN 검색이 피크 시간대에 전체 Elasticsearch 검색 성능을 흔드는 문제부터 클러스터 OOM 사태까지, 쿼리 최적화와 인프라 분리 두 가지 경로로 근본 해결에 이른다.

    요약 이어보기
    #elasticsearch#vector-search#recommendation-system+2
  3. 백엔드·포스타입포스타입·

    포스타입이 개인화 추천을 하는 방법 1부

    포스타입이 태그 기반 추천의 한계를 극복하고 벡터 임베딩 기반 개인화 추천 시스템을 구축한 과정을 담은 1부다. 유사한 콘텐츠가 다른 용어를 쓰거나 동일한 태그가 전혀 다른 톤의 콘텐츠를 가리키는 문제를 임베딩 벡터로 해결하고, OpenSearch의 HNSW ANN 검색으로 수백만 벡터를 실시간 검색하는 시스템을 구축해 구매율 15% 향상을 달성했다.

    요약 이어보기
    #opensearch#vector-search#recommendation-system+2