feature: istio JWT validation #138
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
JWT Authentication for Scopes
This directory manages JWT-based authentication for scopes with "jwt_authorization_enabled" using Istio security resources.
Overview
The JWT authentication flow uses two Istio Custom Resource Definitions (CRDs):
Important: Istio Gateway Dependency
This authentication mechanism ONLY works with Istio gateways. The resources use Istio-specific CRDs (
security.istio.io/v1) that are processed by Istio's data plane (Envoy proxy). If your gateway is not Istio-based (e.g., Nginx, Kong, Traefik), you will need to implement authentication using that gateway's native mechanisms.Resources Provisioned
1. RequestAuthentication
Created once per cluster in the gateway namespace. This resource configures JWT validation.
File: templates/request-authentication.yaml.tmpl
Example:
Key Features:
Authorization: Bearer <token>header ornp_scope_tokencookie2. AuthorizationPolicy
Created per scope domain. This resource enforces JWT requirements.
File: templates/authorization-policy.yaml.tmpl
Example:
Key Features:
audclaim) to match the scope domain/health)Flow Diagram
References