Post

인증 / 인가 — HTTP부터 JWT까지 (2)

인증(Authentication)과 인가(Authorization)의 차이를 예시와 함께 설명합니다. 로그인과 권한 관리의 핵심 개념을 이해하고 웹 보안의 구조를 명확히 정리해보세요.

인증 / 인가 — HTTP부터 JWT까지 (2)

인증과 인가는 완전히 다른 개념입니다

웹 애플리케이션 보안에서 가장 핵심이 되는 두 축은
바로 인증(Authentication)인가(Authorization) 입니다.

이 둘은 자주 혼용되지만,
실제로는 완전히 다른 개념이며, 처리 시점도 다릅니다.


🧾 인증(Authentication)

사용자가 누구인지 확인하는 절차

실생활 비유

  • 출입증을 보여주고 건물에 들어감
  • 공항에서 여권 + 탑승권 확인

인증 수단 예시

  • ID / 비밀번호
  • OTP, 인증번호 (2차 인증)
  • 카카오/구글 소셜 로그인 (OAuth2)
  • 지문, 얼굴 등 생체 인식

인증이 필요한 시점

  • 로그인 시도
  • 비밀번호 변경, 계정 삭제 등 민감 요청 시

인증 처리 흐름

1
[사용자] → [ID/PW 제출] → [서버 검증] → [세션 or 토큰 발급]

인증의 결과

서버는 이 사용자가 누구인지 식별 가능한 상태가 됩니다.


🛂 인가(Authorization)

인증된 사용자가 무엇을 할 수 있는지 판단하는 절차

실생활 비유

  • 사원증으로 회사에 입장했지만
    회의실은 해당 부서만 입장 가능
  • 공항 탑승은 가능하지만
    라운지는 프리미엄 고객만 이용 가능

인가 방식 예시

  • Role 기반: USER / ADMIN / MANAGER
  • Owner 기반: 본인 게시글만 수정 가능
  • 속성 기반: 지역, 나이, 직책 등 조건에 따라 접근 제한

인가가 필요한 시점

  • 관리자 페이지 접근
  • 다른 사용자 데이터 수정
  • 유료 기능 접근

인가 처리 흐름

1
[인증된 사용자] + [권한 정보] → [자원 접근 여부 판단] → 허용 또는 거부

인가의 결과

  • 허용 → 요청 처리됨
  • 거부 → 403 Forbidden 응답

🔄 인증과 인가의 관계

항목인증 (Authentication)인가 (Authorization)
질문너 누구야?그거 해도 돼?
목적사용자 신원 확인권한 판단 및 접근 제어
순서먼저 수행됨인증 후 수행
결과로그인 성공요청 허용 or 거부
실패 시401 Unauthorized403 Forbidden

인가(Authorization)는 항상 인증(Authentication) 이후에만 가능합니다.


🧩 예시 시나리오

블로그 사이트에서

  • 로그인 → 인증 완료
  • 본인 글 삭제 요청 → 인가 확인
    • 본인 글이면 삭제 가능
    • 타인 글이면 403 Forbidden

쇼핑몰에서

  • 로그인 → 인증 완료
  • 주문 조회 요청 → 인가 확인
    • 본인 주문이면 조회 허용
    • 타인 주문이면 접근 거부

🧷 마무리 요약

항목설명
인증 (Authentication)사용자의 신원 확인 (로그인 등)
인가 (Authorization)로그인된 사용자의 권한 확인 및 자원 접근 제어

이 둘은 웹 보안의 핵심이며,
반드시 분리해서 정확히 이해해야 합니다.


🔜 다음 글 예고

다음 글에서는
세션 기반 인증(Session-based Auth) 의 구조와 작동 방식,
장단점에 대해 상세히 알아보겠습니다.

This post is licensed under CC BY 4.0 by the author.