320x100
320x100

인가

- API 서비스가 제공하는 기능별로 사용자의 권한을 관리하는 것

 : 유료사용자와 무료사용자의 차이를 두는 것과 같은 기능

 

 

API 인가 방식

RBAC (Role Based Acces Control)

- 사용자의 역할(Role)을 기반으로 권한을 부여하는 방식

 : 정해진 Role에 권한을 연결하고 위임

 : Rloe에 권한을 매핑하고 Object에 Role을 부여

 

 

 

 

ACL (Access Control List)

- 사용자에게 직접 권한을 부여하는 방식

 

 

※ 인가는 API Access Token을 이용하여 사용자 정보를 조회하고 

   사용자 정보에 연관된 권한 정보를 받아서 이 권한 정보를 기반으로 

    API 사용권한을 허가하는 방법으로 진행된다. 

 

 

 

 

 

API 인가 처리 위치

클라이언트

- API를 호출하는 클라이언트 쪽에서 인가 처리하는 방식

 : 세션 내의 사용자 ID와 요청하는 사용자 ID가 일치할 경우에만 API 호출

 

 

 

 

 

API Gateway

- 게이트웨이에서 인가를 처리하는 방식

 1. 클라이언트로 부터 API Access Token을 받는다

 2. API Access Token을 사용자 정보와 권한 정보로 API token Management 정보를 이용하여 변환

 3. 변환 후 인가 처리를 거쳐 API 서버로 전송

=> 구현이 쉽지않아 주로 서버에서 처리로 구현

 

 

 

 

 

API서버

- 가장 일반적이고 보편적인 방법

 1. 클라이언트에서 API Access Token을 전송

 2. Gateway에서 Access Token을 궈한 인가에 필요한 사용자 ID, ROLE 등으로 변환하여 서버에 전달

 

 

 

 

 

 

기타 API 보안

네트워크 레벨 암호화

- 네트워크 프로토콜 단에서 

 : 사용자와 API 서비스 제공자 간 주고받는 데이터를 암호화하는 기능

 : HTTPS와 같은 보안 프로토콜

 

 

 

메시지 보호

- 사용자와 API 서비스 제공자 간 주고받는 메시지 자체를 보호하는 것

 : 해싱 함수 등을 이용하여 메시지의 무결성 보장

 : 대칭키, 공개키 등을 이용한 암호화 

 

 

 

 

 

 

Refference

 

REST API의 이해와 설계-#3 API 보안

REST API의 이해와 설계 #3 API 보안 REST API 보안 API 보안에 대해서는 백번,천번을 강조해도 과함이 없다. 근래에 대부분의 서비스 시스템들은 API를 기반으로 통신을 한다. 앱과 서버간의 통신 또는

bcho.tistory.com

 

REST API 보안_인가(Authorization)

2019/06/07 - [프로그래밍 노트/WEB] - REST API 보안_인증(Authentication) 2019/05/30 - [프로그래밍 노트/WEB] - REST API 보안_1 ※ 모든 REST API보안관련된 내용은 거의 내용이 비슷하다고 봐도 무방할정도..

blog.cornsworld.co.kr

 

 

[API] REST API 보안

1. 인증 - API 서비스를 사용하고자 하는 대상자가 서비스 사용이 가능한지 여부를 확인하는 것을 의미한다. (일반적인 웹서비스에 로그인과 동일한 기능이다.) 1-1. API Key 가장 기초적인 방법으로

digitalbourgeois.tistory.com

 

300x250
728x90