Kongのプラグインとは

Kong の大きな特徴は、「プラグイン」を追加することで、APIゲートウェイの機能を自在に拡張できることです。ここではKongのプラグインの代表的なものを紹介します。

  • 認証プラグイン:認証レイヤーを追加してAPIを保護
    • Basic:ユーザー名とパスワードの保護を使用して、APIにBasic認証を追加
    • キー:APIにキー認証(APIキー)を追加
    • OAuth2:OAuth 2.0認証を追加。Authorization Code Grant, Client Credentials, Implicit Grant, Resource Owner Password Credentials Grant flowなどのフローを用いる。
    • JWT:HS256またはRS256署名JSON Webトークンを含むリクエストを検証
    • HMAC:HMAC署名認証をAPIに追加して、コンシューマのIDを確立
    • LDAP:ユーザー名とパスワードの保護を使用して、APIにLDAPバインド認証を追加
  • セキュリティプラグイン:追加のセキュリティレイヤーでAPIを保護
    • ACL:任意のACLグループ名を使用して消費者をホワイトリストまたはブラックリストに登録することで、APIへのアクセスを制限
    • CORS:APIにクロスオリジンリソース共有(CORS)を追加
    • IP制限:IPアドレスをホワイトリストまたはブラックリストに登録することで、APIへのアクセスを制限
    • ボット検出:ボットまたは特定のHTTPクライアントを検出してブロック
    • SSL:基盤となるサービスにSSL証明書を追加
  • トラフィック制御プラグイン:インバウンドおよびアウトバウンドのAPIトラフィックを管理、調整、制限
    • レート制限:開発者が行うことができるHTTP要求の数を制限
    • 応答速度制限:カスタム応答ヘッダー値に基づく速度制限。
    • リクエストサイズ制限:特定のサイズよりも大きいボディを持つリクエストをブロック
  • Analytics&Monitoringプラグイン:APIとマイクロサービスのトラフィックを視覚化、検査、監視
    • Datadog、Galileo、Runscope:外部分析プラットフォームに統計データを送信します。
  • トランスフォーメーションプラグイン:リクエストと応答を変換
    • リクエスト変換:上流のサーバーにヒットする前に要求を変更
    • レスポンス変換:トランスフォーマー:上流の応答を変更してからクライアントに戻す
    • Correlation ID:一意のIDを使用してリクエストとレスポンスを相関させる
  • ロギングプラグイン:いくつかのプロトコルを使用してリクエストと応答データのログを記録
    • TCP、UDP、HTTP、ファイル、Syslog、StatsD、Loggly(ロギングSaaS)

この他にも AWS Lambda, Azure Functions, OpenWhisk などと連携する「サーバーレス」のプラグインなどもあります。独自の認証方式などに対応する場合はプラグインのカスタム開発をすることもできます。プラグインには Kong Community Edition で無償で利用できるものと、有償のKong Enterprise Edition で利用できるものがあります。詳しい情報は Kong Plugin Hub のページ(英語)をご参照 または弊社にお問い合わせください。