본문 바로가기

IT/빅데이타

RBAC 모델 정리

반응형

기업 시스템을 구축할 때 가장 먼저 고민해야 하는 부분 중 하나가 **권한 관리(Access Control)**입니다.
특히 조직 규모가 커지거나 서비스가 복잡해질수록, “누가 어떤 기능을 사용할 수 있는가?”라는 문제는 보안과 직결됩니다.

이때 가장 널리 쓰이는 권한 관리 방식이 바로 RBAC(Role-Based Access Control), 즉 역할 기반 접근 제어 모델입니다.


 RBAC란 무엇인가?

**RBAC(Role-Based Access Control)**은
사용자가 어떤 ‘역할(Role)’을 갖는지에 따라 접근할 수 있는 기능·데이터·리소스를 결정하는 방식의 권한 관리 모델입니다.

즉, 권한을 사용자에게 직접 부여하지 않고,
역할에 권한을 부여한 뒤 사용자는 그 역할을 할당받는 구조입니다.

예시로 보면 이해가 쉽습니다.

  • “재정 데이터 조회 권한” → Analyst 역할에 부여
  • “재정 데이터 수정 권한” → Admin 역할에 부여
  • 사용자는 Analyst 또는 Admin 역할을 갖게 됨
  • 역할이 바뀌면 권한도 자동으로 바뀜

 왜 RBAC가 필요할까?

1) 권한 관리가 폭발적으로 쉬워짐

사용자가 10명 → 100명 → 1,000명 증가해도
역할만 유지하면 관리가 단순해집니다.

2) 보안 사고 위험이 낮아짐

개인에게 임의 권한을 주는 방식(User-based)보다
역할 기반은 권한 누수가 적고 감사가 쉽습니다.

3) 규제·감사 대응에 강함

금융·재정·의료 등 규제가 강한 산업에서는
권한 구조가 명확해야 하고 RBAC가 사실상 표준입니다.

4) 채용·퇴사·부서 이동 시 즉시 권한 조정 가능

역할을 바꾸기만 하면 전체 권한이 일관되게 변경됩니다.


 RBAC의 핵심 구성 요소

RBAC는 크게 4가지 요소로 구성됩니다.

1) Users (사용자)

시스템을 실제로 사용하는 사람들
예: 직원, 외부협력사, 관리자 등

2) Roles (역할)

권한이 묶여 있는 그룹
예:

  • Admin
  • Manager
  • Analyst
  • Viewer

3) Permissions (권한)

“무엇을 할 수 있는가?”
예:

  • 읽기(Read)
  • 수정(Update)
  • 삭제(Delete)
  • 특정 API 호출
  • 특정 데이터 조회

4) Sessions (세션)

사용자가 실제로 어떤 역할로 로그인해서 어떤 권한을 쓰는지 나타냄.


 RBAC 구조 예시 (표)

역할(Role)설명권한(Permissions)
Admin 시스템 전체 관리 생성, 수정, 삭제, 조회, 사용자관리
Analyst 데이터 조회 및 분석 조회(Read), 통계 조회
Editor 일부 데이터 수정 조회 + 수정(Update)
Viewer 읽기 전용 조회(Read)

사용자는 역할 중 하나 이상을 가질 수 있습니다.


 RBAC 설계 단계

RBAC를 설계할 때는 보통 아래 흐름을 따릅니다.

1) 기능과 리소스 정리

시스템에서 어떤 기능을 제공하는지 목록화

2) 권한(Permissions) 정의

각 기능에 필요한 최소 권한을 정의

3) 역할(Role) 설계

역할을 너무 세분화하거나 너무 크게 묶지 않도록 균형 설계
(보통 3~7개로 운영하는 것이 효율적)

4) 사용자(User)에게 역할 부여

직무(Job Function)에 따라 해당 Role 할당

5) 정기 권한 검토(권한 리뷰)

감사·보안 측면에서 매우 중요
퇴사자/이동자/휴면 계정 권한 제거


 RBAC vs ABAC vs ACL 비교

구분RBACABACACL
기준 역할(Role) 속성(Attribute) 리소스별 목록
난이도 쉬움 중간~어려움 쉬움
확장성 높음 매우 높음 낮음
대규모 기업 매우 적합 가장 유연 관리 어려움
예시 “Analyst 역할은 조회만 가능” “업무가 재정이면 조회 가능” “이 파일은 누구 읽기 가능”

대부분의 엔터프라이즈급 시스템은 RBAC 또는 RBAC+ABAC 혼합형을 사용합니다.


 RBAC 도입 시 베스트 프랙티스

  • 역할을 ‘조직 구조’와 일치시키지 말 것
  • 권한은 최소 권한 원칙(Least Privilege) 적용
  • 역할은 업무 기능(Job Function) 중심으로 설계
  • 복잡한 시스템은 “역할 → 세분화된 권한” 구조로
  • 정기적인 권한 점검 필수
  • 로그·감사 트레일(Audit Trail)도 반드시 확보

 결론

RBAC 모델은

  • 구조가 명확하고
  • 관리가 쉬우며
  • 보안·감사에 강하고
  • 엔터프라이즈 환경에서 표준으로 쓰이는
    가장 실용적이고 효과적인 권한 관리 방식입니다.
반응형