このページは、まだ日本語ではご利用いただけません。翻訳中です。
古いプラグインバージョンのドキュメントを閲覧しています。
基本構成例
以下の例では、oauth2
プラグインをserviceで有効にするための一般的な設定をご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/services/{serviceName|Id}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "oauth2",
"config": {
"scopes": [
"email",
"phone",
"address"
],
"mandatory_scope": true,
"provision_key": "<autogenerated>",
"enable_authorization_code": true
}
}
'
SERVICE_NAME | IDを、このプラグイン構成の対象となるサービスの idまたはnameに置き換えてください。 |
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: oauth2-example
plugin: oauth2
config:
scopes:
- email
- phone
- address
mandatory_scope: true
provision_key: "<autogenerated>"
enable_authorization_code: true
" | kubectl apply -f -
次に、次のようにserviceに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate service SERVICE_NAME konghq.com/plugins=oauth2-example
SERVICE_NAMEを、このプラグイン構成が対象とするサービスの名前に置き換えます。 kubectl get serviceを実行すると、利用可能なイングレスを確認できます。
注: KongPluginリソースは一度だけ定義するだけで、ネームスペース内の任意のサービス、コンシューマー、またはルートに適用できます。プラグインをクラスター全体で利用可能にしたい場合は、KongPlugin
の代わりにKongClusterPlugin
としてリソースを作成してください。
前提条件: パーソナルアクセストークンの設定
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_oauth2" "my_oauth2" {
enabled = true
config = {
scopes = ["email", "phone", "address"]
mandatory_scope = true
provision_key = "<autogenerated>"
enable_authorization_code = true
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
service = {
id = konnect_gateway_service.my_service.id
}
}
以下の例では、oauth2
プラグインをrouteで有効にするための一般的な設定をご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/routes/{routeName|Id}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "oauth2",
"config": {
"scopes": [
"email",
"phone",
"address"
],
"mandatory_scope": true,
"provision_key": "<autogenerated>",
"enable_authorization_code": true
}
}
'
ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 |
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: oauth2-example
plugin: oauth2
config:
scopes:
- email
- phone
- address
mandatory_scope: true
provision_key: "<autogenerated>"
enable_authorization_code: true
" | kubectl apply -f -
次に、次のようにingressに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate ingress INGRESS_NAME konghq.com/plugins=oauth2-example
INGRESS_NAMEを、このプラグイン構成がターゲットとするイングレス名に置き換えます。 kubectl get ingressを実行すると、利用可能なイングレスを確認できます。
注: KongPluginリソースは一度だけ定義するだけで、ネームスペース内の任意のサービス、コンシューマー、またはルートに適用できます。プラグインをクラスター全体で利用可能にしたい場合は、KongPlugin
の代わりにKongClusterPlugin
としてリソースを作成してください。
前提条件: パーソナルアクセストークンの設定
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_oauth2" "my_oauth2" {
enabled = true
config = {
scopes = ["email", "phone", "address"]
mandatory_scope = true
provision_key = "<autogenerated>"
enable_authorization_code = true
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
route = {
id = konnect_gateway_route.my_route.id
}
}
どのサービス、ルート、コンシューマー、コンシューマーグループにも関連しないプラグインは_global_とみなされ、 すべてのリクエストで実行されます。
- 自己管理型のKong Gateway Enterpriseでは、プラグインは特定のワークスペース内のすべてのエンティティに適用されます。
- セルフマネージドKong Gateway (OSS)では、プラグインは環境全体に適用されます。
詳しくはプラグインリファレンスとプラグインの優先順位の セクションをご覧ください。
以下の例では、OAuth 2.0 Authentication
プラグインをグローバルに有効にするための典型的な設定をいくつかご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "oauth2",
"config": {
"scopes": [
"email",
"phone",
"address"
],
"mandatory_scope": true,
"provision_key": "<autogenerated>",
"enable_authorization_code": true
}
}
'
KongClusterPlugin作成する リソースを作成し、グローバルとしてラベル付けします。
apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
name: <global-oauth2>
annotations:
kubernetes.io/ingress.class: kong
labels:
global: "true"
config:
scopes:
- email
- phone
- address
mandatory_scope: true
provision_key: "<autogenerated>"
enable_authorization_code: true
plugin: oauth2
前提条件: パーソナルアクセストークンの設定
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_oauth2" "my_oauth2" {
enabled = true
config = {
scopes = ["email", "phone", "address"]
mandatory_scope = true
provision_key = "<autogenerated>"
enable_authorization_code = true
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
}