このページは、まだ日本語ではご利用いただけません。翻訳中です。
古いプラグインバージョンのドキュメントを閲覧しています。
基本構成例
以下の例では、jwtプラグインをで有効にするための一般的な設定をご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/services/{serviceName|Id}/plugins \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --data '
    {
  "name": "jwt",
  "config": {
    "uri_param_names": [
      "paramName_2.2.x"
    ]
  }
}
    '
| SERVICE_NAME | IDを、このプラグイン構成の対象となるサービスの idまたはnameに置き換えてください。 | 
これは認証プラグインであるため、コンシューマを作成し、それにクレデンシャルをアタッチする必要があります。
コンシューマを作る
curl -X POST http://localhost:8001/consumers -d username=alex
このコンシューマに接続された jwtの認証情報を作成します
curl -X POST http://localhost:8001/consumers/alex/jwt \
  -d algorithm=HS256 \
  -d secret=this_is_a_super_secret_value
リクエストを行う際に、 alexとして認証できるようになりました。 詳細については、 ドキュメント をご参照ください。
独自のアクセストークン、リージョン、コントロールプレーンID、サービスIDを代入して、次のリクエストを行ってください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/services/{serviceId}/plugins \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN" \
    --data '{"name":"jwt","config":{"uri_param_names":["paramName_2.2.x"]}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
これは認証プラグインであるため、コンシューマを作成し、それにクレデンシャルをアタッチする必要があります。
コンシューマを作る
curl -X POST https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/consumers -d username=alex
このコンシューマに接続された jwtの認証情報を作成します
curl -X POST https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/consumers/alex/jwt \
  -d algorithm=HS256 \
  -d secret=this_is_a_super_secret_value
リクエストを行う際に、 alexとして認証できるようになりました。 詳細については、 ドキュメント をご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: jwt-example
plugin: jwt
config:
  uri_param_names:
  - paramName_2.2.x
" | kubectl apply -f -
次に、次のようにserviceに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate service SERVICE_NAME konghq.com/plugins=jwt-example
SERVICE_NAMEを、このプラグイン構成が対象とするサービスの名前に置き換えます。 kubectl get serviceを実行すると、利用可能なイングレスを確認できます。
注: KongPluginリソースは一度だけ定義するだけで、ネームスペース内の任意のサービス、コンシューマー、またはルートに適用できます。プラグインをクラスター全体で利用可能にしたい場合は、KongPluginの代わりにKongClusterPluginとしてリソースを作成してください。
これは認証プラグインなので、プラグインの資格情報を作成する必要があります。次のコマンドでシークレットを作成します。
echo '
apiVersion: v1
kind: Secret
metadata:
  name: alex-jwt
  labels:
    konghq.com/credential: jwt
stringData:
  algorithm: HS256
  secret: this_is_a_super_secret_value
' | kubectl apply -f -
最後に、この資格情報を使用するコンシューマを作成します。
echo "apiVersion: configuration.konghq.com/v1
kind: KongConsumer
metadata:
  name: alex
  annotations:
    kubernetes.io/ingress.class: kong
username: alex
credentials:
- alex-jwt
" | kubectl apply -f -
リクエストを行う際に、 alexとして認証できるようになりました。 詳細については、 ドキュメント をご参照ください。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: jwt
  service: SERVICE_NAME|ID
  config:
    uri_param_names:
    - paramName_2.2.x
| SERVICE_NAME | IDを、このプラグイン構成の対象となるサービスの idまたはnameに置き換えてください。 | 
これは認証プラグインであるため、コンシューマを作成し、それにクレデンシャルをアタッチする必要があります。
コンシューマを作る
consumers:
- username: alex
  jwt_secrets:
  - algorithm: HS256
    secret: this_is_a_super_secret_value
上記を宣言型構成に追加し、実行中の Kong インスタンスに適用します。
リクエストを行う際に、 alexとして認証できるようになりました。詳細については、 ドキュメント をご参照ください。
前提条件: パーソナルアクセストークンの設定
terraform {
  required_providers {
    konnect = {
      source  = "kong/konnect"
    }
  }
}
provider "konnect" {
  personal_access_token = "kpat_YOUR_TOKEN"
  server_url            = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_jwt" "my_jwt" {
  enabled = true
  config = {
    uri_param_names = ["paramName_2.2.x"]
  }
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
  service = {
    id = konnect_gateway_service.my_service.id
  }
}
これは認証プラグインであるため、コンシューマを作成し、それにクレデンシャルをアタッチする必要があります。
コンシューマを作成:
resource "konnect_gateway_consumer" "alex" {
  username         = "alex"
  custom_id        = "alex-custom"
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
}
このコンシューマに接続された jwtの認証情報を作成します
resource "konnect_gateway_jwt" "my_jwt" {
  algorithm = "HS256"
  secret = "this_is_a_super_secret_value"
  consumer_id      = konnect_gateway_consumer.alex.id
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
}
以下の例では、jwtプラグインをで有効にするための一般的な設定をご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/routes/{routeName|Id}/plugins \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --data '
    {
  "name": "jwt",
  "config": {
    "uri_param_names": [
      "paramName_2.2.x"
    ]
  }
}
    '
| ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 | 
これは認証プラグインであるため、コンシューマを作成し、それにクレデンシャルをアタッチする必要があります。
コンシューマを作る
curl -X POST http://localhost:8001/consumers -d username=alex
このコンシューマに接続された jwtの認証情報を作成します
curl -X POST http://localhost:8001/consumers/alex/jwt \
  -d algorithm=HS256 \
  -d secret=this_is_a_super_secret_value
リクエストを行う際に、 alexとして認証できるようになりました。 詳細については、 ドキュメント をご参照ください。
独自のアクセストークン、リージョン、コントロールプレーン(CP)ID、ルートIDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/routes/{routeId}/plugins \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN" \
    --data '{"name":"jwt","config":{"uri_param_names":["paramName_2.2.x"]}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
これは認証プラグインであるため、コンシューマを作成し、それにクレデンシャルをアタッチする必要があります。
コンシューマを作る
curl -X POST https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/consumers -d username=alex
このコンシューマに接続された jwtの認証情報を作成します
curl -X POST https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/consumers/alex/jwt \
  -d algorithm=HS256 \
  -d secret=this_is_a_super_secret_value
リクエストを行う際に、 alexとして認証できるようになりました。 詳細については、 ドキュメント をご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: jwt-example
plugin: jwt
config:
  uri_param_names:
  - paramName_2.2.x
" | kubectl apply -f -
次に、次のようにingressに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate ingress INGRESS_NAME konghq.com/plugins=jwt-example
INGRESS_NAMEを、このプラグイン構成がターゲットとするイングレス名に置き換えます。 kubectl get ingressを実行すると、利用可能なイングレスを確認できます。
注: KongPluginリソースは一度だけ定義するだけで、ネームスペース内の任意のサービス、コンシューマー、またはルートに適用できます。プラグインをクラスター全体で利用可能にしたい場合は、KongPluginの代わりにKongClusterPluginとしてリソースを作成してください。
これは認証プラグインなので、プラグインの資格情報を作成する必要があります。次のコマンドでシークレットを作成します。
echo '
apiVersion: v1
kind: Secret
metadata:
  name: alex-jwt
  labels:
    konghq.com/credential: jwt
stringData:
  algorithm: HS256
  secret: this_is_a_super_secret_value
' | kubectl apply -f -
最後に、この資格情報を使用するコンシューマを作成します。
echo "apiVersion: configuration.konghq.com/v1
kind: KongConsumer
metadata:
  name: alex
  annotations:
    kubernetes.io/ingress.class: kong
username: alex
credentials:
- alex-jwt
" | kubectl apply -f -
リクエストを行う際に、 alexとして認証できるようになりました。 詳細については、 ドキュメント をご参照ください。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: jwt
  route: ROUTE_NAME|ID
  config:
    uri_param_names:
    - paramName_2.2.x
| ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 | 
これは認証プラグインであるため、コンシューマを作成し、それにクレデンシャルをアタッチする必要があります。
コンシューマを作る
consumers:
- username: alex
  jwt_secrets:
  - algorithm: HS256
    secret: this_is_a_super_secret_value
上記を宣言型構成に追加し、実行中の Kong インスタンスに適用します。
リクエストを行う際に、 alexとして認証できるようになりました。詳細については、 ドキュメント をご参照ください。
前提条件: パーソナルアクセストークンの設定
terraform {
  required_providers {
    konnect = {
      source  = "kong/konnect"
    }
  }
}
provider "konnect" {
  personal_access_token = "kpat_YOUR_TOKEN"
  server_url            = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_jwt" "my_jwt" {
  enabled = true
  config = {
    uri_param_names = ["paramName_2.2.x"]
  }
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
  route = {
    id = konnect_gateway_route.my_route.id
  }
}
これは認証プラグインであるため、コンシューマを作成し、それにクレデンシャルをアタッチする必要があります。
コンシューマを作成:
resource "konnect_gateway_consumer" "alex" {
  username         = "alex"
  custom_id        = "alex-custom"
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
}
このコンシューマに接続された jwtの認証情報を作成します
resource "konnect_gateway_jwt" "my_jwt" {
  algorithm = "HS256"
  secret = "this_is_a_super_secret_value"
  consumer_id      = konnect_gateway_consumer.alex.id
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
}
どのサービス、ルート、コンシューマー、コンシューマーグループにも関連しないプラグインは_global_とみなされ、 すべてのリクエストで実行されます。
- 自己管理型のKong Gateway Enterpriseでは、プラグインは特定のワークスペース内のすべてのエンティティに適用されます。
 - セルフマネージドKong Gateway (OSS)では、プラグインは環境全体に適用されます。
 - Konnectでは、プラグインは特定のコントロールプレーン(CP)内のすべてのエンティティに適用されます。
 
詳しくはとプラグインの優先順位の セクションをご覧ください。
以下の例では、JWTプラグインをグローバルに有効にするための典型的な設定をいくつかご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/plugins/ \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --data '
    {
  "name": "jwt",
  "config": {
    "uri_param_names": [
      "paramName_2.2.x"
    ]
  }
}
    '
これは認証プラグインであるため、コンシューマを作成し、それにクレデンシャルをアタッチする必要があります。
コンシューマを作る
curl -X POST http://localhost:8001/consumers -d username=alex
このコンシューマに接続された jwtの認証情報を作成します
curl -X POST http://localhost:8001/consumers/alex/jwt \
  -d algorithm=HS256 \
  -d secret=this_is_a_super_secret_value
リクエストを行う際に、 alexとして認証できるようになりました。 詳細については、 ドキュメント をご参照ください。
独自のアクセストークン、リージョン、コントロールプレーン(CP)IDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/plugins/ \
    --header "accept: application/json" \
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN" \
    --data '{"name":"jwt","config":{"uri_param_names":["paramName_2.2.x"]}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
これは認証プラグインであるため、コンシューマを作成し、それにクレデンシャルをアタッチする必要があります。
コンシューマを作る
curl -X POST https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/consumers -d username=alex
このコンシューマに接続された jwtの認証情報を作成します
curl -X POST https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/consumers/alex/jwt \
  -d algorithm=HS256 \
  -d secret=this_is_a_super_secret_value
リクエストを行う際に、 alexとして認証できるようになりました。 詳細については、 ドキュメント をご参照ください。
KongClusterPlugin作成する リソースを作成し、グローバルとしてラベル付けします。
apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
  name: <global-jwt>
  annotations:
    kubernetes.io/ingress.class: kong
  labels:
    global: "true"
config:
  uri_param_names:
  - paramName_2.2.x
plugin: jwt
これは認証プラグインなので、プラグインの資格情報を作成する必要があります。次のコマンドでシークレットを作成します。
echo '
apiVersion: v1
kind: Secret
metadata:
  name: alex-jwt
  labels:
    konghq.com/credential: jwt
stringData:
  algorithm: HS256
  secret: this_is_a_super_secret_value
' | kubectl apply -f -
最後に、この資格情報を使用するコンシューマを作成します。
echo "apiVersion: configuration.konghq.com/v1
kind: KongConsumer
metadata:
  name: alex
  annotations:
    kubernetes.io/ingress.class: kong
username: alex
credentials:
- alex-jwt
" | kubectl apply -f -
リクエストを行う際に、 alexとして認証できるようになりました。 詳細については、 ドキュメント をご参照ください。
宣言型構成ファイルにpluginsエントリを追加します。
plugins:
- name: jwt
  config:
    uri_param_names:
    - paramName_2.2.x
これは認証プラグインであるため、コンシューマを作成し、それにクレデンシャルをアタッチする必要があります。
コンシューマを作る
consumers:
- username: alex
  jwt_secrets:
  - algorithm: HS256
    secret: this_is_a_super_secret_value
上記を宣言型構成に追加し、実行中の Kong インスタンスに適用します。
リクエストを行う際に、 alexとして認証できるようになりました。詳細については、 ドキュメント をご参照ください。
前提条件: パーソナルアクセストークンの設定
terraform {
  required_providers {
    konnect = {
      source  = "kong/konnect"
    }
  }
}
provider "konnect" {
  personal_access_token = "kpat_YOUR_TOKEN"
  server_url            = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_jwt" "my_jwt" {
  enabled = true
  config = {
    uri_param_names = ["paramName_2.2.x"]
  }
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
}
これは認証プラグインであるため、コンシューマを作成し、それにクレデンシャルをアタッチする必要があります。
コンシューマを作成:
resource "konnect_gateway_consumer" "alex" {
  username         = "alex"
  custom_id        = "alex-custom"
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
}
このコンシューマに接続された jwtの認証情報を作成します
resource "konnect_gateway_jwt" "my_jwt" {
  algorithm = "HS256"
  secret = "this_is_a_super_secret_value"
  consumer_id      = konnect_gateway_consumer.alex.id
  control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
}