Security and identity

Security combines workload identity, encrypted connections, and access decisions at several layers. Each layer answers a different question; allowing a connection does not by itself authorize an operation.

Identity and authorization

Mutual TLS authenticates the workloads at each end of an internal connection. A component’s workload identity identifies its service and component, so an access decision can be more specific than the service name. The ledger uses identity to attribute actions to the workload that performed them.

An internet client and the Akka ingress are different hops. The internet principal identifies a request arriving through an Akka route; it does not establish an end user’s identity. Use token validation to authenticate end users and external clients.

Network policies and access control lists (ACLs) are independent. Network policies govern permitted connections across the project boundary. ACLs govern which principals may invoke a component or method. A request must satisfy both layers where they apply.

Choosing a mechanism

Mechanism Controls Use when

Network policy

Which peers can open a connection to the project at all

A service talks to something outside the project

ACL

Which principals can invoke which component or method

You restrict service-to-service and internet access

JWT

Which end users or external clients are authenticated, and with which claims

Callers are people or systems outside Akka

Client mTLS on a route

Which internet clients may connect

You control every client and can issue certificates

Roles

What people can do in the organization or project

You grant access to the console, the CLI and the backoffice

Isolation and credentials

Platform multi-tenancy isolates organizations and projects sharing infrastructure. Application multi-tenancy isolates the customers your own service serves. These are separate design concerns. Dedicated infrastructure changes the former; your application still needs appropriate authorization for its users.

Project secrets hold credentials. Workload identity can replace long-lived credentials when calling cloud APIs that accept Akka’s short-lived identity tokens. User roles control management access, including the backoffice, independently of endpoint authentication.

Next steps