liveBook · Manning

Tenant isolation

As explained in Authorization in Action

Tenant isolation is the separation of each customer's data, resources, and operations from those of other customers in a shared system.

When an internal application becomes a shared cloud service, a database field such as project_id is not enough to separate customers. Tenant isolation makes each customer’s data, resources, identities, policies, and operations belong to an explicit authorization boundary. section 13.2 section 13.3.1

A tenant receives a globally unique tenant_id, its own namespace for entities, relationships, and policies, and a directory record for ownership, configuration, and identity providers. Every principal, resource, relationship graph, policy bundle, and audit record is scoped to that tenant. section 13.3.1

Effective isolation connects architecture, policy, and operations:

  • Centralized policy evaluation replaces service-specific boundary checks and provides consistent decisions and auditability. section 13.2
  • Layered authorization separates system, application, and tenant trust domains while supporting federated and hosted identities. section 13.8
  • Gateway, service, and user-interface enforcement points can work with policy decision points, graph traversal, partial evaluation, and batch checks. section 13.8
if request.user.company == "ACME" or request.user.project_id == project.id:
    allow_access(project)

This legacy check illustrates why a shared project field cannot provide a complete tenant boundary. section 13.2

How Authorization in Action covers it

How deep it goes
Explains tenant identifiers, namespaces, policies, identity, audit records, and layered enforcement without specifying low-level implementation internals.
Examples
Uses project_id checks, globally unique tenant_id values, tenant namespaces, scoped audit records, and layered PEP/PDP enforcement.
What it assumes
Assumes application-level project checks and identity systems, while teaching how to replace implicit boundaries with explicit tenant authorization.
What you can do after
Operate/configure multi-tenant authorization with explicit scopes, centralized decisions, layered enforcement, and tenant-specific policy customization.
How it connects
Connects tenant isolation to authorization, identity, policy engines, data isolation, audit trails, and delegated administration.

Also explained in

Compare how 2 books explain tenant isolation →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Authorization in Action. The section links point to the parts of the book it draws on.