인증과 인가를 "로그인과 권한 체크" 정도로 묶어 외운 사람과, 두 결정을 서로 다른 모델·다른 계층에서 다뤄야 한다는 시각을 가진 사람을 가른다. 후속 질문은 보통 접근 제어 모델 선택, 검증 위치, 토큰에 담을 정보 범위로 이어진다.
인증(Authentication)은 "이 요청을 보낸 주체가 누구인가"를 비밀번호·OTP·소셜 로그인·MFA 같은 절차로 증명하는 단계다. 인가(Authorization)는 그 신원이 확인된 다음 "이 사용자가 이 리소스·이 동작을 해도 되는가"를 정책으로 판단하는 단계다. 둘은 보통 한 요청 안에서 순서대로 실행되지만, 결정 모델은 완전히 다르다. 인증은 "이 사람 맞다/아니다"의 신뢰 확립이고, 인가는 RBAC·ABAC·ReBAC 같은 접근 제어 모델 위에서 "이 자원에 이 작업이 허용되는가"를 매번 재평가하는 결정이다.
권한 누락 버그(다른 사용자 데이터가 보였거나 수정됐던 사고)를 잡아본 경험이 있다면 그 사고를 "인증은 됐는데 인가가 비었던" 자리로 다시 설명할 수 있다
역할 기반(RBAC)으로 시작했다가 정책이 복잡해져 ABAC·정책 엔진으로 옮긴 경험이 있다면 모델 선택 기준을 자기 사례로 풀 수 있다
JWT 클레임에 권한을 담을지 매 요청에서 DB를 조회할지를 두고 고민한 경험이 있다면 "인가 결정을 어디서 끊는가" 질문으로 자연스럽게 이어진다
프론트엔드 라우팅 가드와 서버 단 인가를 어떻게 이중으로 설계했는지 떠올릴 수 있다면 검증 위치 이야기를 구체적으로 답할 수 있다
아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.