본문으로 건너뛰기

인증

GenD API는 Keycloak 기반 JWT Bearer 토큰 인증을 사용합니다. 퍼블릭 엔드포인트를 제외한 모든 API 요청에 인증이 필요합니다.

인증 흐름

  1. Keycloak에서 사용자 인증 후 JWT 토큰을 발급받습니다.
  2. API 요청 시 Authorization 헤더에 Bearer 토큰을 포함합니다.
  3. 서버에서 토큰의 서명, 만료, 권한을 검증합니다.

요청 형식

Authorization: Bearer eyJhbGciOiJSUzI1NiIs...

인증 불필요 엔드포인트

엔드포인트설명
GET /health서비스 헬스 체크
GET /metricsPrometheus 메트릭
POST /api/v1/abuse/webhook/falcoHMAC-SHA256 웹훅 (JWT 대신 HMAC 인증)

HMAC-SHA256 인증 (Relay)

DMZ의 gend-relay는 JWT 대신 HMAC-SHA256 서명을 사용합니다:

  • 요청 본문 + query string으로 서명을 생성합니다.
  • X-Signature 헤더에 서명을 포함합니다.
  • nonce 캐시로 재사용 공격을 방지합니다.

권한 수준

권한설명
user일반 사용자 (기본)
admin관리자 (정책 관리, 서버 관리 등)

에러 코드

코드설명
401토큰 누락 또는 만료
403권한 부족 (관리자 전용 엔드포인트)