사용자 도구

사이트 도구


java:zuul

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판 양쪽 다음 판
java:zuul [2021/11/09 10:18]
kwon37xi
java:zuul [2021/11/09 11:24]
kwon37xi [Netflix의 Client Serving Server]
줄 14: 줄 14:
   * 꼭 API Gateway 가 필요하다면 무조근 API Gateway 에 접속하는 사용자와 그 backend API의 사용자의 인증체계가 동일해야 한다. 그렇지 않으면 권한 필터링을 잘못하면 backend API의 중요 정보가 비록 로그인 사용자에게라도 다 노출되게 된다. ''/orders/<userId>'' 는 로그인을 했을 경우라도, 로그인 사용자가 아닌 다른 사용자 ID로 API 요청을 할 수 있기 때문이다.   * 꼭 API Gateway 가 필요하다면 무조근 API Gateway 에 접속하는 사용자와 그 backend API의 사용자의 인증체계가 동일해야 한다. 그렇지 않으면 권한 필터링을 잘못하면 backend API의 중요 정보가 비록 로그인 사용자에게라도 다 노출되게 된다. ''/orders/<userId>'' 는 로그인을 했을 경우라도, 로그인 사용자가 아닌 다른 사용자 ID로 API 요청을 할 수 있기 때문이다.
   * Client Adapter Code 에서는 ''/orders'' API Endpoint만 노출하고 로그인 세션에서 ID값을 읽고 이를 다시 backend에 ''/orders/<userId>''로 넘겨주는 방식을 취해야 한다.   * Client Adapter Code 에서는 ''/orders'' API Endpoint만 노출하고 로그인 세션에서 ID값을 읽고 이를 다시 backend에 ''/orders/<userId>''로 넘겨주는 방식을 취해야 한다.
 +  * FAQ : 인증/권한이 문제라면, backend API가 권한을 처리하면 되는거 아닌가?
 +    * 아니다, backend API는 자기 본분에 충실해야 한다.
 +    * 또한, 인증 체계는 하나의 시스템에 2~3개씩 존재할 수 있다.(일반 사용자, admin, 제 3의 상품 제공업체 등)
 +    * 이 모든 인증 체계에 대해 모든 backend API가 인증/권한을 관리하는 것은 회사 전체의 개발 속도를 떨어뜨린다.
 +    * 또한 신규 인증 체계 추가시에도 모든 backend API가 이에 대한 처리를 추가해야 한다. 
   * [[https://medium.com/@Netflix_Techblog/embracing-the-differences-inside-the-netflix-api-redesign-15fd8b3dc49d|Embracing the Differences : Inside the Netflix API Redesign | by Netflix Technology Blog | Netflix TechBlog]] : Client <-> Server API 호출 구조 변경에 관한 설명   * [[https://medium.com/@Netflix_Techblog/embracing-the-differences-inside-the-netflix-api-redesign-15fd8b3dc49d|Embracing the Differences : Inside the Netflix API Redesign | by Netflix Technology Blog | Netflix TechBlog]] : Client <-> Server API 호출 구조 변경에 관한 설명
   * [[https://medium.com/netflix-techblog/optimizing-the-netflix-api-5c9ac715cf19|Optimizing the Netflix API. how we redesigned our API to help UI… | by Netflix Technology Blog | Netflix TechBlog]]   * [[https://medium.com/netflix-techblog/optimizing-the-netflix-api-5c9ac715cf19|Optimizing the Netflix API. how we redesigned our API to help UI… | by Netflix Technology Blog | Netflix TechBlog]]
java/zuul.txt · 마지막으로 수정됨: 2022/08/18 09:19 저자 kwon37xi