Files
service-catalog/charts/kubeflow/common/oidc-client/oauth2-proxy/components/istio-m2m

Kubernetes M2M Authentication with Istio and RequestAuthentication

Overview

This kustomize component enables M2M (Machine-to-Machine) authentication in Kubernetes, using Istio and the RequestAuthentication object. It configures Istio to trust JWTs (JSON Web Tokens) in Authorization Bearer tokens when the JWT issuer matches the one in RequestAuthentication. The default setup uses Kubernetes' self-served OIDC issuer with self-signed certificates.

In Kubernetes clusters managed by platform providers, the OIDC issuer is usually managed by the provider and served behind publicly trusted certificates. In these cases, it's advisable to use the platform-managed Kubernetes OIDC issuer in the RequestAuthentication for seamless integration and authentication compliance with the platform's security standards.

For scenarios where the OIDC issuer is served behind self-signed certificates, the kustomize overlay using this component should include the common/oidc-client/oauth2-proxy/components/configure-self-signed-kubernetes-oidc-issuer component. This additional configuration is necessary to handle the self-signed nature of the certificates. This setup is the default in the Kustomize overlay defined in common/oidc-client/oauth2-proxy/overlays/m2m-self-signed, which is tailored for environments with self-signed OIDC issuers.