반응형
이 두 단어는 비슷해 보이지만, 사실 '문 앞'에서 일어나는 일과 '문 안'에서 일어나는 일의 차이입니다.

1. 인증 (Authentication, AuthN)
"당신, 진짜 본인 맞아?"를 확인하는 과정입니다.
- 한 줄 정의: 신원을 증명하는 것.
- 목적: 가짜가 아닌 진짜 '그 사람'인지 확인하여 시스템 문을 열어주는 단계입니다.
- 우리가 매일 하는 인증들:
- 아이디와 비밀번호 입력 (가장 흔함)
- 핸드폰으로 오는 숫자 6자리(OTP) 입력
- 지문 찍기, 얼굴 인식(Face ID)
- 핵심: 인증이 실패하면 "누군지 모르겠으니 돌아가세요"가 됩니다.
2. 인가 (Authorization, AuthZ)
"누군지 알겠어. 근데 너, 여기까지 들어올 자격 있어?"를 확인하는 과정입니다.
- 한 줄 정의: 권한을 허락하는 것.
- 목적: 이미 들어온 사람에게 "당신은 여기까지는 가도 되고, 저기는 안 돼"라고 구역을 정해주는 단계입니다.
- 우리가 매일 겪는 인가들:
- 카페 Wi-Fi는 되지만, 카페 관리자 페이지는 못 들어감.
- 유튜브 영상은 볼 수 있지만, 그 영상을 삭제할 수는 없음.
- 회사원은 사무실엔 가지만, 사장님실은 못 들어감.
- 핵심: 인가가 실패하면 "너인 건 알겠는데, 여긴 네가 올 곳이 아니야"가 됩니다.
📊 인증 vs 인가: 1:1 완벽 비교
이 표를 보시면 두 개념이 완전히 쪼개져서 보일 거예요.
| 구분 | 인증 (Authentication) | 인가 (Authorization) |
|---|---|---|
| 질문 | "당신은 누구입니까?" | "당신은 무엇을 할 수 있습니까?" |
| 순서 | 1단계 (입구) | 2단계 (내부) |
| 성격 | 신분증 검사 | 출입 등급 확인 |
| 확인 대상 | 사용자의 신원 (ID, 비밀번호) | 사용자의 권한 (Role, 직급) |
| 실패했을 때 | "당신이 누구인지 증명하지 못함" | "누군지 알지만, 할 권한이 없음" |
🏠 아주 쉬운 실생활 비유 (호텔)
호텔에 예약하고 방문했다고 가정해 볼게요.
- 인증 (Authentication):
로비 리셉션에서 신분증을 보여줍니다. 직원이 확인하고 "아, XX님 예약 맞으시네요!" 하고 체크인을 해주는 과정입니다. (본인 확인 완료) - 인가 (Authorization):
직원이 방 키(카드키)를 줍니다. 이 카드로 XX님 방은 열 수 있지만, 옆방이나 '직원 전용 식당'은 열 수 없습니다. 호텔 시스템이 XX님 카드에 특정 층과 방만 들어갈 권한을 심어준 것이죠.
💡 요약하자면
- 인증은 "로그인" 하는 행위 그 자체입니다.
- 인가는 로그인한 사람이 "어떤 버튼을 누를 수 있는지" 결정되는 상태입니다.
이제 인증(너 누구야?)과 인가(너 이거 해도 돼?)가 머릿속에서 확실히 갈라지셨나요?
반응형
'1. 개발 > 1.5. IT 용어 정리' 카테고리의 다른 글
| Session 과 Cookie (0) | 2026.01.24 |
|---|---|
| JWT (JSON Web Token) (0) | 2026.01.24 |
| SSL vs TLS (0) | 2026.01.24 |
| 대칭키 (Symmetric Key) vs 비대칭키 (Asymmetric Key) (0) | 2026.01.24 |
| RBAC vs ABAC (0) | 2026.01.24 |