本日、Kong Gateway の注目すべきリリース、Kong Gateway 2.7 の一般提供を発表させていただきます! Kong Gateway および Kong Gateway OSS 2.7 は、ご希望の配布チャネルで入手可能です。
今回の Kong Gateway のリリースには、3 つの主要な分野に対応するための基盤となる、いくつかの重要な機能が含まれています。
- スケール – API コンシューマーのグループをスケールで管理し、これらのグループを “API tiers” (API の階層) として公開します。
- セキュリティ – Gateway のオペレーションおよびプラグインで使用される “secret” を安全に保管し、極めて重要なキーを不正使用から保護します。
- コンプライアンス – FIPS コンプライアンスを達成しつつある将来性のある技術として、企業が Kong を活用できるようにします。
今回の Kong Gateway 2.7 のリリースでは、これら 3 つの領域すべてにおいて大きく前進する新機能が導入されています。この記事では、これらの各分野についてご紹介し、Kong Gateway 2.7 リリースの新機能を探求していきます。また、最も人気のあるプラグイン、Kong OpenID Connect (OIDC) プラグインを設定するために Kong Manager UI に導入された新しい生産性の向上についても説明します。
スケール – API Consumer Groups (Enterprise)
多くのユーザーは、API を保護するために Kong Gateway を導入しています。保護には、認証、承認、レート制限、IP 制限、その他のメカニズムなど、さまざまな形態があります。 これらを保護するため、グループ単位で実施する機能は、お客様からの要望の 1 つでした。
たとえば、開発者は “gold” “silver” “bronze” といったユーザー (またはコンシューマー) の “tier”(階層) を作り、それぞれに異なるレート制限を設けたいかもしれません。Kong Gateway では、各階層に属するコンシューマーに特定の料金制限を設定することで、このような機能を提供することが可能でしたが、この方法は機能的に限界がありました。
Kong Gateway 2.7 では、コンシューマーのグループ、つまり “consumer groups” (コンシューマー グループ)という正式な概念を導入しています。これにより、コンシューマーを “gold tier” のグループまたは “silver tier” のグループに割り当て、それらの各ティアに対して「1 秒あたり 10 リクエスト」などのレート制限設定を設定することができ、コンシューマーのコレクション/グループに対してレート制限を効果的に適用することができます。その後、これらのグループを Gateway 構成の特定のルート/サービスに割り当てることができます。
また、コンシューマーは複数のグループに割り当てることができます。つまり、あるユーザーを QR コード生成サービス (gold_limited_light_cpu) 用に “gold with 10 requests per second” (1 秒あたり 10 リクエストのゴールド) のようなグループに割り当て、さらに OCR (gold_limited_heavy_cpu) 用に “silver with 2 requests per minute” (1 秒あたり 2 リクエストのシルバー) のようなグループに割り当て、それぞれのグループを使用する API を分割することができます。以下の図をご確認ください。
図 1: Rate Limiting Advanced (高度なレート制限) プラグインのコンシューマー グループ
この新機能は、関連するコンシューマーを一箇所に集中させることで設定を簡素化し、データベースまたは Declarative Configuration (宣言型構成)で関連するコンシューマー グループを作成することで Kong Gateway のパフォーマンスを向上させます。詳しくは、コンシューマー グループの例をご覧ください。Rate Limiting Advanced (高度なレート制限) のプラグイン インスタンスは、コンシューマー グループへの最初のステップになります。将来的には、他のプラグインにもこの機能を追加する予定ですので、ご期待ください。
セキュリティ – Secrets Management (Enterprise)
シークレットとは、Kong Gateway の操作やプラグイン設定において、認証や認可のために使用する一連の認証情報です。シークレットの例としては、ユーザー名/パスワード、API トークン、データベース認証情報、秘密鍵などがあります。オペレーターの観点からは、このような機密情報の不正使用を防ぎ、必要に応じて暗号化された形式で保存する必要があります。Kong Gateway 2.7 では、いくつかの機能を追加しました。以下は一部の追加機能になります。
- キーリングとデータ暗号化のメカニズムを拡張し、より多くのプラグインとその関連したコンフィギュレーション (シークレットを含む場合があります) が、保存されているデータの暗号化メカニズムを利用できるようになりました。つまり、より多くのプラグインがシークレットを保護することができます。
- Kong のハイブリッド デベロップメント モードでデータ プレーンの保存時に config.cache.json.gz 構成キャッシュを暗号化する機能を追加しました。kong.conf の新しいコンフィギュレーションである data_plane_config_cache_mode を “encrypted” に設定すると、設定キャッシュを安全に保存し、オプトインすることができます。
コンプライアンス – FIPS コンプライアンス エンタープライズへのパス (Enterprise)
Kong Gateway の主要ライブラリである OpenSSL を FIPS 140-2 暗号ライブラリ (BoringCrypto aka BoringSSL) に変更し、暗号基盤の入れ替えを開始しました。これは FIPS 140-2 準拠への一歩であり、さらに多くの変更が予定されています。
もう 1 つの追加機能 (Enterprise)
OpenID Connect を使い始めるために必要な最小限のコンフィギュレーションを特定することは、特にこのプロトコルに初めて触れる開発者にとっては、非常に困難な作業となる場合があります。Kong Gateway 2.7 では、Kong Gateway で OIDC (OpenID Connect) プラグインを設定するための、より合理的で組織的なアプローチを提供します。必要に応じてより多くのカスタム設定を追加することが可能でありながら、OIDC を設定し、実行するための最も一般的な方法を示すことで、アイデンティティ プロバイダーとのシングル サインオンをより迅速に構築することができます。OpenID Connect と Kong の OIDC プラグインとの連携についての詳細は、こちらのドキュメントをご覧ください。
図 2: 新しくなった OIDC プラグインのコンフィギュレーション
リリースへのさらなる探求
- SNI (Server Name Indication) に基づく TLS トラフィックのルーティングを新たにサポートしています。
- Kong Gateway が Debian 10 および 11 で利用可能になりました。
- OpenID Connect を使用して Kong Manager を保護する場合、最初のログイン時に管理者が作成され、そのグループ メンバーシップに基づいて役割が割り当てられるようになりました。
- このリリースでは、プラグイン イテレータの改善、Kong コア コンテキストの読み取り/書き込みの簡素化、DB レス コンフィギュレーションを再読み込む際の待ち時間の短縮など、パフォーマンスの向上に取り組みました。
Kong プラグインの機能、向上、更新の完全なリストは、Kong Gateway の CHANGELOG でご確認ください。Kong Gateway OSS はこちらからお申込みいただけます。
Kong Gateway 2.7 は、無料ダウンロードが可能です。すでに Kong Gateway をインストールしていただいている場合は、アップグレード ガイドに従って 2.7 にアップグレードすることができます。このリリースについてもっと知りたい方は、是非次回のウェビナーにご参加ください。
Kong Enterprise の概要、価格、およびライセンス体系などの詳細は、こちらを参照してください。
記事参照: 2021 年 12 月 16 日
Paul Fischer
© Kong Inc. 2021
「Kong Gateway 2.7 Is Here and Ready!」