コンシューマ
コンシューマとは何ですか?
コンシューマーは通常、 Kong Gatewayによって管理される API を消費または使用するエンティティを指します。コンシューマは、アプリケーション、サービス、またはAPIとやり取りするユーザーです。彼らは必ずしも人間ではないため、 Kong Gatewayは、サービスを「消費する」存在として彼らをコンシューマと呼びます。 Kong Gatewayを使用すると、コンシューマを定義および管理し、アクセス制御ポリシーを適用し、APIの使用状況を監視できます。
APIへのアクセスを制御し、使用状況を追跡し、セキュリティを確保するには、コンシューマが不可欠です。 これらは、Key Authentication、OAuth、またはその他の認証および承認メカニズムによって識別されます。たとえば、サービスまたはルートにBasic Authプラグインを追加すると、コンシューマを識別したり、認証情報が無効な場合はアクセスをブロックしたりできるようになります。
Kong Gatewayと既存のプライマリデータストア間の一貫性を保つには、Kong Gatewayをコンシューマのプライマリデータストアとして使用するか、 既存のデータベースにコンシューマリストをマップすることができます。
プラグインをコンシューマに直接添付することで、レート制限など、コンシューマレベルで特定の制御を管理できます。
flowchart LR A(Consumer entity) B(Auth plugin) C[Upstream service] Client --> A subgraph id1[Kong Gateway] direction LR A--Credentials-->B end B-->C
コンシューマ向けのユースケース
以下は、コンシューマの一般的なユースケースの例です。
ユースケース | 説明 |
---|---|
認証 | クライアント認証は、コンシューマを設定する主な理由です。認証プラグインを使用している場合は、認証情報を持つコンシューマが必要になります。 |
コンシューマグループ | 基準セットごとにコンシューマをグループ化し、特定のルールを適用します。 |
流量制限 | 階層に基づいて特定のコンシューマの流量制限をします。 |
コンシューマの管理
次の手順
コンシューマごとに認証情報が必要です。各認証方式に固有の手順については、認証プラグインを参照してください。プラグインを開き、 Using this plugin > Basic examples に移動し、目的のツールを選択して指示に従います。
よくある質問
認証情報とは何ですか、なぜ必要なのですか?
認証情報は、さまざまな認証メカニズムを介してコンシューマーを認証するために必要です。認証情報の種類は、使用する認証プラグインによって異なります。たとえば、Key AuthenticationプラグインにはAPIキーが必要であり、Basic Authプラグインにはユーザー名とパスワードのペアが必要です。
コンシューマとアプリケーションの違いは何ですか?
アプリケーションは、開発者に対してKong GatewayまたはKonnectによって管理されるAPIへのアクセス機能を提供するもので、 必要な認証情報を生成するためのKongの管理チームからのやり取りは必要ありません。コンシューマに関しては、Kongのチームはコンシューマを作り、認証情報を生成して、それをAPIにアクセスする必要がある開発者と共有する必要があります。 アプリケーションは、開発者が必要なAPIの認証情報を自動的に取得し、サブスクライブできるようにするKongの一種のコンシューマと考えることができます。
コンシューマと開発者の違いは何ですか?
開発者はDev Portalの実際のユーザーですが、コンシューマは抽象的概念です。コンシューマとRBACユーザーの違いは何ですか?
RBAC ユーザーは Kong Manager のユーザーですが、コンシューマはゲートウェイ自体のユーザー(実ユーザーまたは抽象ユーザー)です。コンシューマにスコープできるプラグインとは?
特定のプラグインは、サービス、ルート、またはグローバルではなく、コンシューマにスコープ設定できます。例えば、 特定のコンシューマに流量制限をかけるには、Rate Limitingプラグインを設定するか、Request Transformer プラグインを使用してそのコンシューマのリクエストを編集できます。 リスト一覧は、プラグインスコープの互換性リファレンスをご覧ください。認証プラグインをコンシューマにスコープできますか?
いいえ。認証情報を構成すると認証プラグインとコンシューマを関連付けることができます。たとえば、基本的な認証情報を持つコンシューマはBasic Authプラグインを使用します。 ただしそのプラグインは、ルート、サービス、またはグローバルのいずれかコンシューマがアクセス可能なものをスコープとする必要があります。コンシューマは Kuma/Mesh で使用されますか?
いいえ。decKでコンシューマを管理できますか?
はい、decKを使ってコンシューマを管理できますが、コンシューマの数が多い場合は注意してください。データベース内に多数のコンシューマが存在する場合は、decK を使用してそれらをエクスポートまたは管理しないでください。decK はエンティティ構成を管理するために構築されています。エンドユーザーのデータ用ではありません。 レコード数は簡単に数十万、数百万にまで増える可能性があります。