인증(Authentication)
인증은 사용자가 누구인지를 확인하는 과정이다. 이는 사용자가 자신이 주장하는 신원을 입증하는 단계로, 다양한 방법을 통해 수행 가능.
주요 특징
신원 확인: 사용자가 시스템에 접근하기 전에 자신의 신원을 증명한다.
인증 방법
- 무엇을 알고 있는가? : 패스워드, PIN, 보안 질문 등의 입력을 요구하는 방식
- 무엇을 가지고 있는가?: 스마트 카드, OTP(One-Time-Password)생성기, 보안 토큰 등 물리적인 아이템을 요구하는 방식
- 무엇인가?: 생체 인식 정보(지문, 얼굴 인식, 홍채, 음성 등)를 활용하는 방식
Ex)
- 로그인할 때 사용자 이름과 패스워드를 입력하는 과정
- 지문 인식기나 얼굴 인식을 통해 스마트폰을 잠금 해제하는 과정
인증 과정 예시
- 사용자는 시스템에 로그인하기 위해 사용자 이름과 패스워드를 입력한다.
- 시스템은 입력된 정보가 저장된 데이터와 일치하는지 확인한다.
- 일치할 경우, 사용자의 신원이 확인되었다고 간주된다.
인가(Authorization)
인가는 인증된 사용자가 특정 자원이나 서비스를 사용할 수 있는 권한을 가지는지를 결정하는 과정이다. 즉, 인증된 사용자가 수행할 수 있는 작업의 범위를 설정하는 것이다.
주요 특징
권한 부여 : 특정 사용자나 그룹이 시스템의 자원이나 기능에 접근할 수 있는 권한을 설정한다.
권한 설정 방식
- 역할 기반 접근 제어(RBAC, Role-Based Access Control): 사용자에게 특정 역할을 부여하고, 역할에 따라 권한을 부여하는 방식.
- 속성 기반 접근 제어(ABAC, Attribute-Based Access Control): 사용자, 자원, 환경 속성에 따라 권한을 부여하는 방식.
Ex)
- 관리자 계정만이 시스템 설정을 변경할 수 있는 권한을 가지는 경우
- 특정 사용자가 자신이 생성한 문서에만 접근할 수 있도록 설정하는 경우
인가 과정 예시
- 사용자가 인증을 통해 시스템에 접근한다.
- 시스템은 해당 사용자 어떤 자원에 접근하려고 하는지 확인한다.
- 접근하려는 자원에 대한 권한이 있는지 시스템이 확인한 후, 접근을 허용하거나 거부한다.
간락히 이둘의 차이점을 요약하자면 인증은 "당신이 누구야?"를 확인하는 과정, 인가는 "당신이 무엇을 할 수 있나?"를 결정하는 과정이다.
반응형
'Spring' 카테고리의 다른 글
Entity 연관 관계 1 대 1 관계 (0) | 2024.08.23 |
---|---|
IOC(Inversion fo Control), DI(Dependency Injection) (0) | 2024.08.22 |
JPA란? (0) | 2024.08.19 |
@RestController, @Controller (0) | 2024.08.18 |
post, put, get, delete (0) | 2024.08.14 |