This question evaluates system design and security architecture skills, focusing on centralized authorization/ACL models, API and data modeling, caching and consistency strategies, scalability, multi-tenant isolation, and operational concerns for low-latency, highly available services in a microservices environment.
Design a centralized authorization (ACL) checking service used by other internal services to decide whether a principal can perform an action on a resource.
Multiple microservices (e.g., Orders, Docs, Billing) need consistent access control. Instead of each service implementing authorization logic, they call an internal service to evaluate policies.
Core functionality
(principal, action, resource, context)
return
ALLOW/DENY
.
/orgs/{id}/projects/{id}/docs/{id}
) and non-hierarchical resources.
read
,
write
,
delete
,
admin
, etc.
Non-functional (make reasonable assumptions and state them)
Login required