TL;DR: Canvas was breached because an authenticated subject could perform high-trust actions through support and content workflows, exposing usernames, email addresses, course names, enrollment data, and messages, according to EnforceAuth's analysis of Instructure's incident. The real lesson is that authentication can work perfectly while authorization still leaves a tenant-scale blast radius.
Editorial analysis by NHI Mgmt Group, based on content published by EnforceAuth: “The Authorization Gap That Took Canvas Offline”.
Key questions
Q: What breaks when authentication is correct but authorization is weak in SaaS platforms?
A: A platform can verify identity correctly and still let the wrong subject perform high-impact actions.
Q: Why do support workflows create breach risk in SaaS environments?
A: Support workflows often need exceptional visibility or write access, which makes them tempting trust shortcuts.
Q: How do security teams know if authorization is actually limiting tenant blast radius?
A: Look for evidence that every sensitive action records the tenant, purpose, policy version, and grant expiry, and that denied attempts are visible in logs.
Practitioner guidance
- Map every high-trust workflow Inventory support reads, exports, content changes, ticket-driven exceptions, and token issuance paths that can touch tenant data.
- Separate tenant and support authority Require explicit policy checks for tenant ID, purpose, verified request state, and approved operator role before any sensitive action executes.
- Move authorization decisions into a central policy layer Replace scattered in-code checks with enforceable runtime policy so the same rule governs support access, exports, and content updates.
Bottom line: Canvas shows that multi-tenant SaaS can fail at authorization even when authentication works as designed.
Explore further
View Full Forum → | NHI Foundation Course → | Our Services → | Read the full analysis →
Multi-tenant SaaS authorization drift is the central failure mode here: the platform allowed an authenticated subject to exercise authority that was not explicitly granted in context. That is a governance problem, not an identity proofing problem. The article shows that the weak point sits at the action layer, where tenant, purpose, and evidence should have been checked before execution. Practitioners should treat that as the primary SaaS control boundary.
A question worth separating out:
Q: What should SaaS teams do when a low-trust account can reach high-trust content or support actions?
A: Treat that path as a design flaw, not a corner case. Re-model the workflow so the action is denied unless the tenant, purpose, and request context are explicitly authorised at runtime. Then separate support authority from customer-facing identity state so one valid session cannot become tenant-wide reach.
👉 Read our full editorial: Canvas exposed the authorization gap in multi-tenant SaaS