Access control for the technical PM
Who may do what, and where that is decided: authentication vs authorization, OAuth and tokens, RBAC, ABAC, relationship-based access, Keycloak, and access control for AI agents.
Every access decision has four inputs: who, what, which object and under what conditions. Most failures are a missing check, not a clever attack.
Covers RBAC, ABAC, relationship-based access, and Keycloak.
Every product answers one question thousands of times a day: may this person do this to that, right now? Get it wrong in one direction and users cannot work. Get it wrong in the other and one user reads another's data. The login can be perfect while the check is missing.
This module teaches the models for answering that question, and a real identity server, Keycloak, that puts them into practice. It is written for technical product managers and for engineers who work with them. Each lesson has a plain-language body for decisions, and an "Under the hood" section for the mechanism.
A note on scope. Nothing else in this curriculum teaches these models. Neighbouring lessons cover pieces of the topic for specific settings. Tool permissions, blast radius & the trust boundary covers what an AI tool may do. Memory: session, user & organizational covers boundaries for memory. Multi-tenant isolation covers keeping tenants apart. This module supplies the models underneath them. It stays at the decision level and shows the mechanism where it helps.
The Keycloak lessons were checked by running Keycloak 26.7.5 locally. Where a claim comes from that run, the lesson says so. The Cedar and Rego examples were run too. Standards and some vendor pages could not be opened from the build environment, and the lessons label those claims.
Where the depth lives
| If you want the full depth on | Read |
|---|---|
| What an AI tool may do, and tiers of risk | Tool permissions, blast radius & the trust boundary |
| Prompt injection and defences | Safety, security & governance |
| Keeping tenants apart | Multi-tenant isolation |
| Run limits, approval gates and the kill switch | Running an agent in production |
| Memory boundaries and deletion | Memory & context |
| The wider security instincts | Security & privacy sense |
| HTTP and API basics under tokens | The request-response contract |
The knowledge graph
Eight lessons · the question, how it travels, a real system, a new caller
Every access decision has the same four inputs: who, what, on which object, under what conditions.
Read it in four passes. The models: how to decide, and which model fits. How it travels: how identity and permissions cross systems as tokens. A real system: how Keycloak implements both. The new caller: why an AI agent needs the same rules, with less trust.
The lessons
- Authentication, authorization and the access-control model — the one question every system answers, and the four parts that answer it.
- OAuth 2.0, OpenID Connect and tokens — delegation, login, the three tokens, and what an API must check.
- RBAC: roles, groups and where it breaks — the default model, and role explosion.
- ABAC: deciding with attributes and context — rules over facts, and the cost of trusting attributes.
- ReBAC and policy engines — sharing as a graph, and policy as code with OPA and Cedar.
- Keycloak: realms, clients, roles, groups and tokens — the parts, what a real token carries, and what running it costs.
- Keycloak Authorization Services — resources, scopes, policies and permissions, with real decisions.
- Access control for AI agents — the agent carries the user's authority and no more.
Each lesson has a 🎯 For the technical PM briefing, a labelled worked example, an "Under the hood" section for engineers, and a Sources list.
📌 Close out the module: Recap & real-world examples, which ends with a self-test.
