Kong API Gateway 의 Key Authentication을 통해 API 인증 구현

Kong API Gateway 의 Key Authentication 플러그인은 API 관리 및 인증을 위한 강력한 도구로, Key Authentication을 통해 안전하고 효율적인 API 인증을 구현할 수 있습니다.
이 블로그 포스트에서는 Kong API Gateway의 Key Authentication을 설정하고 활용하는 방법을 단계별로 설명합니다. 이를 통해 API 보안을 강화하고, 효율적인 API 관리를 실현하는 방법을 가이드합니다.

목차

1. Kong API Gateway Key Authentication
 1-1. Key Authentication의 개념
 1-2. Key Authentication의 필요성
2. Kong API Gateway에서 Key Authentication 설정하기
 2-1. Key Authentication 플러그인 활성화
 2-2. Kong API Gateway API 요청에 Key Authentication 적용

1. Kong API Gateway Key Authentication

1-1. Key Authentication의 개념

Key Authentication은 Kong API Gateway 의 API 요청을 인증하는 방법 중 하나로, 사용자가 사전에 발급받은 고유 키를 통해 API에 접근하는 방식입니다.
이 키는 API 클라이언트에게 할당되며, 클라이언트는 API 요청 시 이 키를 포함하여 인증 절차를 거칩니다. 이를 통해 API 서버는 요청이 유효한 클라이언트로부터 온 것인지 확인할 수 있습니다.
Key Authentication 플러그인은 간단하면서도 효과적인 인증 방법으로, API 보안을 강화하는 데 중요한 역할을 합니다.

1-2. Key Authentication의 필요성

Key Authentication은 API 보안과 관리에 있어서 필수적인 요소입니다. 그 이유는 다음과 같습니다.

  1. 첫째, Key Authentication 을 통해 무단 접근을 방지할 수 있습니다. 사전에 발급된 고유 키를 통해서만 API에 접근할 수 있기 때문에, 인증되지 않은 사용자가 API를 이용하는 것을 차단할 수 있습니다.
  2. 둘째, Key Authentication은 사용자별로 접근 권한을 세밀하게 관리할 수 있게 해줍니다. 각 사용자에게 고유한 키를 할당하여, 특정 사용자나 애플리케이션이 어떤 API에 접근할 수 있는지 제어할 수 있습니다.
  3. 셋째, API 사용량을 모니터링하고 분석하는 데 도움이 됩니다. 키를 통해 어떤 사용자가 얼마나 자주 API를 사용하는지 추적할 수 있어, API의 효율성을 높이고 문제를 조기에 감지할 수 있습니다.

이러한 Kong API Gateway Key Authentication 플러그인 설정을 통해 전반적인 API 관리와 보안을 크게 강화할 수 있습니다.

2. Kong API Gateway에서 Key Authentication 설정하기

Kong Manager 를 통해 Kong API Gateway의 Key Authentication을 손쉽게 구현할 수 있습니다.
Kong Manager 를 설치하는 가이드는 NGINX STORE의 블로그 포스트 “Kong Manager OSS: 사용법, 기능, GUI 소개” 를 참고하세요.

2-1. Key Authentication 플러그인 활성화

Kong Manager 대시보드 좌측 Plugins 탭에서 Key Authentication 플러그인을 활성화 할 수 있습니다.

Kong API Gateway에서 Key Authentication 설정하기 - 1
Kong API Gateway에서 Key Authentication 설정하기 - 2

Enable 버튼을 클릭하고 Key Authentication 플러그인 활성화를 위한 필드를 입력합니다.
Key Authentication 플러그인을 Kong API Gateway Gateway Services에 적용하기 위해 적용 유형을 Scoped로 설정합니다.

Kong API Gateway에서 Key Authentication 설정하기 - 3

하단으로 이동하여 인증 Key가 포함될 위치를 지정합니다. (Body, Header, Query)
해당 가이드에서는 Key를 Header와 Query에 포함 시킵니다.

Kong API Gateway에서 Key Authentication 설정하기 - 4

Key Authentication 플러그인 활성화를 확인합니다.

Kong API Gateway에서 Key Authentication 설정하기 - 5

2-2. Kong API Gateway API 요청에 Key Authentication 적용

Consumers 탭으로 이동해 Key Authentication 플러그인에 사용될 특정 Consumer를 위한 API Key를 발급합니다.
Cousumers가 존재하지 않으면 “+ New Consumer” 버튼을 클릭해 Consumers를 생성합니다.

Credentials 탭에서 “+ New Key Auth Credential” 버튼을 클릭하여 Key Authentication에 사용될 Credential을 생성합니다.

apiKey 헤더 value에 삽입될 Credential을 입력합니다.

생성한 Credential을 통해 2-1. Key Authentication 플러그인 활성화 목차에서 Key Authentication 플러그인을 활성화한 Gateway Services로 접속한 뒤 Key Authentication 적용을 확인합니다.

# curl http://devbinx.com:8000/v3 // Kong G/W Address

APIKey를 Header에 포함하여 재요청을 진행합니다.

# curl http://devbinx.com:8000/v3 -H "apiKey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"

결론적으로, Key Authentication은 API 보안과 관리에 있어 필수적인 요소로, 무단 접근 방지, 세밀한 접근 권한 관리, 사용량 모니터링 및 분석 등의 이점을 제공합니다.
이를 통해 API의 안정성과 효율성을 높이고, 보다 안전한 서비스 운영을 실현할 수 있습니다. Kong API Gateway 의 Key Authentication을 통해 API 보안을 강화하고, 효율적인 관리 체계를 구축해 보세요.

Kong Gateway의 다양한 정보를 확인하고 싶으신가요? NGINX STORE의 Kong 카테고리를 확인해보세요.

NGINX STORE를 통한 솔루션 도입 및 기술지원 무료 상담 신청

* indicates required