...
Authentication / Authorization 차이점
보통 우리가 '권한' 이라고 불리우는 것엔 인증(Authentication)과 인가/승인(Authorization) 두가지 단어가 존재하는데, 인증(Authentication) 과 인가/승인(Authorization)은 비슷해 보이지만 엄연한 차이가 존재한다.
- 인증(Authentication) : 본인이 누구인지 확인 (로그인)
- 승인(Authorization) : 특정 리소스에 권한이 있는지 확인 (등급 권한)
인증 (Authentication) | 인가 (Authorization) | |
기능 | 자격 증명 확인 | 권한 허가/거부 |
진행 방식 | 비밀번호, 생체인식, 일회용 핀 또는 앱 | 보안 팀에서 관리하는 설정 사용 |
사용자가 볼 수 있는가? | 예 | 아니오 |
사용자가 직접 변경할 수 있는가? | 부분적으로 가능 | 불가능 |
데이터 전송 | ID 토큰 사용 | 액세스 토큰 사용 |
인증 Authentication
네이버 카페나 포털 사이트를 예로들자면, 게시물을 읽으려고 포스팅 목록을 눌렀을때 '로그인이 필요합니다' 경고창과 함께 로그인 인증이 요구된다면 인증(Autentication) 되지 않은 상황이다.
서버 입장에서는 현재 요청자가 카페 회원인지 누군지 몰라서 일어나는 상황이다.
승인 Authorization
그래서 회원 가입 하고 로그인을 하고 게시물에 들어갈수 있게 되었는데, 이번엔 어느 특정 게시판에 있는 게시글을 읽으려고 하니 '스탭 등급 부터 읽을 수 있습니다' 라는 경고창이 뜬다면 승인(Authorization) 되지 않은 상황이다.
즉, 인증 되었다고 하더라도, 승인되지 않았다면 특정 리소스에 접근할 수 없다는 원리이다.
서버 입장에서는 현재 요청자가 회원가입을 했으니 누군지는 알지만, 회원 등급에 따라 사용자는 요청한 자원에 접근한 권한이 없다고 판단하여 차단 한 것이다.
이처럼 같은 게시글을 읽는데에도 인증(Authentication)과 인가/승인(Authorization)에 따라 응답하는 방식이 다르다는 것을 알 수 있다.
인용한 부분에 있어 만일 누락된 출처가 있다면 반드시 알려주시면 감사하겠습니다
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.