RBAC vs ABAC

GenD는 역할 기반 접근 제어(RBAC)와 속성 기반 접근 제어(ABAC)를 모두 지원하여 유연한 데이터 접근 통제를 구현합니다. ABAC 엔진이 내장되어 있어 복잡한 조건 기반 정책도 처리할 수 있습니다.
RBAC (Role-Based Access Control)
역할에 따라 접근 권한을 부여하는 전통적인 방식입니다.
- 장점: 설정이 단순하고 이해하기 쉽습니다
- 적합한 경우: 조직 구조가 명확하고, 역할별로 접근 범위가 고정된 환경
- 예시:
analyst역할은lakehouse카탈로그의 읽기만 허용
| 요소 | 설명 |
|---|---|
| 역할(Role) | admin, analyst, viewer 등 |
| 권한(Permission) | read, write, execute |
| 리소스 | 카탈로그/스키마/테이블 |
ABAC (Attribute-Based Access Control)
사용자, 리소스, 환경의 속성을 기반으로 접근을 제어하는 방식입니다.
- 장점: 세밀한 조건 기반 제어가 가능합니다
- 적합한 경우: 부서, IP 대역, 시간대 등 다양한 조건이 필요한 환경
- 예시:
department=finance AND ip_range=10.0.0.0/8조건을 만족하는 사용자만financial_data접근 허용
| 속성 유형 | 예시 |
|---|---|
| 사용자 속성 | department, team, role, clearance |
| 리소스 속성 | classification, owner, catalog |
| 환경 속성 | ip_range, time_of_day |
정책 평가 순서
- 요청에 매칭되는 모든 정책을 조회합니다
deny정책이 하나라도 매칭되면 접근을 거부합니다allow정책이 매칭되면 접근을 허용합니다- 매칭되는 정책이 없으면 기본 거부(deny-by-default)됩니다
API 엔드포인트
| Method | Path | Description |
|---|---|---|
| POST | /api/v1/access/policies | 정책 생성 |
| POST | /api/v1/access/policies/simulate | 정책 시뮬레이션 |