다섯 살도 알 수 있게 · 보안
RBAC이 뭐예요?
역할 기반 접근 제어(Role-Based Access Control)를 모자와 열쇠 꾸러미 이야기로 풀어봤어요.
방마다 이름 명단을 붙였어요.새 사람이 오면 문 스무 개를 다 고쳐야 해요.
나간 사람이 명단에 남아요.고치는 걸 잊으면, 그만둔 요리사 이름이 부엌 문에 그대로.
RBAC은 모자마다 열쇠 꾸러미를 정해요.열쇠는 사람이 아니라 모자에 달려 있어요. 사람에겐 모자만 씌워요.
모자 = 역할요리사, 회계, 손님
열쇠 꾸러미 = 권한그 모자가 여는 문들
사람 = 모자를 받아요한 사람이 모자 둘도 돼요
사람이 바뀌면 모자만 바꿔 써요.문 스무 개는 그대로. 모자 하나 옮기면 끝.
모자가 자꾸 늘어요.'요리사인데 밤에만', '손님 있을 때만'… 모자로 다 만들면 백 개. 그런 조건은 다른 방법(ABAC)이 맡아요. 그리고 모자에 열쇠를 더하기만 하고 빼는 사람은 없어요.
한 줄로
RBAC = 사람이 아니라 모자(역할)에 열쇠를 주고, 사람에겐 모자만 씌우는 것.
Role-Based Access Control. 1992년 미국 NIST의 Ferraiolo와 Kuhn이 정리했고, 회사 시스템 대부분이 이 방식이에요. '방 하나 열쇠'(최소 권한)를 실제로 만드는 도구예요.
어른들은 이렇게 불러요
- 역할
Role - 모자. 요리사, 회계, 손님 같은 일의 이름. 사람 이름이 아니에요.
- 권한
Permission - 열쇠 하나. "부엌 문 열기"처럼 딱 하나의 일.
- 할당
Assignment - 모자 씌우기. 사람과 모자를 잇는 것. 빼는 것도 여기서.
- 최소 권한
Least privilege - 꼭 필요한 열쇠만. 문마다 물어보는 성에서 본 "방 하나 열쇠".
- 역할 폭발
Role explosion - 모자 백 개. 조건마다 모자를 만들다 보면 아무도 못 외워요.
- 권한 비대
Privilege creep - 자꾸 무거워지는 모자. 열쇠를 더하긴 쉬운데 빼는 사람이 없어요.
- ABAC
ABAC - 모자 대신 조건. "요리사이고, 낮이고, 손님이 없으면" 같은 문장으로 문을 열어요.
- 접근 검토
Access review - 모자 점검 날. 분기마다 누가 무슨 모자를 쓰고 있는지 다시 봐요.
다음 이야기
문지기의 조건 문장 →