コンテンツにスキップ
Kong Logo | Kong Docs Logo
  • ドキュメント
    • API仕様を確認する
      View all API Specs すべてのAPI仕様を表示 View all API Specs arrow image
    • ドキュメンテーション
      API Specs
      Kong Gateway
      軽量、高速、柔軟なクラウドネイティブAPIゲートウェイ
      Kong Konnect
      SaaSのエンドツーエンド接続のための単一プラットフォーム
      Kong AI Gateway
      GenAI インフラストラクチャ向けマルチ LLM AI Gateway
      Kong Mesh
      Kuma と Envoy をベースにしたエンタープライズサービスメッシュ
      decK
      Kongの構成を宣言型で管理する上で役立ちます
      Kong Ingress Controller
      Kubernetesクラスタ内で動作し、Kongをプロキシトラフィックに設定する
      Kong Gateway Operator
      YAMLマニフェストを使用してKubernetes上のKongデプロイメントを管理する
      Insomnia
      コラボレーティブAPI開発プラットフォーム
  • Plugin Hub
    • Plugin Hubを探索する
      View all plugins すべてのプラグインを表示 View all plugins arrow image
    • 機能性 すべて表示 View all arrow image
      すべてのプラグインを表示
      AI's icon
      AI
      マルチ LLM AI Gatewayプラグインを使用してAIトラフィックを管理、保護、制御する
      認証's icon
      認証
      認証レイヤーでサービスを保護する
      セキュリティ's icon
      セキュリティ
      追加のセキュリティレイヤーでサービスを保護する
      トラフィック制御's icon
      トラフィック制御
      インバウンドおよびアウトバウンドAPIトラフィックの管理、スロットル、制限
      サーバーレス's icon
      サーバーレス
      他のプラグインと組み合わせてサーバーレス関数を呼び出します
      分析と監視's icon
      分析と監視
      APIとマイクロサービストラフィックを視覚化、検査、監視
      変革's icon
      変革
      Kongでリクエストとレスポンスをその場で変換
      ログ記録's icon
      ログ記録
      インフラストラクチャに最適なトランスポートを使用して、リクエストと応答データをログに記録します
  • サポート
  • コミュニティ
  • Kongアカデミー
デモを見る 無料トライアルを開始
Kong Gateway
3.4.x LTS
  • Home icon
  • Kong Gateway
  • Kong Plugins
  • Authentication
  • 認証リファレンス
report-issue問題を報告する
  • Kong Gateway
  • Kong Konnect
  • Kong Mesh
  • Kong AI Gateway
  • Plugin Hub
  • decK
  • Kong Ingress Controller
  • Kong Gateway Operator
  • Insomnia
  • Kuma

  • ドキュメント投稿ガイドライン
  • 3.10.x (latest)
  • 3.9.x
  • 3.8.x
  • 3.7.x
  • 3.6.x
  • 3.5.x
  • 3.4.x (LTS)
  • 3.3.x
  • 2.8.x (LTS)
  • アーカイブ (2.6より前)
  • 導入
    • Kong Gatewayの概要
    • サポート
      • バージョンサポートポリシー
      • サードパーティの依存関係
      • ブラウザサポート
      • 脆弱性パッチ適用プロセス
      • ソフトウェア部品表
    • 安定性
    • リリースノート
    • 互換性のない変更
      • Kong Gateway 3.4.x
      • Kong Gateway 3.3.x
      • Kong Gateway 3.2.x
      • Kong Gateway 3.1.x
      • Kong Gateway 3.0.x
      • Kong Gateway 2.8.x またはそれ以前
    • キーコンセプト
      • サービス
      • ルート
      • コンシューマ
      • アップストリーム
      • プラグイン
      • コンシューマグループ
    • Kongの仕組み
      • トラフィックのルーティング
      • ロードバランシング
      • ヘルスチェックとサーキットブレーカー
    • 用語集
  • Kongを始めましょう
    • Kongを入手
    • サービスとルート
    • Rate Limiting
    • プロキシキャッシュ
    • Key Authentication
    • ロードバランシング
  • Kongのインストール
    • 概要
    • Kubernetes
      • 概要
      • Kong Gatewayのインストール
      • Admin APIを構成する
      • Kong Managerのインストール
    • Docker
      • docker runの使用
      • 独自の Docker イメージをビルドする
    • Linux
      • Amazon Linux
      • Debian
      • Red Hat
      • Ubuntu
    • インストール後
      • データストアの設定
      • エンタープライズライセンスを適用する
      • Kong Managerを有効にする
  • 本番環境のKong
    • デプロイメントトポロジー
      • 概要
      • ハイブリッドモード
        • 概要
        • Kong Gatewayをハイブリッドモードでデプロイする
      • DBレスデプロイメント
      • 伝統的な
    • 実行中のKong
      • 非rootユーザーとしてKongを実行する
      • Admin APIの保護
      • systemdの使用
    • アクセス制御
      • Kong Gatewayを安全に起動する
      • プログラムによる管理者の作成
      • RBACを有効にする
    • ライセンス
      • 概要
      • ライセンスのダウンロード
      • エンタープライズライセンスのデプロイ
      • ライセンス APIの使用
      • ライセンス使用状況の監視
    • ネットワーキング
      • デフォルトポート
      • DNSに関する考慮事項
      • ネットワークとファイアウォール
      • フォワードプロキシ経由のCP/DP通信
      • PostgreSQL TLS
        • PostgreSQL TLSの構成
        • PostgreSQL TLSのトラブルシューティング
    • Kong設定ファイル
    • 環境変数
    • KongからのウェブサイトとAPIの提供
    • モニタリング
      • 概要
      • Prometheus
      • StatsD
      • Datadog
      • ヘルスチェックプローブ
    • トレーシング
      • 概要
      • カスタムトレースエクスポーターの記述
      • トレース APIリファレンス
    • リソースサイジングのガイドライン
    • ブルーグリーンデプロイメント
    • カナリアデプロイメント
    • クラスタリングリファレンス
    • パフォーマンスベンチマークの確立
    • ログとデバッグ
      • ログ参照
      • 動的ログレベルの更新
      • ゲートウェイログのカスタマイズ
      • デバッグリクエスト
    • gRPCサービスを構成する
    • Expressionsルーターを使用する
    • アップグレードと移行
      • Kong Gateway 3.x.xのアップグレード
      • バックアップと復元
      • アップグレード戦略
        • デュアルクラスターのアップグレード
        • インプレースアップグレード
        • ブルーグリーンアップグレード
        • ローリングアップグレード
      • 2.8 LTS から 3.4 LTS へのアップグレード
      • OSS から Enterprise への移行
      • Cassandra から PostgreSQL への移行ガイドライン
      • 互換性のない変更
  • Kong Gateway Enterprise
    • 概要
    • Kong バイタル
      • 概要
      • メトリクス
      • InfluxDBによる分析
      • Prometheusによる分析
      • PostgreSQLにおける分析ストレージの見積もり
    • シークレット管理
      • 概要
      • はじめる
      • シークレットローテーション
      • 高度な使用法
      • バックエンド
        • 概要
        • 環境変数
        • AWS Secrets Manager
        • Azure Key Vault
        • Google Cloud Secret Manager
        • HashiCorp Vault
      • ハウツー
        • AWS Secrets Manager によるデータベースの保護
      • 参照形式
    • 動的なプラグインの順序
      • 概要
      • 動的プラグインの注文を開始する
    • Dev Portal
      • Overview
      • ポータルを有効にする
      • OpenAPI仕様の公開
      • 構造とファイルタイプ
      • テーマファイル
      • テンプレートを使う
      • エディターの使用
      • 認証と認可
        • Basic Auth
        • Key Auth
        • OIDC
        • セッション
        • カスタム登録フィールドの追加
        • 開発者の管理
        • 開発者の役割とコンテンツ権限
      • アプリケーション登録
        • 認可プロバイダー戦略
        • アプリケーション登録を有効にする
        • アプリケーション登録のための鍵認証を有効にする
        • 外部認証を有効にする
          • 外部OAuth2サポート
          • 外部認証のためのOktaとKongのセットアップ
          • 外部認証のためのAzure ADとKongのセットアップ
        • アプリケーションの管理
      • 開発ポータルのカスタマイズ
        • テーマ編集
        • ワークスペース間でのテンプレートの移行
        • Markdownレンダリングモジュール
        • ポータルメールのカスタマイズ
        • JavaScriptアセットの追加と使用
        • 開発ポータルのシングルページアプリ
        • 代替OpenAPIレンダラー
      • SMTP
      • Workspaces
      • ヘルパーCLI
      • ポータルAPIドキュメント
    • 監査ログ
    • キーリングとデータ暗号化
    • ワークスペース
    • コンシューマグループ
    • イベントフック
    • データプレーン(DP)のレジリエンスの構成
    • コントロールプレーン(CP)の停止管理について
    • FIPS 140-2
      • 概要
      • FIPS 準拠パッケージのインストール
      • FIPS 140-2準拠のプラグイン
    • AWS IAMを使用してKong Gateway Amazon RDSデータベースを認証する
    • 署名付き Kong イメージのビルド来歴を確認
  • Kong Manager
    • 概要
    • Kong Managerを有効にする
    • Kong Managerの使用を開始する
      • サービスとルート
      • Rate Limiting
      • プロキシキャッシュ
      • コンシューマによる認証
      • ロードバランシング
    • 認証と承認
      • 概要
      • スーパー管理者を作成する
      • ワークスペースとチーム
      • パスワードと RBAC トークンのリセット
      • Basic Auth
      • LDAP
        • LDAPの設定
        • LDAP サービスディレクトリマッピング
      • OIDC
        • OIDC を構成する
        • OIDC 認証済みグループマッピング
      • セッション
      • RBAC
        • 概要
        • RBACを有効にする
        • ロールと権限を追加する
        • ユーザーの作成
        • 管理者の作成
    • ネットワーク構成
    • ワークスペース
    • コンシューマグループを作成する
    • メールの送信
    • トラブルシューティング
  • カスタムプラグインの開発
    • 概要
    • ファイル構成
    • カスタムロジックの実装
    • プラグインの設定
    • データストアへのアクセス
    • カスタムエンティティの保存
    • カスタムエンティティのキャッシュ
    • Admin APIの拡張
    • テストを書く
    • インストールと配布
    • Proxy-Wasmフィルタ
      • proxy-wasm フィルターの作成
    • プラグイン開発キット
      • 概要
      • kong.client
      • kong.client.tls
      • kong.cluster
      • kong.ctx
      • kong.ip
      • kong.jwe
      • kong.log
      • kong.nginx
      • kong.node
      • kong.plugin
      • kong.request
      • kong.response
      • kong.router
      • kong.service
      • kong.service.request
      • kong.service.response
      • kong.table
      • kong.tracing
      • kong.vault
      • kong.websocket.client
      • kong.websocket.upstream
    • 他の言語のプラグイン
      • Go
      • Javascript
      • Python
      • コンテナ内でプラグインを実行する
      • 外部プラグインのパフォーマンス
  • Kong Plugins
    • 概要
    • 認証リファレンス
    • 複数の認証プラグインを許可する
    • プラグインキューイング
      • 概要
      • プラグインキューイングリファレンス
  • Admin API
    • 概要
    • インフォメーションルート
    • ヘルスルート
    • タグ
    • ルートのデバッグ
    • サービス
    • ルート
    • コンシューマ
    • プラグイン
    • 証明書
    • CA 証明書
    • SNI
    • アップストリーム
    • ターゲット
    • 金庫
    • 鍵
    • フィルターチェーン
    • ライセンス
    • ワークスペース
    • RBAC
    • アドミン
    • コンシューマグループ
    • イベントフック
    • キーリングとデータ暗号化
    • 監査ログ
    • ステータスAPI
  • リファレンス
    • kong.conf
    • Nginxディレクティブの挿入
    • CLI
    • キー管理
    • パフォーマンステストのフレームワーク
    • 表現言語
      • 概要
      • 言語リファレンス
      • パフォーマンスの最適化
    • Rate Limitingライブラリ
    • Webアセンブリ
    • FAQ
enterprise-switcher-icon 次に切り替える: OSS
On this pageOn this page
  • 一般的な認証
  • コンシューマ
  • 匿名アクセス
  • 複数認証
旧バージョンのドキュメントを参照しています。 最新のドキュメントはこちらをご参照ください。

認証リファレンス

アップストリームサービス(APIまたはマイクロサービス)へのトラフィックは、通常、アプリケーションと各種Kong認証プラグインの構成によって制御されます。Kongのサービスエンティティはユーザーのアップストリームサービスを1対1でマッピングするため、ユーザーが選んだサービスで認証プラグインを構成するのが最も単純なシナリオです。

一般的な認証

最も一般的なシナリオでは、認証を義務付け、認証されていないリクエストに対してアクセスを許可しません。 このシナリオでは、任意の認証プラグインを使用できます。通常は次のようなスキーム/フローで機能します。

  1. 認証プラグインをサービスに適用するか、グローバルに適用します(コンシューマには適用できません)
  2. consumerエンティティを作成する
  3. 特定の認証メソッドの認証情報を持つコンシューマを提供します。
  4. リクエストが来るたびに、Kongは提供された認証情報(認証タイプによって異なります)を確認し、検証できない 場合はリクエストをブロックするか、コンシューマと認証情報の詳細をヘッダーに 追加して、リクエストを転送します。

上記の一般的なフローは、LDAPなどの外部認証を使用する場合など、常に適用されるわけではありません。 識別されるコンシューマは存在せず、転送されたヘッダーには認証情報のみが追加されます。

認証方法固有の要素と例は、各プラグインのドキュメントに記載されています。

コンシューマ

コンシューマについて考える最も簡単な方法は、コンシューマをユーザーに1対1でマッピングすることです。しかし、それはKongにとって問題ではありません。 コンシューマに関する基本原則は、プラグインをコンシューマに接続して、リクエストの動作をカスタマイズできることです。 ですから、あなたはモバイルアプリで、アプリやそのバージョンごとに1人のコンシューマーを定義しているかもしれません。または、プラットフォームごとに、例えばアンドロイドコンシューマ、iOSコンシューマなどのコンシューマがいるかもしれません。

これはKongにとっては不透明な概念のため、彼らは「コンシューマー」と呼ばれ、「ユーザー」とは呼ばれません。

匿名アクセス

Kongには、認証されたアクセス と 匿名アクセスの 両方 を許可するよう特定のサービスを構成する機能があります。この設定を使用して、低い流量制限で匿名ユーザーにアクセスを許可し、認証済みユーザーには高い流量制限でアクセスを許可することができます。

このようなサービスを設定するには、まず選択した認証プラグインを適用してから、新しいコンシューマを作成して匿名ユーザーを表し、匿名アクセスを許可するように認証プラグインを設定します 。この例では、example-service という名前のサービスおよび対応するルートが既に設定されていることを前提としています。

  1. 例となるサービスとルートを作成する

    次のcURLリクエストを発行して、リクエストをエコーするhttpbin.orgを指すexample-serviceを作成します。

    curl -i -X POST \
      --url http://localhost:8001/services/ \
      --data 'name=example-service' \
      --data 'url=http://httpbin.org/anything'
    

    サービスにルートを追加します。

    curl -i -X POST \
      --url http://localhost:8001/services/example-service/routes \
      --data 'paths[]=/auth-sample'
    

    URL http://localhost:8000/auth-sampleは、リクエストされている内容をすべてエコーするようになりました。

  2. サービスに key-auth プラグインを構成

    サービスにプラグインを追加するには、次の cURL リクエストを発行します。

    curl -i -X POST \
      --url http://localhost:8001/services/example-service/plugins/ \
      --data 'name=key-auth'
    

    作成したプラグインidを必ずメモしてください。ステップ5で必要になります。

  3. Key Authプラグインが適切に構成されていることを確認します

    Key Auth プラグインがサービスに適切に構成されたことを確認するために次のcURLリクエストを発行します。

    curl -i -X GET \
      --url http://localhost:8000/auth-sample
    

    必要なapikeyヘッダーまたはパラメータを指定しておらず、匿名アクセスをまだ有効にしていないため、応答は403 Forbiddenになるはずです。

    HTTP/1.1 403 Forbidden
    ...
       
    {
      "message": "No API key found in headers or querystring"
    }
    
  4. 匿名のコンシューマを作成

    Kong によってプロキシされるすべてのリクエストは、コンシューマに関連付けられている必要があります。次のリクエストを発行して、anonymous_users(Kong が匿名アクセスをプロキシするときに使用)という名前のコンシューマを作成します。

    curl -i -X POST \
      --url http://localhost:8001/consumers/ \
      --data "username=anonymous_users"
    

    以下のようなレスポンスが表示されます。

    HTTP/1.1 201 Created
    Content-Type: application/json
    Connection: keep-alive
       
    {
      "username": "anonymous_users",
      "created_at": 1428555626000,
      "id": "bbdf1c48-19dc-4ab7-cae0-ff4f59d87dc9"
    }
    

    コンシューマ idを必ずメモしてください。次のステップで必要になります。

  5. 匿名アクセスを有効にする

    次に、key-authプラグインを再構成して以下のリクエストを発行し、匿名のアクセスを許可します( 以下のサンプルUUIDをステップ2と4のid値に置き換えます )。

    curl -i -X PATCH \
      --url http://localhost:8001/plugins/<your-plugin-id id="sl-md0000000"> \
      --data "config.anonymous=<your-consumer-id id="sl-md0000000">"
    

    config.anonymous=<your-consumer-id id="sl-md0000000"> パラメータは、このサービスのkey-authプラグインに匿名アクセスを許可し、そのようなアクセスを前の手順で受け取ったコンシューマ idに関連付けるように指示します。この手順では、有効かつ既存のコンシューマidを指定する必要があります。匿名アクセスを設定する時点でコンシューマidの有効性はチェックされておらず、まだ存在しないコンシューマidをプロビジョニングすると、設定が正しく行われません。

  6. 匿名アクセスを確認する

    次のリクエストを発行して、サービスが匿名アクセスを許可することを確認します。

    curl -i -X GET \
      --url http://localhost:8000/auth-sample
    

    これは、ステップ3で行ったリクエストと同じです。ただし、今回はステップ5で匿名アクセスを有効にしたため、リクエストは成功するはずです。

    レスポンス(httpbin が受信したリクエスト)には次の要素が含まれている必要があります。

    {
      ...
      "headers": {
        ...
        "x-consumer-id": "713c592c-38b8-4f5b-976f-1bd2b8069494",
        "x-consumer-username": "anonymous_users",
        "x-anonymous-consumer": "true",
        ...
      },
      ...
    }
    

    リクエストは成功したが、匿名であることを示しています。

複数認証

Kongは特定のサービスに対して複数の認証プラグインをサポートしており、異なるクライアントが異なる認証方法を使用して特定のサービスまたはルートにアクセスできるようにします。

複数の認証情報を評価する場合、authプラグインの動作は、論理ANDか、論理ORのいずれかに設定できます。動作のキーは、config.anonymousプロパティです。

  • config.anonymousが設定されていません
    このプロパティが設定されていない場合(空の場合)、認証プラグインは常に認証を実行し、検証されていない場合は40xレスポンスを返します。これにより、複数の認証プラグインが呼び出されたときに論理的なANDが発生します。
  • config.anonymousが有効なコンシューマIDに設定されています
    この場合、認証プラグインはまだ認証されていない場合にのみ認証を実行します。認証が失敗すると40x レスポンスは返されませんが、匿名のコンシューマがコンシューマとして設定されます。これにより、複数の認証プラグインが呼び出され場合、論理的なOR + 「匿名アクセス」が発生します。

注1 : すべての認証プラグインを匿名アクセス用に構成するか、まったく構成しないかのどちらかです。混在している場合の動作は未定義です。

注2 :AND メソッドを使用する場合、最後に実行されたプラグインは、アップストリームサービスに渡される認証情報を設定するプラグインになります。OR メソッドでは、コンシューマを正常に認証する最初のプラグイン、または構成された匿名コンシューマを設定する最後のプラグインになります。

注3 :OAuth2プラグインをAND形式で使用する場合、トークンを要求するOAuth2エンドポイントなどでも、他の設定されたauthプラグインによる認証が必要になります。

特定のサービスで複数の認証プラグインがOR形式で有効になっており、匿名アクセスを禁止する場合は、匿名コンシューマで Request Terminationプラグインを構成する必要があります。これを行わないと、不正なリクエストを許可することになります。

Thank you for your feedback.
Was this page useful?
情報が多すぎる場合 close cta icon
Kong Konnectを使用すると、より多くの機能とより少ないインフラストラクチャを実現できます。月額1Mリクエストが無料。
無料でお試しください
  • Kong
    APIの世界を動かす

    APIマネジメント、サービスメッシュ、イングレスコントローラーの統合プラットフォームにより、開発者の生産性、セキュリティ、パフォーマンスを大幅に向上します。

    • 製品
      • Kong Konnect
      • Kong Gateway Enterprise
      • Kong Gateway
      • Kong Mesh
      • Kong Ingress Controller
      • Kong Insomnia
      • 製品アップデート
      • 始める
    • ドキュメンテーション
      • Kong Konnectドキュメント
      • Kong Gatewayドキュメント
      • Kong Meshドキュメント
      • Kong Insomniaドキュメント
      • Kong Konnect Plugin Hub
    • オープンソース
      • Kong Gateway
      • Kuma
      • Insomnia
      • Kongコミュニティ
    • 会社概要
      • Kongについて
      • お客様
      • キャリア
      • プレス
      • イベント
      • お問い合わせ
  • 利用規約• プライバシー• 信頼とコンプライアンス
© Kong Inc. 2025