TIS0205 - Missing PeerAuthentication for Mesh-Level mTLS
PeerAuthentication enabling mesh-level mTLS is missing.
PeerAuthentication for Consistent mTLSTo ensure secure and consistent communication across the service mesh, add a mesh-level PeerAuthentication in the istio-system namespace. This configuration should specify the desired mTLS mode (STRICT or PERMISSIVE) to define how workloads communicate.
Examples
-
No Mesh-Level
PeerAuthenticationConfigured# No `PeerAuthentication` object present in the istio-system namespaceExplanation: When there is no
PeerAuthenticationconfiguration at the mesh level, mTLS settings are undefined, which may lead to inconsistencies in how communication is secured across the mesh. A mesh-levelPeerAuthenticationis required to define a default mTLS mode for all workloads.
Recommendation
Add a PeerAuthentication in the istio-system namespace without specifying targets, setting peers mTLS mode to STRICT or PERMISSIVE.
-
Add Mesh-Level
PeerAuthenticationwith STRICT ModeTo enforce mTLS for all workloads in the mesh, add a
PeerAuthenticationin theistio-systemnamespace withSTRICTmode.apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:
name: default
namespace: istio-system
spec:
mtls:
mode: STRICT -
Add Mesh-Level
PeerAuthenticationwith PERMISSIVE ModeTo allow both mTLS and plaintext communication, add a
PeerAuthenticationin theistio-systemnamespace withPERMISSIVEmode.apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:
name: default
namespace: istio-system
spec:
mtls:
mode: PERMISSIVE