Security Identity and Access Control
Delegated Authorization
Domain: Security, Identity & Access Control
Status: Implementation guidance / design checklist
Applicability: Depends on product architecture and risk
Concept
Delegated Authorization is the capability concerned with delegated authorization in the broader domain of identity boundaries, confidentiality, and authorized actions. Its purpose is to make this concern explicit, testable, governable, and reusable across AI-powered workflows. Identify principals, resources, operations, and enforcement points for Delegated Authorization.
Recommended Practices
- Enforce least privilege at service boundaries; rotate credentials; test cross-tenant and confused-deputy attacks.
- Define an owner, API/schema contract, failure response, and acceptance criteria for delegated authorization.
- Add automated positive, negative, boundary, and permission tests for delegated authorization; review metrics in staging and production.
Example Use Cases
- An agent acts on behalf of a signed-in user but cannot read a repository that user cannot access.
- Apply delegated authorization in a high-volume enterprise workflow while recording the user, project scope, input contract, and observable outcome.
Common Implementation Pitfalls
- Checking access in the UI only, or allowing service credentials to bypass user ACLs.
- No documented fallback, operational owner, or signal showing when delegated authorization is failing.
- Testing only happy paths while ignoring missing data, revoked access, malformed outputs, and partial outages.
Production Readiness Checklist
- An accountable owner and technical contract for delegated authorization are documented.
- At least one successful and one failing end-to-end scenario is reproducible.
- Access controls, retention, and audit requirements are verified where relevant.
- Release monitoring includes a measurable success or failure signal for this capability.
Design Questions
- What concrete risk or business requirement requires Delegated Authorization?
- What happens when it is unavailable, wrong, stale, or slow?
- How is its success evaluated against a trusted reference or observed outcome?
- Who can change its configuration, and how are changes released and rolled back?