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 보안과 관리에 있어서 필수적인 요소입니다. 그 이유는 다음과 같습니다.
- 첫째, Key Authentication 을 통해 무단 접근을 방지할 수 있습니다. 사전에 발급된 고유 키를 통해서만 API에 접근할 수 있기 때문에, 인증되지 않은 사용자가 API를 이용하는 것을 차단할 수 있습니다.
- 둘째, Key Authentication은 사용자별로 접근 권한을 세밀하게 관리할 수 있게 해줍니다. 각 사용자에게 고유한 키를 할당하여, 특정 사용자나 애플리케이션이 어떤 API에 접근할 수 있는지 제어할 수 있습니다.
- 셋째, 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 플러그인을 활성화 할 수 있습니다.


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

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

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

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 카테고리를 확인해보세요.
댓글을 달려면 로그인해야 합니다.