liveBook · Manning

Zanzibar

As explained in Authorization in Action

Zanzibar is Google's globally scalable authorization system that evaluates access through a graph of relationships among users, resources, and other entities.

Zanzibar is a globally scalable authorization system that decides access from relationships among users, resources, and permissions. Instead of asking whether a role grants access, it asks whether a principal has a specific relation to a resource, such as viewer, editor, or owner. section 6.1

A relationship graph represents principals and resources as nodes, with connections defining permissions and their justifications. This supports fine-grained, dynamic decisions for shared documents, folders, groups, calendars, support tickets, and deployment plans. section 6.1 section 8.0

Collaborative document access

Sharing a document with a colleague illustrates the model: the colleague becomes a viewer, commenter, or editor through a relationship with that document rather than through a centrally assigned role. Indirect relationships, such as “manager of the owner,” can also influence authorization. section 6.1

Figure 6.1 A relationship graph used by ACME Corp’s Customer Collaboration platform. Employees like Bob and Alice are linked to customer accounts through roles such as support engineer and solution architect. Access to resources such as support tickets and deployment plans is controlled by these relationships, allowing for dynamic, fine-grained authorization decisions based on who is connected to what and how.

A relationship graph connects employees and customers to accounts and shared resources, showing how roles and responsibilities produce dynamic access decisions. section 6.1

How Authorization in Action covers it

How deep it goes
Explains relationship graphs, direct and indirect relations, and representative resource scenarios without detailing Zanzibar’s implementation internals.
Examples
Uses Google Docs sharing and an enterprise collaboration graph containing customers, employees, support tickets, and deployment plans.
What it assumes
Assumes basic authorization concepts while defining principals, resources, permissions, and relationships through concrete access scenarios.
What you can do after
Evaluate/understand how relationship graphs support dynamic authorization across shared resources and collaborative systems.
How it connects
Connects relationship-based access control with authorization graphs, delegated permissions, OpenFGA, and fine-grained access control.

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.