728x90
반응형
Authentication(인증)과 Authorization(권한부여, 인가)의 차이
**Authentication(인증)**과 **Authorization(권한부여, 인가)**는 보안 시스템에서 사용자 접근을 관리하는 핵심 개념입니다.
이 둘은 종종 혼용되지만, 각각의 역할과 기능이 다릅니다.
1. Authentication(인증) – "누구인가?"
🔹 정의:
- 사용자가 누구인지 확인하는 과정
- 사용자가 시스템에 접근하려 할 때, 신원을 확인하는 절차
🔹 수행 방식:
- ID와 비밀번호 입력 (예: 로그인 시 사용자명과 비밀번호 입력)
- OTP(일회용 비밀번호), 인증 코드
- 생체 인식 (지문, 얼굴 인식, 홍채 스캔 등)
- 소셜 로그인 (Google, Facebook 인증 등)
🔹 예시:
- "이 사용자는 실제 등록된 계정의 사용자인가?"
- 로그인 시 ID/PW 입력 → 맞으면 인증 완료
- 지문 인식을 통해 본인이 맞는지 확인
🔹 핵심 포인트:
✅ 인증(Authentication)은 사용자의 신원을 확인하는 과정이며, '누구인지'를 검증하는 단계
2. Authorization(권한부여, 인가) – "무엇을 할 수 있는가?"
🔹 정의:
- 인증된 사용자가 특정 리소스나 기능에 접근할 수 있는 권한이 있는지를 결정하는 과정
- 인증을 통과한 사용자에게 어떤 기능을 허용할 것인지 결정
🔹 수행 방식:
- 역할(Role) 기반 접근 제어 (RBAC, Role-Based Access Control)
- 권한 레벨 설정 (예: 관리자, 일반 사용자, 손님 등)
- ACL(Access Control List, 접근 제어 목록) 기반 접근 제한
🔹 예시:
- "이 사용자가 이 문서를 수정할 수 있는가?"
- "이 사용자는 관리자 페이지에 접근할 수 있는가?"
- 관리자만 삭제 권한이 있고, 일반 사용자는 읽기만 가능한 경우
🔹 핵심 포인트:
✅ 권한부여, 인가(Authorization)는 사용자가 특정 작업을 수행할 수 있는지 결정하는 과정이며, ‘무엇을 할 수 있는가’를 정의함
3. Authentication vs Authorization(권한부여, 인가) 비교
개념 | Authentication(인증) | Authorization(권한부여, 인가) |
목적 | 사용자가 누구인지 확인 | 사용자가 특정 리소스에 접근할 수 있는지 결정 |
진행 시점 | 로그인 과정에서 수행됨 | 로그인 이후 접근할 수 있는 리소스 결정 |
필요 요소 | ID/PW, OTP, 생체 인증 등 | 사용자 역할(Role), 정책, 권한 리스트 |
예시 | 로그인할 때 비밀번호 입력 | 관리자만 데이터 삭제 가능 |
관계 | 권한부여, 인가 전에 반드시 인증이 필요 | 인증이 완료된 후 적용 |
4. 인증(Authentication) 없이 권한부여, 인가(Authorization) 가능할까?
🚫 아니요!
- 인증(Authentication)이 완료된 사용자에게만 권한부여, 인가(Authorization)를 적용할 수 있음.
- 익명의 사용자는 접근 권한을 받을 수 없음.
예외적인 경우:
- 웹사이트에서 로그인 없이 공개 자료 열람 가능 (이 경우 기본적인 읽기 권한만 부여된 상태)
- API에서 API 키 없이 일부 공공 데이터 제공 (읽기 권한 부여)
📌 결론
✅ Authentication(인증): 사용자가 누구인지 확인
✅ Authorization(권한부여, 인가): 인증된 사용자가 무엇을 할 수 있는지 결정
💡 인증이 먼저 이루어지고, 이후 권한부여, 인가가 진행됨.
💡 모든 시스템에서는 인증과 권한부여, 인가를 적절히 조합하여 보안을 강화해야 함.
728x90
반응형
'IT공부' 카테고리의 다른 글
스팸 방지 기술 정리 (Spam Prevention Technologies) (0) | 2025.02.06 |
---|---|
소프트웨어 비기능 요구사항(Non-Functional Requirements, NFRs)란? (0) | 2025.02.06 |
전통적인 소프트웨어 개발 생명 주기 모델(SDLC, Software Development Life Cycle) 비교분석 (0) | 2025.02.06 |
소프트웨어 공학에서 계층화 기술을 구성하는 3대 요소 (0) | 2025.02.06 |
외부 스토리지 아키텍처 설정 시 주요 고려사항 (0) | 2025.02.06 |