Think of authorization like the ticketing system at a stadium: authentication confirms your identity at the gate, while authorization determines where you may sit and what areas you can access. In a service mesh, Istio uses AuthorizationPolicy resources to express those permissions after identities have been established (for example, via mTLS or JWT authentication).Documentation Index
Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
Use this file to discover all available pages before exploring further.


- Authentication = who the caller is (identity).
- Authorization = what the caller can do (permissions).
- Istio AuthorizationPolicy operates at layer 7 (HTTP methods, paths, JWT claims).
- Kubernetes NetworkPolicy operates at layer 3/4 (IP, namespace, ports).
Istio enforces policies in the proxy (Envoy). AuthorizationPolicy objects can be scoped by
namespace, selector (workload label), or applied mesh-wide. Use them for fine-grained, identity-aware access controls.AuthorizationPolicy examples
Below are common AuthorizationPolicy examples. Each example uses thesecurity.istio.io/v1beta1 API and demonstrates common from, to, and when patterns.
- Allow POST requests from any workload in the
appnamespace to workloads in thepaymentsnamespace:
- Deny GET requests from workloads in the
appnamespace to a specific path (for example,/credit-cards-info):
- A more expressive policy showing multiple sources (OR semantics), multiple operations, and a JWT
issclaim check:
- Multiple entries in a list (for example, multiple
- source:items) are evaluated as OR. - If you want an AND-like requirement, combine attributes under a single list item (for example, a
sourceentry that contains bothprincipalsandnamespaces). - Rules are evaluated to determine if any rule allows or denies the request according to the policy
action. Be mindful of ordering and scope (namespace vs workload selector).
Why use Istio AuthorizationPolicy (benefits)

- Fine-grained access control (methods, paths, headers).
- Zero-trust model (identity first, least privilege).
- Identity-based policies (service account principals, JWT claims).
- Declarative resources that fit GitOps workflows and auditing.
Authorization is an important topic for the exam—expect questions that test differences between authentication and authorization, the structure of AuthorizationPolicy rules (
from, to, when), and layer 7 vs layer 3/4 distinctions.NetworkPolicy vs AuthorizationPolicy — at a glance
| Resource | Layer | Common controls | Example use case |
|---|---|---|---|
Kubernetes NetworkPolicy | Layer 3/4 | IP / namespace selectors, ports, protocols | Restrict which pods or namespaces can open TCP connections to a service |
Istio AuthorizationPolicy | Layer 7 | HTTP methods, paths, headers, JWT claims, service account principals | Allow only POST to /purchases from a specific service account or JWT issuer |
app namespace to reach payments pods on TCP port 8080:
Practical tips and exam focus
- Understand the AuthorizationPolicy structure:
actionandrules→from,to,when. - Know how lists are evaluated (OR behavior) and how to combine attributes for AND-like effects.
- Know common attributes to reference:
namespaces,principals(service account identity likecluster.local/ns/<ns>/sa/<sa>),request.auth.claims[...]. - Remember that AuthorizationPolicy is enforced by Envoy sidecars, so policy scope (namespace/selector/mesh) matters in a multi-tenant cluster.
- Practice writing policies that mix
selectorandnamespacescoping and test them withcurloristioctl authz checkto validate behavior.
- Istio AuthorizationPolicy: https://istio.io/latest/docs/reference/config/security/authorization-policy/
- Kubernetes NetworkPolicy: https://kubernetes.io/docs/concepts/services-networking/network-policies/
- GitOps with ArgoCD (for declarative policy workflows): https://argo-cd.readthedocs.io/