마이크로서비스 아키텍처는 각 서비스가 독립적으로 동작하므로, 보안을 한 곳에서 집중적으로 처리하는 것이 중요하다.
이때 핵심적인 역할을 하는 것이 바로 API Gateway의 인증 및 인가 처리이다.
API Gateway의 역할

API Gateway는 애플리케이션의 클라이언트와 백엔드 서비스 간의 통신을 중개한다.
모든 API 요청이 Gateway를 통과하므로 인증, 인가, 로깅, 라우팅, 로드 밸런시 등 다양한 기능을 이곳에서 집중적으로 수행할 수 있다.
인증(Authentication) 처리
🔑 인증이란?
사용자가 누구인지 신원을 확인하는 절차
🔐 인증 방식
방식 | 설명 |
Basic Authentication | 사용자명/비밀번호를 헤더에 실어 요청 |
Token-based (JWT) | 로그인 시 발급된 토큰을 통해 인증 |
OAuth/OpenID Connect | 제3자 인증 시스템 연동 (ex. 구글 로그인 등) |
API Gateway에서 인증의 역할
- 모든 요청에 대해 인증 토큰 또는 자격을 심사
- 유효하지 않은 요청은 백엔드로 전달하지 않고 차단
📌 예시: JWT 인증 흐름
- 사용자가 로그인 -> JWT 발급
- 이후 요청마다 Authorization 헤더에 JWT 포함
- Gateway는 해당 JWT의 유효성 검증 후 라우팅
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6...
인가(Authorization) 처리
📌 인가란?
인증된 사용자가 어떤 리소스에 접근할 수 있는지 권한을 확인하는 절차이다.
🎯 인가 방식
방식 | 설명 |
역할 기반 접근 제어(RBAC: Role-Based Access Control) | 역할(Role)에 따라 자원 접근 제어 |
속성 기반 접근 제어(ABAC: Attribute-Based Access Control) | 사용자 속성, 요청 컨텍스트 기반 제어 |
정책 기반 접근 제어(PBAC: Policy-Based Access Control) | 정책 기반으로 동적 조건을 반영한 제어 |
API Gateway에서 인가의 역할
- 인증된 사용자가 어떤 API, 메서드, 자원에 접근할 수 있는지 확인
- ex: /admin/** 경로는 ADMIN 역할을 가진 사용자만 접근 가능
인증 및 인가 구현을 위한 패턴
1️⃣ 직접 인증

API Gateway 내부에서 토큰 검증 및 권한 체크까지 처리한다.
✅ 장점
- 빠른 응답
- 서비스에 부담 없음
❌ 단점
- Gateway에 인증 로직이 복잡해질 수 있음
2️⃣ 토큰 전달

Gateway는 단순히 토큰을 전달하고, 실제 검증은 백엔드가 수행한다.
✅ 장점
- 인증 로직을 각 서비스에 위임 가능
❌ 단점
- 인증 중복 로직
- 보안 분산
3️⃣ 외부 인증 서비스 사용

Gateway가 외부 인증 서버(Auth Server)와 통신하여 검증을 수행한다.
✅ 장점
- 중앙 집중화
- 유연한 확장성
❌ 단점
- 외부 인증 서버 의존성
4️⃣ API 키 관리

특정 클라이언트별로 발급된 API Key를 이용한 접근 제어 방식이다.
✅ 장점
- 외부 공개 API에 적합
❌ 단점
- 권한 세분화 어려움
🚨 API Gateway에서 인증/인가 처리의 중요성
항목 | 설명 |
보안 강화 | 중앙에서 요청 제어, 악의적 접근 차단 |
확장성 | 보안 로직이 서비스에서 분리되어 유연한 구조 구성 |
효율적 유지보수 | 인증 로직 일원화 -> 서비스별 코드 최소화 |
사용자 경험 향상 | 빠른 실패 응답으로 UX 향상 |
규정 준수 | GDPR, HIPAA 등 규정 대응에 용이 |
'아키텍처 & 설계(Architecture & Design) > MSA' 카테고리의 다른 글
[API Gateway] API Gateway 라우팅 (0) | 2025.04.01 |
---|---|
[API Gateway] API Gateway 프록시 서버 개념과 역할 (0) | 2025.03.31 |
[API Gateway] API Gateway 개념 (0) | 2025.03.30 |
MSA 멀티 모듈 설정 (0) | 2024.04.24 |
마이크로서비스 아키텍처는 각 서비스가 독립적으로 동작하므로, 보안을 한 곳에서 집중적으로 처리하는 것이 중요하다.
이때 핵심적인 역할을 하는 것이 바로 API Gateway의 인증 및 인가 처리이다.
API Gateway의 역할

API Gateway는 애플리케이션의 클라이언트와 백엔드 서비스 간의 통신을 중개한다.
모든 API 요청이 Gateway를 통과하므로 인증, 인가, 로깅, 라우팅, 로드 밸런시 등 다양한 기능을 이곳에서 집중적으로 수행할 수 있다.
인증(Authentication) 처리
🔑 인증이란?
사용자가 누구인지 신원을 확인하는 절차
🔐 인증 방식
방식 | 설명 |
Basic Authentication | 사용자명/비밀번호를 헤더에 실어 요청 |
Token-based (JWT) | 로그인 시 발급된 토큰을 통해 인증 |
OAuth/OpenID Connect | 제3자 인증 시스템 연동 (ex. 구글 로그인 등) |
API Gateway에서 인증의 역할
- 모든 요청에 대해 인증 토큰 또는 자격을 심사
- 유효하지 않은 요청은 백엔드로 전달하지 않고 차단
📌 예시: JWT 인증 흐름
- 사용자가 로그인 -> JWT 발급
- 이후 요청마다 Authorization 헤더에 JWT 포함
- Gateway는 해당 JWT의 유효성 검증 후 라우팅
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6...
인가(Authorization) 처리
📌 인가란?
인증된 사용자가 어떤 리소스에 접근할 수 있는지 권한을 확인하는 절차이다.
🎯 인가 방식
방식 | 설명 |
역할 기반 접근 제어(RBAC: Role-Based Access Control) | 역할(Role)에 따라 자원 접근 제어 |
속성 기반 접근 제어(ABAC: Attribute-Based Access Control) | 사용자 속성, 요청 컨텍스트 기반 제어 |
정책 기반 접근 제어(PBAC: Policy-Based Access Control) | 정책 기반으로 동적 조건을 반영한 제어 |
API Gateway에서 인가의 역할
- 인증된 사용자가 어떤 API, 메서드, 자원에 접근할 수 있는지 확인
- ex: /admin/** 경로는 ADMIN 역할을 가진 사용자만 접근 가능
인증 및 인가 구현을 위한 패턴
1️⃣ 직접 인증

API Gateway 내부에서 토큰 검증 및 권한 체크까지 처리한다.
✅ 장점
- 빠른 응답
- 서비스에 부담 없음
❌ 단점
- Gateway에 인증 로직이 복잡해질 수 있음
2️⃣ 토큰 전달

Gateway는 단순히 토큰을 전달하고, 실제 검증은 백엔드가 수행한다.
✅ 장점
- 인증 로직을 각 서비스에 위임 가능
❌ 단점
- 인증 중복 로직
- 보안 분산
3️⃣ 외부 인증 서비스 사용

Gateway가 외부 인증 서버(Auth Server)와 통신하여 검증을 수행한다.
✅ 장점
- 중앙 집중화
- 유연한 확장성
❌ 단점
- 외부 인증 서버 의존성
4️⃣ API 키 관리

특정 클라이언트별로 발급된 API Key를 이용한 접근 제어 방식이다.
✅ 장점
- 외부 공개 API에 적합
❌ 단점
- 권한 세분화 어려움
🚨 API Gateway에서 인증/인가 처리의 중요성
항목 | 설명 |
보안 강화 | 중앙에서 요청 제어, 악의적 접근 차단 |
확장성 | 보안 로직이 서비스에서 분리되어 유연한 구조 구성 |
효율적 유지보수 | 인증 로직 일원화 -> 서비스별 코드 최소화 |
사용자 경험 향상 | 빠른 실패 응답으로 UX 향상 |
규정 준수 | GDPR, HIPAA 등 규정 대응에 용이 |
'아키텍처 & 설계(Architecture & Design) > MSA' 카테고리의 다른 글
[API Gateway] API Gateway 라우팅 (0) | 2025.04.01 |
---|---|
[API Gateway] API Gateway 프록시 서버 개념과 역할 (0) | 2025.03.31 |
[API Gateway] API Gateway 개념 (0) | 2025.03.30 |
MSA 멀티 모듈 설정 (0) | 2024.04.24 |