최소 권한 원칙 (Principle of Least Privilege)
한 줄 정의: 모든 사용자·프로세스에게 자신의 임무 수행에 꼭 필요한 최소한의 권한만 부여해야 한다는 보안 설계 원칙입니다.
쉽게 풀면
회사에서 모든 직원에게 모든 방 열쇠를 주지 않고, 자기 업무에 필요한 방 열쇠만 주는 것과 같습니다. 필요 이상으로 권한이 넓으면, 그 계정이 탈취되거나 실수했을 때 피해가 걷잡을 수 없이 커지기 때문입니다. 딱 필요한 만큼만 주는 것이 핵심입니다.
왜 중요한가
최소 권한 원칙은 침해가 발생해도 피해 범위를 좁혀 주는 가장 기본적이면서 강력한 방어 개념입니다. 권한 상승 공격이나 측면 이동을 어렵게 만들고, 제로 트러스트 아키텍처와 역할 기반 접근제어의 밑바탕이 됩니다.
논문에서는 이렇게 쓰입니다
"최소 권한 원칙에 따라 웹 애플리케이션의 데이터베이스 계정에 읽기 권한만 부여함으로써, SQL 인젝션이 성공하더라도 데이터 변조는 불가능하도록 설계하였다."
조금 더 깊게 보면
최소 권한은 사용자 계정뿐 아니라 프로세스, 서비스 계정, API 토큰 등 모든 주체에 적용됩니다. 실무에서는 역할 기반 접근제어로 직무별 권한 묶음을 정의하고, 관리자 권한은 필요할 때만 잠깐 부여하는 적시 권한(JIT) 방식으로 구현합니다. 직무 분리 원칙과 함께 쓰이면 한 사람이 전체 과정을 혼자 통제하지 못하게 하여 내부자 위협도 줄입니다.
주의할 점
최소 권한은 '있으면 편한' 권한까지 모두 제거하는 것이라 초기에는 업무 불편을 낳을 수 있어, 권한을 점진적으로 넓히기보다 처음부터 좁게 시작해 필요 시 추가하는 방향이 안전합니다.