Kubernetes Security

Machine Identity Management for Kubernetes.

Machine identity management for Kubernetes is the gap most IAM programs leave open. With 82 machine identities per human in the average enterprise, most Kubernetes workloads still authenticate with shared credentials and no per-workload identity. Riptides gives every pod, service, and job a verifiable SPIFFE identity, automatically, with no application changes.

Your Kubernetes RBAC Covers the Cluster. Nothing Covers the Workloads.

Kubernetes RBAC governs what humans and service accounts can do inside the cluster. It does not govern which workloads can communicate with which services, whether those connections are authenticated, or whether the credentials workloads carry outside the cluster are scoped and attributable.

Ephemeral workloads make this gap sharper. Batch jobs, CronJobs, and autoscaled pods spin up and disappear in seconds, but the Kubernetes service accounts they run under persist indefinitely and keep their permissions after the pod is gone. Any credential that leaked during that window remains valid long after the workload terminated. There is no pod to trace it back to, and no automatic revocation. Kernel-attested identity solves this because the identity is scoped to the running process, not the service account. When the pod exits, the identity expires with it. Nothing persists for an attacker to reuse.

82x

more machine identities than human identities in the average enterprise

CyberArk Identity Security Landscape, 2025

292

days average to identify and contain a credential breach, longer than any other vector

IBM Cost of a Data Breach, 2024

22%

of breaches start with credential abuse, the most common initial access vector

Verizon DBIR, 2025

Shared service accounts with no attribution

Multiple pods share a single Kubernetes service account token. When that token triggers an alert, you cannot attribute the action to a specific workload, replica, or deployment.

Flat east-west trust

Services inside the cluster can communicate without authentication. A compromised pod can reach any other service on the network, no identity, no audit trail, no enforcement.

Static credentials for cloud services

Pods authenticating to AWS, GCP, or databases carry long-lived credentials, mounted secrets, IRSA tokens, or env vars, that can be extracted from memory or logged accidentally.

No enforcement below the application

Network policies and RBAC operate at the cluster level. A workload that is compromised can make calls that no Kubernetes control plane policy can intercept.

Ephemeral workloads have persistent credentials

Batch jobs, autoscaled pods, and short-lived containers are created and destroyed constantly, but the service accounts and credentials they use persist. A credential tied to a terminated pod remains valid long after the workload is gone. Kubernetes pod machine identity attested at the kernel means the identity is scoped to the running process and expires with it. No credential outlives the workload that used it.

Per-Workload Identity for Every Process on the Node

A single kernel module on each node gives every workload a SPIFFE identity and enforces policy before any packet leaves the host. No annotation, no sidecar, no application change required.

2

Secretless cloud authentication

Credentials for AWS, GCP, databases, and internal services are injected at the kernel for each request, never stored in process memory or environment variables.

3

Automatic mTLS

Service-to-service connections are mutually authenticated and encrypted using SPIFFE SVIDs. No cert-manager, no service mesh, no proxy configuration.

4

Policy and attribution

Every connection logged with the workload's identity, destination, and policy decision. Full attribution for incident response and compliance audits.

Frequently Asked Questions

What is machine identity management for Kubernetes?

Machine identity management for Kubernetes means giving every workload, every pod, service, job, and process, a unique, verifiable identity rather than having them share service account tokens or static credentials. With per-workload identity (typically implemented via the SPIFFE standard), you can enforce which workloads can communicate with which services, attribute every connection to a specific workload during incident response, and eliminate the credential sprawl that shared service accounts create.

What is NHI security in a Kubernetes context?

NHI stands for Non-Human Identity, the service accounts, API keys, machine tokens, and workload credentials that outnumber human identities by 82:1 in the average enterprise. In Kubernetes, NHI security means securing the credentials and connection policies for every pod and service, not just the humans who access the cluster. Most Kubernetes environments have strong human IAM (RBAC, SSO) but weak or absent NHI controls below the human layer.

How does Riptides differ from Kubernetes RBAC for machine identity?

Kubernetes RBAC controls what humans and service accounts can do inside the cluster, which API resources they can access. It does not govern workload-to-workload communication, outbound connections to external services, or credential management outside the cluster API. Riptides operates below the cluster layer: it gives every process a kernel-attested SPIFFE identity and enforces connection policy for all network traffic, including east-west service calls and outbound cloud API connections.

Can Riptides work alongside existing Kubernetes service accounts?

Yes. Riptides does not replace Kubernetes service accounts, it adds a layer of kernel-attested workload identity below them. Workloads continue to have Kubernetes service accounts for cluster API access, while Riptides handles outbound identity, mTLS, and credential injection for connections outside the cluster control plane.

Secure the agents you're
already running.

Identity, access control, and a full audit trail for every agent and service — enforced on the host, with no code changes. Up and running in an afternoon.