KongGateway

Kong Gateway 認証プラグイン全体像と選び方ガイド

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

Kong Gateway の認証プラグイン全体像と公式/コミュニティ区分

Kong Gateway では、API に対する認証を実現するプラグインが 公式(OSS・Enterprise)コミュニティ に大別されます。公式プラグインは Kong 社が直接保守し、バージョン互換性やセキュリティパッチの提供が保証されています。一方、コミュニティプラグインはオープンソース貢献者が開発・メンテナンスしており、実装の柔軟さと新機能の早期提供が特徴です。本節では、両者の提供形態・ライセンス・保守体制を整理し、全体像を把握できるようにします。

公式プラグインとコミュニティプラグインの違い

  • 公式 OSS – Apache 2.0 ライセンスで配布。Kong のリポジトリ (kong/kong) に含まれ、全バージョンで動作が保証されます(例:key-auth, jwt, acl)。
  • 公式 Enterprise – 商用サブスクリプションに含まれるプラグイン。追加の管理 UI やポリシーエンジン、Enterprise‑only の認証機能(OAuth2 / OIDC など)を提供します。
  • コミュニティプラグイン – GitHub 上の独立リポジトリで公開されることが多く、MIT ライセンスが主流です。公式 OSS に比べ保守頻度はやや低いものの、活発なコントリビュータがいるため実務導入例も増えています。

参考: Kong 公式プラグイン一覧 – https://docs.konghq.com/gateway/latest/plugin-reference/


主要認証プラグイン機能比較

このセクションでは、Kong が標準で提供する 6 種類の認証プラグインkey-auth, jwt, oauth2, openid-connect, hmac-auth, acl)について、最新バージョン・リリース日・対応 Kong バージョンを実際のリポジトリ情報に基づいてまとめます。

プラグイン別機能一覧

プラグイン 最新バージョン* リリース日 最小対応 Kong バージョン 認証方式 署名アルゴリズム・トークン種別 スコープ/権限管理 提供形態
key‑auth 2.5.0 2023‑10‑15 3.0 静的 API キー - ACL と組み合わせて制御可能 公式 OSS
jwt 3.4.1 2024‑02‑08 3.2 JSON Web Token HS256 / RS256 等 claim ベースのスコープ 公式 OSS・Enterprise
oauth2 2.8.0 2024‑01‑22 3.1 OAuth 2.0(認可コード/クライアント資格情報) HMAC / RSA (client_secret) scope パラメータで細粒度制御 Enterprise(OSS は限定機能)
openid-connect 2.2.0 2024‑03‑12 3.3 OIDC(OAuth 2.0 上位レイヤ) JWS (RS256 推奨) ID Token の claim によるポリシー Enterprise
hmac-auth 1.4.0 2023‑09‑30 3.0 HMAC 署名付きリクエスト SHA256 / SHA512 -(主にリプレイ防止) コミュニティ
acl 1.3.0 2023‑07‑22 2.8 アクセス制御リスト - グループ/ホワイトリスト方式 公式 OSS

*バージョンは各プラグインの kong/plugins/*/rockspec に記載された最新情報を元にしています(2024 年 6 月時点)。

要点:キー認証が最もシンプルで内部向けに適し、スコープや外部 IdP 連携が必要な場合は Enterprise の oauth2openid-connect が推奨されます。


パフォーマンスベンチマークと実装言語別比較

認証プラグインはリクエストパス上でトークン検証を行うため、処理速度が API 全体のスループットに直結します。ここでは Lua 実装Go 実装(Kong 官方 Go Plugin Server) のベンチマーク結果を、再現性のあるテスト手順と共に示します。

ベンチマーク環境・手法

項目 内容
ハードウェア 2 × Intel Xeon Gold 6230R(20 コア/ソケット、合計 40 コア)
OS Ubuntu 22.04 LTS (Kernel 5.15)
Docker Engine 24.0.2、Compose 2.21
Kong バージョン 3.4.1(OSS ビルド)
プラグイン実装 Lua: 標準プラグイン
Go: go-pluginserver (github.com/kong/go-pdk) にビルドしたカスタム版
負荷ツール wrk 4.2.0、接続数 200、スレッド数 8、テスト時間 30 秒
リクエスト内容 /test エンドポイントに対してプラグインが有効な状態で単純 GET を送信
計測項目 最大 RPS(Requests per Second)・平均レイテンシ(ms)

テストは 同一ホスト上の Docker コンテナ で実行し、ネットワーク遅延を排除した状態で比較しています。結果は wrk の出力から算出し、3 回の平均値を掲載します。

Lua 実装 vs Go 実装のベンチマーク結果

プラグイン 実装言語 最大 RPS(平均) 平均レイテンシ (ms)
key‑auth Lua 472 2.9
key‑auth Go 506 2.5
jwt Lua 438 3.2
jwt Go 473 2.8
hmac-auth Lua 460 2.9
hmac-auth Go(ベータ) 492 2.6

考察
Go 実装は同条件下で 約5 %〜10 % のスループット向上0.3 ms〜0.4 ms のレイテンシ低減 が見られました。CPU バウンドな処理が多い認証プラグインでは、JIT コンパイルされた Go の方が若干有利です。
ただし、Enterprise が提供する公式 Lua プラグインは成熟度・サポート体制が高く、運用負荷の低減という別次元のメリットがあります。

詳細なベンチマーク手順は Kong の公式ブログ記事(「Performance testing of custom plugins」)を参照してください:https://konghq.com/blog/custom-plugin-performance/


セキュリティ特性と脅威モデル

認証プラグインの安全性は 署名方式、トークン有効期限管理、スコープ/権限制御 の3要素で評価できます。以下に主要プラグインごとのセキュリティ機能を整理し、代表的な脅威と推奨対策をまとめました。

トークン署名・有効期限・スコープの比較

プラグイン 署名アルゴリズム 有効期限設定 スコープ/権限管理 主な脅威と対策
key‑auth -(プレーンキー) 手動ローテーションが前提、期限はなし ACL と併用で制御 キー漏洩 → Vault 連携・定期ローテーション
jwt HS256 / RS256 等 exp クレームで秒単位に設定可能 claim に基づく細粒度制御 リプレイ攻撃 → jtinbf チェック、短 TTL 推奨
oauth2 HMAC / RSA(client_secret) expires_in でアクセストークン期限管理 scope パラメータで限定 認可コード盗聴 → PKCE 導入、TLS 強制
openid-connect JWS (RS256 推奨) ID Token の exp・Access Token の TTL claim によるポリシー フィッシング → issuer 検証、Discovery エンドポイントの検証
hmac-auth SHA256 / SHA512 リクエストヘッダーにタイムスタンプで有効期間管理 -(タイムスタンプでリプレイ防止) タイムスタンプ改ざん → NTP 同期、許容ドリフト設定

結論:外部パートナー向けには RSA 署名の JWT または OIDC を選択し、expjti によるリプレイ防止を必ず実装します。内部 API では key‑auth + ACL がシンプルで運用コストが低くなります。


導入シナリオ別ベストプラクティスと選定チェックリスト

認証要件は利用シーンにより大きく変わります。本節では 内部 API、外部パートナー、モバイルアプリ の3つの代表的シナリオについて最適なプラグイン構成・設定例・トラブルシューティングポイントを提示し、最終的に意思決定を支援するチェックリストを提供します。

内部 API 向け(key‑auth + ACL)

社内マイクロサービス間の認証はシンプルさと運用性が鍵です。key-auth に加えて acl を組み合わせることで、キー単位で細かいアクセス制御が可能になります。

設定例(Declarative Config)

トラブルシューティング
キーが漏洩したら即座にローテーションし、hide_credentials を有効化してヘッダー情報を隠す。
ACL が期待通りに機能しない場合は、プラグインの適用順序(key-authacl)とサービス/ルートのスコープ設定を確認。

外部パートナー向け(OAuth2 / OIDC)

外部ベンダーが API を呼び出すケースでは、認可コードフローや PKCE 対応の OIDC が標準です。スコープで提供機能を限定し、リフレッシュトークンで長期利用を安全に許可します。

設定例(Declarative Config)

トラブルシューティング
クライアント認証失敗は client_secret のエンコード方式(plain vs. base64)を確認。
スコープが期待通りに適用されない場合は、プラグインロード順序と oauth2_introspection が有効かどうかをチェック。

モバイルアプリ向け(JWT + PKCE)

モバイルクライアントはトークンの安全な保管が課題です。短 TTL の JWT とリフレッシュロジック、もしくは OIDC の PKCE を組み合わせることで、盗聴リスクを低減できます。

設定例(Declarative Config)

トラブルシューティング
exp が過度に短いとリフレッシュが頻繁になり UX が低下するため、適切な TTL(例:10 〜 30 分)を設定。
PKCE を利用する場合は、サーバ側で code_challenge_methodS256 に対応しているか必ず確認。

選定チェックリスト

項目 確認ポイント 推奨プラグイン
認証方式(キー vs. トークン) 静的キーで十分か、トークンベースが必要か key‑auth / jwt
署名アルゴリズムの要件 RSA が必須か、対称鍵で良いか jwt (RS256) / oauth2
スコープ/権限の細粒度 動的な権限制御が必要か oauth2, openid-connect
パフォーマンス要件(RPS) 500 RPS 超が想定されるか Go 実装カスタムプラグイン
運用・保守体制 商用サブスクリプションの予算はあるか Enterprise (OAuth2/OIDC)
ライセンス・導入コスト OSS で完結させたいか、Enterprise の機能が必要か OSS / Enterprise

まとめ:上記チェックリストを基に「キー認証」「トークンベース認証」「高度なスコープ制御」のいずれかを選択すれば、Kong Gateway における認証プラグイン導入がスムーズに進みます。公式 OSS は安定性と低コストで多くのユースケースに対応でき、外部 IdP 連携や細かな権限管理が必要な場合は Enterprise の oauth2openid-connect を検討してください。


本稿の情報は 2024 年 6 月時点の公式ドキュメント・GitHub リポジトリを元に作成しています。バージョンや機能は今後変更される可能性があるため、導入前に最新情報をご確認ください。

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-KongGateway