ABAC란? 속성 기반 접근 제어 모델
security
개념
- 사용자, 리소스, 환경의 속성(Attribute)을 조합해서 허용 여부 판단
- RBAC보다 유연하지만 복잡
어떤 속성을 보나
- 사용자 속성: 부서, 직급, 소속 팀
- 리소스 속성: 소유자, 분류, 민감도
- 환경 속성: 시간, IP, 접속 위치
예시
user.department == "engineering"
AND resource.owner == user.id
AND time.hour >= 9 AND time.hour <= 18
→ allow
RBAC과 비교
| RBAC | ABAC | |
|---|---|---|
| 기준 | 역할 | 속성 조합 |
| 복잡도 | 단순 | 복잡 |
| 유연성 | 낮음 | 높음 |
| 적합한 경우 | 역할이 명확한 시스템 | 조건이 세밀한 시스템 |
대표 도구
- OPA (Open Policy Agent)
- AWS Cedar
실무에서는
- RBAC을 기본으로 쓰고, 세밀한 제어가 필요한 부분만 ABAC를 섞는 경우가 많음