웹앱의 관점에서 Authentication(인증)은 로그인을 통해 로그인한 사용자를 인식하는 것이며,
Authorization(권한 부여)는 사용자가 CRUD 등을 허용하는지 여부를 확인하는 것이다.
권한 부여는 사용자의 신원이 인증된 후에 발생한다.
아래에서 좀 더 자세히 알아보자.
Authentication 인증
- 로그인과 함께 사용자의 신원을 확인하는 프로세스
- 인증에 사용하기 위해 제공하는 데이터(id, password 등)는 이미 DB에 저장된 데이터와 비교
- 이 데이터는 인증 서버에 저장됨
- 인증 종류는 비밀번호 기반, SSO(Single Sign On), API 인증, 생체 인증 등이 있음
- Authorization과 구별하기 위해, 줄여서 AuthN이라고 함
Authorization 권한 부여
- 누가 무엇을 할 수 있는지 결정하는 규칙
- 파일, 데이터 등과 같은 시스템 리소스에 대한 액세스 수준을 결정하는 데 사용되는 보안 메커니즘
- Authorization을 위해 역할 기반 액세스 제어, JSON 웹 토큰(JWT), OAuth 등의 기술이 있음
- Authentication과 구별하기 위해, 줄여서 AuthZ라고 함
반응형