Design Partner Program
Hayrok/ Resources/ Kubernetes Isolation Proof
PILLAR GUIDE · HOW-TO Kubernetes · multi-tenant

Kubernetes Isolation Proof. How to show your boundaries actually hold.

Can tenant A reach tenant B? Prove it.

Map your boundaries, test each one safely, and turn the results into evidence a customer can trust.

By MellyOctober 23, 202612 min read
BOUNDARY ATTEMPTS EXAMPLE APPROVED
tenant-a → canary svc in tenant-bBLOCKED
tenant-a SA → read secrets in tenant-bDENIED
tenant-a → cloud metadata endpointBLOCKED
privileged pod in test namespaceREJECTED
RULE A blocked attempt is proof. A successful one is a finding you can fix first.
Summary

Kubernetes isolation proof is evidence, from a controlled attempt, that a workload cannot cross a boundary it should not cross. A configuration scan shows that NetworkPolicy, RBAC and pod security rules exist; isolation proof shows they stop a real attempt. SaaS and cloud platform teams can use it to answer customers and auditors on tenant isolation with evidence.

01 · THE QUESTION

Can tenant A reach tenant B? Prove it.

If you run a multi-tenant SaaS or cloud platform, a customer will ask you this. So will an auditor. Is my data isolated from your other customers?

THE USUAL ANSWER · A SCAN
Separate namespacesGREEN
NetworkPolicy in placeGREEN
RBAC configuredGREEN
Pod security enforcedGREEN
Tells you the rules exist and look right.
THE QUESTION IT DOES NOT ANSWER
Do they stop a real attempt to cross?
Does the network plugin enforce the policy?
Does a role binding reach further than intended?
Isolation proof answers these by trying to cross, under control.

The gap is real. In Kubernetes, pods accept traffic from any source by default, until a NetworkPolicy selects them. And NetworkPolicy only works if your network plugin enforces it, as the Kubernetes documentation notes. A policy can sit in your cluster, look perfect in a scan, and block nothing.

The same is true of identity. A service account can hold one permission too many. A role binding can reach further than anyone intended. On paper, each looks fine.

ISOLATION PROOF

Instead of checking that a boundary is configured, you try to cross it, under control, and record what happens. A blocked attempt is proof. A successful one is a finding you can fix before someone else finds it.

02 · THE MAP

The boundary map

Before you test anything, draw what you are trying to keep apart. Most Kubernetes platforms have boundaries at four levels, nested inside each other. Select a level, and mark the ones you promise customers.

04Cloud account
03Cluster and node
02NamespacePROMISED
01Workload
LEVEL 02 · THE QUESTION TO PROVE

Namespace

Often one per tenant or team. Can a workload in one namespace reach services, secrets or data in another?

Write down which boundaries you promise customers. Those are the ones you must be able to prove.

03 · NETWORK

Testing network boundaries

NetworkPolicy is the rule set. Real traffic is the test. From a workload in one namespace, try to reach what it should not.

01Services and pods in another tenant's namespace, on their real portsSHOULD FAIL
02Shared services that should be limited to some namespaces, such as databases or queuesSHOULD FAIL
03Cluster DNS, to see what it reveals about other tenantsREVEAL NOTHING
04The cloud instance metadata endpoint, if your policy is meant to block itSHOULD FAIL
05Outbound internet, if egress should be restrictedSHOULD FAIL

Each attempt should be expected to fail. Record every one, including the failures, because each failure is proof the rule held.

04 · IDENTITY

Testing identity boundaries

In Kubernetes, identity decides what a workload can do through the API. Test it from the workload's point of view, using the credentials it actually has.

01Can its service account read secrets in other namespaces?YES / NO
02Can it list, create or change pods outside its own namespace?YES / NO
03Can it create role bindings, or otherwise grant itself more access?YES / NO
04Can it reach cloud credentials that let it act outside the cluster?YES / NO

The goal is not a list of every permission. It is a clear answer for each boundary: can this identity cross it, yes or no.

THE HAYROK BRIEF WEEKLY · FREE

Know which cluster flaws are being exploited this week.

The Hayrok Brief covers exploited vulnerabilities, AI security and regulation for security leaders, with what to validate each week.

05 · RUNTIME

Testing runtime boundaries

The runtime boundary keeps a container from becoming the node. Kubernetes defines three Pod Security Standards. Testing checks that the level you set is the level enforced.

privileged
Unrestricted
baseline
Minimally restrictive
restricted
Heavily restricted
01Try to start a pod with settings your standard forbids, such as privileged mode or host accessSHOULD BE REJECTED
02From a running workload, check whether host paths, host networking or the container runtime are reachableSHOULD FAIL
03Confirm that a blocked request is rejected at admission, and loggedLOGGED
CAUTIONRuntime tests carry the most risk. Run them in a dedicated test namespace, with approval, and never against a tenant's live workload.
06 · SAFETY

Running isolation tests safely

You are testing the walls between your customers. Treat it with the same care you would want from anyone else doing that.

01
Get approval first
The platform owner approves which boundaries are tested, from where, and when.
02
Test from your own workloads
Run attempts from a dedicated test workload in each namespace, never from a customer's pod.
03
Use harmless targets
Plant a canary service or test secret on the far side of each boundary. Reaching it proves the crossing without touching real data.
04
Limit techniques
Allow only the techniques the approval names, and block the rest.
05
Keep a stop rule
Anyone on the approval list can halt the test at once.
07 · EVIDENCE

Turning results into evidence

A customer does not need your raw logs. They need a clear, checkable answer for each boundary you promise.

For each boundaryWhat the evidence shows
The boundaryWhich namespace, node or account it separates
The attemptWhat was tried, from where, with which identity
The resultBlocked or crossed, with the raw request and response
The controlWhich policy, role or setting stopped it
The dateWhen it was last proven

A one-page summary built from these records can answer the tenant isolation questions in a security questionnaire with evidence. The raw records sit behind it, for anyone who wants to check. For what a checkable record must hold, see Replayable Proof.

08 · CONTINUOUS

Re-prove isolation after every change

Isolation is not proven once. Every new namespace, policy change, role binding, upgrade or network plugin change can open a gap. Build re-proof into your routine.

TRIGGER 01
On a schedule
Re-run the full set of boundary tests regularly, for example monthly.
TRIGGER 02
After risky changes
Re-run the affected boundaries after changes to NetworkPolicy, RBAC, pod security settings or the network plugin.
TRIGGER 03
When a tenant is added
Prove the new namespace is isolated before customer data goes in.

Each run adds a dated record. Over time, that history is stronger than any single report. It shows isolation held, and kept holding.

09 · HAYROK

How Hayrok applies isolation proof

Hayrok is built to prove, not just to scan.

APPROVAL FIRST
A named approver, an agreed scope
Hayrok requires human approval before any attack technique runs.
EVIDENCE, NOT OPINIONS
A blocked crossing becomes proof
Evidence Fabric records each attempt, its result and the raw traffic.
FINDINGS YOU CAN ACT ON
Fixed, then re-tested
A successful crossing is reported with the evidence an engineer needs to fix it, and re-tested after the fix.

Ask us which boundary types Hayrok tests today. We will show you the evidence for each.

FAQ

Frequently asked questions

What is Kubernetes isolation proof?

Evidence, from a controlled attempt, that a workload cannot cross a boundary it should not cross.

Is a passing configuration scan enough to prove isolation?

No. A scan checks that rules exist and look right. Proof checks that they stop a real attempt.

Are Kubernetes namespaces isolated by default?

Not for network traffic. Pods accept traffic from any source until a NetworkPolicy selects them, and the network plugin must enforce that policy.

How do you test Kubernetes network policies?

Send real traffic from a test workload in one namespace to services in another, and record whether each attempt is blocked.

How do you test RBAC boundaries?

Use the credentials a workload actually has, and try to read or change resources outside its namespace.

What are Pod Security Standards?

Three Kubernetes security levels for pods: privileged, baseline and restricted. Testing checks the level you set is enforced.

Is isolation testing safe to run in production?

It can be, with approval, test workloads, canary targets, limited techniques and a stop rule. Runtime tests belong in a dedicated test namespace.

How often should we re-prove isolation?

On a regular schedule, after risky changes to policy, roles or networking, and whenever a new tenant is added.

How do SaaS companies prove tenant isolation to customers?

By testing each promised boundary and sharing a summary backed by evidence, not only an architecture diagram.

What should we do if a boundary fails?

Treat it as a finding. Fix the policy or role, then re-run the same attempt to prove the fix holds.

Prove your boundaries hold

There are two ways to work with us.

SHAPE IT
Hayrok Design Partner Program

For security leaders at SaaS, FinTech or cloud platform companies who want to help shape how isolation proof works for multi-tenant platforms.

Apply to the program →
PROVE IT NOW
90-day Early Adopter Program

Prove governed validation in your own environment, starting now.

Get early access →

At Hayrok Labs we question everything and Validate what matters.

REFERENCES · Kubernetes documentation: NetworkPolicy, Pod Security Standards.

KEEP READING