RBAC는 사용자, 역할, 권한, 자원을 분리해 검사한다

로그인한 사용자라도 어떤 역할을 가지고 어떤 자원에 어떤 동작을 할 수 있는지 별도로 확인해야 한다.

구성역할예시실패 신호
User로그인한 주체alice, manager인증만 하고 권한은 검사하지 않음
Role권한 묶음admin, editor, viewer역할 이름이 실제 권한과 맞지 않음
Permission허용 동작user:read, post:delete코드 곳곳에 조건문이 흩어짐
Resource보호 대상post, order, admin page자원 소유자 조건 누락
Policy역할과 권한 매핑role-permission table변경 이력이 추적되지 않음

인증은 누구인지 확인하는 일이고, 인가는 그 사용자가 무엇을 할 수 있는지 결정하는 일이다.