본문 바로가기
🚀 데브 노트 (IT 지식 & 팁)

인증(Authentication)과 인가(Authorization)의 차이, '회사 사원증' 하나로 완벽 이해하기!

by 데브프리 2026. 6. 15.

안녕하세요, 여러분의 든든한 IT 길잡이 데브프리입니다.

 

개발 공부를 하다 보면, 혹은 백엔드 면접을 준비하다 보면 100% 확률로 마주치는 질문이 있습니다. 바로 "인증(Authentication)과 인가(Authorization)의 차이가 무엇인가요?"라는 질문입니다.

 

영어 단어도 비슷하게 생겼고(Auth... 어쩌고), 한국어 번역마저 한 글자 차이라서 처음엔 무조건 헷갈리기 마련입니다. "둘 다 로그인할 때 쓰는 거 아닌가요?"라고 생각하셨다면 오늘 글을 꼭 끝까지 읽어주세요.

 

이 두 가지는 웹 보안의 가장 핵심적인 뼈대입니다. 오늘은 이 헷갈리는 개념을 '회사 사옥 출입 과정'에 비유하여 1분 만에 완벽하게 머릿속에 각인시켜 드리겠습니다.

 

1. 인증 (Authentication): "당신은 누구십니까?"

인증(Authentication)은 쉽게 말해 '신원 확인'입니다. 이 사람이 우리 서비스에 가입된 유저가 맞는지, 자신이 주장하는 그 사람이 맞는지 확인하는 절차입니다.

인증 Authentication 신원 확인 예시
인증은 회사 1층 로비 정문에서 "내가 이 회사 직원이다!"를 증명하고 들어가는 과정입니다.

여러분이 회사에 출근했다고 상상해 봅시다. 1층 로비 정문(스피드 게이트)을 통과하려면 어떻게 해야 하죠? 사원증을 찍어야 합니다. 사원증을 찍는 순간 시스템은 "아, 이 사람은 우리 회사 직원이 맞구나!" 하고 문을 열어줍니다.

 

온라인 세계에서는 '로그인(Login)'이 바로 이 인증 과정입니다. 아이디와 비밀번호(사원증)를 입력하여 "나 데브프리라는 유저 맞아!"라고 증명하는 것이죠. 지문 인식, 홍채 인식, 휴대폰 본인인증 모두 '인증(Authentication)'에 해당합니다.

 

2. 인가 (Authorization): "당신은 뭘 할 수 있습니까?"

인가(Authorization)는 인증을 마친 유저에게 '권한을 부여하거나 확인'하는 과정입니다. 신원 확인은 끝났지만, 그 사람이 시스템의 어느 부분까지 접근할 수 있는지를 통제하는 절차입니다.

인가 Authorization 접근 권한 거부 예시
인가는 회사 내부에서 '서버실'이나 '사장실'처럼 특별한 권한이 필요한 곳에 들어갈 자격이 있는지 확인하는 과정입니다.

자, 1층 로비를 무사히 통과(인증 완료)해서 회사 안으로 들어왔습니다. 그렇다고 해서 일반 사원이 회사의 '1급 보안 서버실'이나 '재무팀 금고' 문을 열고 들어갈 수 있을까요?

사원증을 찍어도 문은 열리지 않고 삐- 소리가 날 것입니다. 왜냐하면 일반 사원에게는 그곳에 출입할 권한(인가)이 없기 때문입니다.

 

온라인 세계에서도 똑같습니다. 로그인을 했다고 해서 내가 다른 사람의 글을 수정하거나, 일반 유저가 '사이트 관리자 페이지'에 접속할 수는 없죠. 이처럼 "이 유저가 이 작업을 수행할 권한이 있는가?"를 확인하는 것이 바로 '인가(Authorization)'입니다.

 

3. 실무 꿀팁: HTTP 에러 코드로 보는 인증과 인가

이 두 가지 개념은 백엔드 개발 시 마주치는 HTTP 상태 코드와 아주 밀접하게 연결되어 있습니다. 이 에러 코드의 차이만 알아두어도 실무에서 디버깅 속도가 확연히 빨라집니다.

  • 🚫 401 Unauthorized (인증 실패): 사실 이 에러 코드의 이름은 Unauthorized(인가되지 않음)지만, 실제로는 Unauthenticated(인증되지 않음)의 의미로 쓰입니다. 즉, "로그인부터 하고 오세요!"라는 뜻입니다. (회사 정문을 통과하지 못함)
  • ⛔ 403 Forbidden (인가 실패):
  • 로그인은 되어 있어서 네가 누군지는 알겠는데, "이 페이지를 볼 권한이 없습니다!"라는 뜻입니다. (회사는 들어왔는데 서버실 문이 안 열림)

 

4. 한눈에 비교하는 요약표

비교 항목 인증 (Authentication) 인가 (Authorization)
핵심 목적 "Who are you?" (신원 확인) "What can you do?" (권한 확인)
회사 비유 1층 정문 로비 사원증 태그 1급 보안 서버실 출입 통제
웹사이트 예시 아이디/비밀번호 로그인 과정 관리자 페이지 접근, 다른 사람 글 삭제
실패 시 에러 401 Unauthorized (로그인 안 됨) 403 Forbidden (권한 없음)
발생 순서 항상 먼저 발생함 인증이 완료된 후에 발생함

 

마무리

정리해 볼까요?

"당신이 누구인지 증명하세요"는 인증(Authentication),

"당신에게 그럴 자격이 있나요?"는 인가(Authorization)입니다.

 

영어 스펠링이 비슷해서 헷갈린다면, 인증의 '증'은 증명서(로그인), 인가의 '가'는 가능 여부(권한)라고 외워두시면 훨씬 기억하기 쉽습니다.

 

우리가 자주 쓰는 JWT(JSON Web Token)나 OAuth(카카오 로그인, 구글 로그인 등) 기술들이 모두 이 '인증'과 '인가'를 안전하고 편리하게 처리하기 위해 탄생한 기술들입니다. 오늘 완벽하게 잡은 개념을 바탕으로 다음번에는 토큰 기반의 보안 기술에 대해서도 다뤄보겠습니다.

 

오늘의 데브 노트가 유익하셨다면 공감과 댓글 부탁드립니다! 지금까지 데브프리였습니다. 감사합니다.