Authentication vs Authorization 차이

2023. 6. 20. 17:49·Computer Science/CS Basic

Authentication / Authorization 차이점


보통 우리가 '권한' 이라고 불리우는 것엔 인증(Authentication)과 인가/승인(Authorization) 두가지 단어가 존재하는데, 인증(Authentication) 과 인가/승인(Authorization)은 비슷해 보이지만 엄연한 차이가 존재한다.

  • 인증(Authentication) : 본인이 누구인지 확인 (로그인)
  • 인가/승인(Authorization) : 특정 리소스에 권한이 있는지 확인 (등급 권한)

 

  인증 (Authentication) 인가 (Authorization)
기능 자격 증명 확인 권한 허가/거부
진행 방식 비밀번호, 생체인식, 일회용 핀 또는 앱 보안 팀에서 관리하는 설정 사용
사용자가 볼 수 있는가? 예 아니오
사용자가 직접 변경할 수 있는가? 부분적으로 가능 불가능 
데이터 전송 ID 토큰 사용 액세스 토큰 사용 

 

인증 Authentication

네이버 카페나 포털 사이트를 예 로들자면, 게시물을 읽으려고 포스팅 목록을 눌렀을때 '로그인이 필요합니다' 경고창과 함께 로그인 인증이 요구된다면 인증(Autentication) 되지 않은 상황이다.

 

서버 입장에서는 현재 요청자가 카페 회원인지 누군지 몰라서 일어나는 상황이다.


인가/승인 Authorization

그래서 회원 가입 하고 로그인을 하고 게시물에 들어갈수 있게 되었는데, 이번엔 어느 특정 게시판에 있는 게시글을 읽으려고 하니 '스탭 등급 부터 읽을 수 있습니다' 라는 경고창이 뜬다면 승인(Authorization) 되지 않은 상황이다.

 

즉, 인증 되었다고 하더라도, 승인되지 않았다면 특정 리소스에 접근할 수 없다는 원리이다.

 

서버 입장에서는 현재 요청자가 회원가입을 했으니 누군지는 알지만, 회원 등급에 따라 사용자는 요청한 자원에 접근한 권한이 없다고 판단하여 차단 한 것이다. 


이처럼 같은 게시글을 읽는데에도 인증(Authentication)과 인가/승인(Authorization)에 따라 응답하는 방식이 다르다는 것을 알 수 있다.

https://idratherbewriting.com/learnapidoc/docapis_more_about_authorization.html

 


참고

  • https://www.okta.com/kr/identity-101/authentication-vs-authorization/
'Computer Science/CS Basic' 카테고리의 다른 글
  • 함수형 프로그래밍(Functional Programming) 이란?
  • 일급 객체(first-class object) 란?
  • 클라우드 서비스의 종류(Iaas, Paas, Saas)
  • API란?
s_y_130
s_y_130
  • s_y_130
    About SY
    s_y_130
  • 전체
    오늘
    어제
    • 분류 전체보기 (439) N
      • JAVA (54)
        • 더 자바 8 (0)
        • JAVA (41)
        • JAVA (JVM) (13)
      • Computer Science (86)
        • CS Basic (7)
        • OOP (11)
        • Design Pattern (16)
        • Network (8)
        • HTTP (6)
        • WEB (22)
        • OS (16)
      • DataBase (29)
        • DB theory (15)
        • MySQL (14)
        • Redis (0)
      • Collection Framework (1)
        • 구현 (1)
      • Data Structure (14)
        • Linear (9)
        • Non-Linear (5)
      • Algorithm (19)
        • Basic (12)
        • 응용 (2)
        • 완전 탐색(Brute Force) (1)
        • 다익스트라 (1)
        • Algorithm Problem (3)
      • Spring (104)
        • 스프링 핵심 원리 - 기본편 (9)
        • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (7)
        • 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (11)
        • 스프링 DB 1편 - 데이터 접근 핵심 원리 (6)
        • 스프링 DB 2편 - 데이터 접근 활용 기술 (10)
        • 스프링 핵심 원리 - 고급편 (13)
        • 스프링 부트 - 핵심 원리와 활용 (9)
        • Spring Security 6.x (2)
        • Spring Batch (2)
        • Spring Cloud로 개발하는 MSA (1)
        • 재고시스템으로 알아보는 동시성이슈 해결방법 (4)
        • 개념 (27)
        • 테스트 (0)
        • Annotation (1)
        • Error Log (2)
      • TEST (0)
        • 부하 테스트 (0)
        • Practical Testing: 실용적인 테스트.. (0)
      • JPA (40)
        • 자바 ORM 표준 JPA 프로그래밍 (12)
        • 1편- 실전! 스프링 부트와 JPA 활용 (7)
        • 2편- 실전! 스프링 부트와 JPA 활용 (4)
        • 실전! 스프링 데이터 JPA (6)
        • 실전! Querydsl (6)
        • 개념 (5)
      • 백엔드 부트캠프[사전캠프] (35)
        • TIL (12)
        • 문제풀이 (23)
      • 백엔드 부트캠프 (8) N
        • Calculator (3)
        • Kiosk (5) N
      • Open Source (0)
      • Book Study (1)
        • Morden Java in Action (1)
        • Real MySQL 8.0 Vol.1 (0)
        • TDD : By Example (0)
      • AWS (0)
        • EC2 (0)
      • git (2)
      • AI (22)
        • Machine Learning (17)
        • Deep Learning (0)
        • TensorFlow (1)
        • PyTorch (1)
        • YOLO (1)
        • Data Analysis (0)
        • Ai code Error (1)
        • Numpy (1)
      • MY (0)
      • WEB (15)
        • Django (3)
        • WEB 개념 (1)
        • React (1)
        • Maven (10)
      • Python (6)
      • 기초수학 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_y_130
Authentication vs Authorization 차이
상단으로

티스토리툴바