본문 바로가기
system_fundamentals/security_cryptography

API Gateway 인증 구조

by 죄니안죄니 2026. 5. 20.
반응형
 
API Gateway 인증 구조
API Gateway 인증 구조API Gateway 인증 구조
 
 

API Gateway(API gateway) 인증 구조는 한 줄로 말하면:

모든 외부 요청의 인증·인가·보안 처리를
MSA 앞단에서 중앙화하는 구조
 

다.


왜 API Gateway가 필요하냐?

MSA 환경에서는:

서비스 수십~수백 개
 

존재.

예:

  • user-service
  • order-service
  • payment-service
  • inventory-service

문제

각 서비스마다:

  • JWT 검증
  • Rate Limit
  • 로깅
  • CORS
  • 인증

전부 구현하면 중복 지옥.


그래서 등장

API Gateway
 

기본 구조

Client
↓
API Gateway
↓
MSA Services
 

Gateway 역할

엄청 많다.

기능설명
인증(Authentication) JWT 검증
인가(Authorization) 권한 체크
Routing 서비스 전달
Rate Limit 요청 제한
Logging 중앙 로그
WAF 보안
CORS 브라우저 정책

가장 중요한 건 인증 중앙화


전체 인증 흐름

1. 로그인
2. JWT 발급
3. API 호출
4. Gateway 검증
5. 내부 서비스 전달
 

STEP 1 — 로그인

사용자는:

  • OAuth2
  • OIDC
  • Login API

등으로 로그인.


인증 서버(IdP)가 JWT 발급

예:

 
{
  "sub":"123",
  "role":"ADMIN"
}
 

STEP 2 — API 요청

 
Authorization: Bearer JWT
 

STEP 3 — Gateway JWT 검증

Gateway가:

서명 검증
만료 확인
Issuer 확인
 

수행.


여기서 중요

보통:

Gateway가 Public Key 보유
 

한다.


즉:

JWT 위조 여부 검증
 

가능.


STEP 4 — 사용자 정보 추출

Gateway가:

  • userId
  • role
  • scope

등 읽음.


STEP 5 — 내부 서비스 전달

예:

 
X-User-Id: 123
X-Role: ADMIN
 

추가 가능.


그래서 내부 서비스는 단순화 가능


그런데 중요한 현실

Gateway만 믿으면 위험
 

하다.


왜?

내부 서비스 직접 호출 가능할 수 있음.


그래서 실무에서는

Gateway 검증
+
서비스 자체 검증
 

둘 다 하는 경우 많다.


Zero Trust 방향

현대 구조는:

내부망도 신뢰 안 함
 

즉 서비스도 JWT 재검증 가능.


Gateway 인증 방식 종류


1. JWT 검증 방식

가장 흔함.


Gateway가:

JWT Signature 검증
 

만 수행.


장점

빠름.


단점

권한 변경 즉시 반영 어려움.


2. Introspection 방식

OAuth2 표준.

OAuth 2.0 Token Introspection


Gateway가 매 요청마다

인증 서버에:

"이 토큰 살아있나?"
 

질문.


장점

즉시 revoke 가능.


단점

느림.


현실은 혼합

보통:

JWT 자체 검증
+
Redis blacklist
 

조합.


API Gateway 대표 제품

제품특징
Kong 가장 유명
NGINX Gateway Nginx 기반
Spring Cloud Gateway Spring
Apigee Google
AWS API Gateway AWS

Spring Cloud Gateway

Spring 실무 많이 사용.


JWT 필터 예시

 
public class JwtFilter
    extends GatewayFilterFactory {
}
 

보통 여기서:

  • JWT 검증
  • 사용자 추출

처리.


Gateway에서 자주 하는 것

1. Rate Limiting

예:

IP당 초당 10회
 

2. WAF 연동

SQL Injection/XSS 차단.


3. TLS Termination

HTTPS 종료.


4. Central Logging

모든 요청 추적.


Gateway의 위험

중요.


단일 장애점(SPOF)

Gateway 죽으면:

전체 서비스 영향
 

그래서 보통 HA 구성

  • Load Balancer
  • Multi Instance

사용.


Gateway만 권한 처리하면 안 되는 이유

예:

/admin 접근 허용
 

Gateway에서 했더라도,

내부 서비스 직접 접근 가능하면 위험.


그래서 서비스도 검증

 
@PreAuthorize("hasRole('ADMIN')")
 

같이 추가.


실무 추천 구조


외부 사용자

OAuth2/OIDC 로그인
 

Gateway

JWT 검증
RateLimit
WAF
Logging
 

내부 서비스

세부 권한 검증
 

서비스 간

mTLS/JWT
 

핵심 한 줄

API Gateway 인증 구조는:

모든 외부 요청을 Gateway가 먼저 받아
JWT/OAuth2 기반 인증·보안·라우팅을 중앙 처리하고,
필요 시 각 마이크로서비스도 추가 검증을 수행하는
MSA 중심의 인증 아키텍처
 

다.

반응형

'system_fundamentals > security_cryptography' 카테고리의 다른 글

Kubernetes Secret 문제  (0) 2026.05.20
TLS 종료 위치  (0) 2026.05.20
MSA 환경 JWT 문제  (0) 2026.05.20
대규모 서비스의 인증 구조  (0) 2026.05.20
WAF  (0) 2026.05.20

댓글