Authorization

임정환·2023년 6월 7일
0

OAuth 2.0

특정 리소스에 대한 접근 권한 위임 프로토콜이다. 좋은 예시로는, 우리가 흔히 볼수 있는 카카오 로그인 api, 구글 로그인 api를 생각해 볼 수 있다.

위와 같은 프로토콜로 정의되는데, 만일 APP XYZ에서 User의 APP ABC의 리소스에 대한 권한이 필요할 경우
ABC의 Authorization 엔드 포인트에 권한을 요청한다. ABC의 로그인 페이지로 리디렉션 되며, 유저가 올바른 id와 pw를
입력했을 경우 XYZ에 임시 인가 코드가 발급된다. XYZ가 ABC의 토큰 엔드포인트에 토큰을 요청하게 되면 Access Token을 XYZ에 발급하게 된다.
이와 더불어서, 흔히 JWT로 불리는 OAuth위에 구성된 OIDC 프로토콜도 존재하지만 이미 한번 다뤘던 사항이므로 넘어가도록 하겠다.

운영체제 접근 제어

운영체제에서의 Access Control은 객체 중심이냐 혹은 주체 중심이냐로 갈리게 된다.

  • Access Control List
    2차원 배열의 열 별로 권한을 저장한다. 즉, Insurance data는 Bob에대하여 --- ,Alice에 대하여 rw 의 권한을 가지고 있다.
    구현이 용이하다는 장점이 있지만 유저수가 많거나, 권한의 위임이 있을 경우 불리하다는 단점이 있다.
    UNIX based 운영체제의 권한 저장 방식이다.
  • Capability
    이번에는 행 별로 권한을 저장한다. 권한 위임에 유리하지만 파일에 대한 소유권이 잘게 쪼개져있으므로
    파일의 상태변경이 어렵다는 단점이 있다.
profile
CS 박제

0개의 댓글

관련 채용 정보