Authentication / Authorization 차이점
Authentication 인증
어떤 개체의 신원을 확인하는 과정이다.
보통 어떤 인증요소를 증거로 자신을 증명한다.
온라인에서는 ID 와 패스워드를 입력하는 행위가 인증이 될 수 있다.
실생활에서는 공공기관에서 신원확인 시 신분증을 보여주는 것을 생각해보면 된다
Authorization 허가
둘다 인증에 관련되어있지만 로그인자체의 절차는 Authentication에 해당하지만
로그인 후에 갖는 권한 및 계정의 권한은 Authorization이다.
어떤 리소스에 접근할 수 있는지, 어떤 동작을 수행할 수 있는지 검증한다.
접근 권한을 얻는 일이다.
현실에서는 비행 시 여권과 함께 가져가는 비행기 티켓을 예로 들 수 있다.
여권으로 신분확인이 되더라도 비행기 티켓이 있어야 비행기에 탈 수 있다.
인터넷 기반 앱에서는 보통 토큰 이라 부르는 것을 사용한다.
유저는 자신의 인가 세부사항을 가진 토큰을 통해 서버에 인증받는다.
서버는 유저의 토큰을 보고 권한이 있는지 판단한다.
인증 (Authentication) | 인가 (Authorization) | |
기능 | 자격 증명 확인 | 권한 허가/거부 |
진행 방식 | 비밀번호, 생체인식, 일회용 핀 또는 앱 |
보안 팀에서 관리하는 설정 사용 |
사용자가 볼 수 있는가? | 예 | 아니오 |
사용자가 직접 변경할 수 있는가? | 부분적으로 가능 | 불가능 |
데이터 전송 | ID 토큰 사용 | 액세스 토큰 사용 |