IAM and Access Service implemented
This page is the detailed engineering packet for the shared IAM and access boundary.
Scope
IAM / Access owns:
- organizations, departments, and projects
- memberships and role bindings
- scopes and entitlement-bearing identities
- service accounts and API-key lineage
- product authorization evidence
It does not own provider authentication truth for humans. Keycloak handles authentication and federation; platform IAM remains the product authorization authority.
Context
Core Data Model
The stable hierarchy is:
organization -> department -> project -> principal
Main principal classes:
- human user
- service account
- group
Service accounts are project-scoped and should use short-lived tokens.
Main Contract Surfaces
| Surface | Purpose |
|---|---|
/access/* | user/admin access and membership surfaces |
/iam/* | platform IAM and read/write controls |
| service account APIs | machine principal lifecycle |
| scope registry | product-scoped authorization vocabulary |
Key Flows
Human authorization
- user authenticates with Keycloak or another upstream IdP
- API validates token locally
- platform IAM resolves membership, role, scope, and project authority
- product route applies ownership and authz checks
Service account flow
- project admin creates service account
- service account receives scoped credential material
- automation mints short-lived bearer tokens
- API enforces project scope and route allowlist
Security Model
- provider IdP is authentication authority
- platform IAM is authorization authority
- service accounts are not MFA subjects
- privileged mutations must be audited
- cross-project or cross-tenant service accounts are not a default pattern
Failure / Recovery Model
| Failure class | Expected posture |
|---|---|
| stale or invalid token | fail closed |
| missing membership/scope | fail closed |
| stale read model beyond budget | write paths reject or block |
| IdP unavailable but token still valid | local validation can continue within trust rules |
Related Pages
- Platform Shared Services
- IAM and Identity Team Guide
- Platform IAM Capabilities
- Resource Model and Naming
Canonical sources