CodamAIDocs
Subject area

Tenant isolation in CDMS

How CDMS keeps customers apart: one database per tenant, where the tenant of a request comes from, how it is switched, and which rules are never broken.

Topics in this subject area

  1. 1.SINGLE and MULTI

    The two operating modes of data storage: one database for everyone or one per tenant. What changes as a result.

  2. 2.Where the tenant of a request comes from

    The tenant is in the token. This page explains how it is read and what happens without a tenant.

  3. 3.Which database? The persistence target

    The decision whether an access lands in the system DB or in the tenant DB, as a complete decision table. Without a fallback to the system DB.

  4. 4.Tenant switch by header

    How an authorized person works for another tenant with the tenant header, and why a switch without the role is silently ignored.

  5. 5.User switch by header

    How an authorized person works on behalf of another person, with their own roles or with those of the target person, and which checks come first.

  6. 6.Is the tenant served?

    Before every access the filter chain asks CIAS whether the tenant is active. This page gives the CDMS view; the details are in the CIAS section.

  7. 7.Databases, pools, migration

    Every tenant has its own database with its own connection pool. When it is created and how its schema is migrated.

  8. 8.Rules that are never broken

    The security invariants of tenant isolation: no fallback to the system DB, separate type sets, only three places may set a tenant.

Search