Enterprise Identity & Access Management Platform  ·  View 19 of 27  ·  Runtime

External Identity

A customer signing in, a partner employee reaching a corporate resource, and the line between them.

Editable source SVG draw.io All views
Customer
Customer
Partner employee
Partner employee
Customer application
Customer application
Entra External ID
Entra External ID
Corporate Entra ID
Corporate Entra ID
Partner home tenant
Partner home tenant
Tenant-scoped API
Tenant-scoped API
1. sign up or sign in
1. sign up or sign in
2. OIDC user flow + PKCE
2. OIDC user flow + PKCE
3. local account or Google / Apple
3. local account or Google / Apple
4. step-up: email OTP or authenticator
4. step-up: email OTP or authenticator
5. tokens, tid = CIAM tenant
5. tokens, tid = CIAM tenant
6. call with customer token
6. call with customer token
7. subject to customer_id, load org scope
7. subject to customer_id, load org scope
8. that customer's data only
8. that customer's data only
9. access a contoso resource
9. access a contoso resource
10. cross-tenant: was MFA satisfied?
10. cross-tenant: was MFA satisfied?
11. MFA + device claims, trusted
11. MFA + device claims, trusted
12. guest object + collaboration settings
12. guest object + collaboration settings
13. token: guest, restricted app role
13. token: guest, restricted app role
14. guest predicate: no export, no admin scope
14. guest predicate: no export, no admin scope
15. restricted view
15. restricted view
16. no trust in this direction, by design
16. no trust in this direction, by design
External Identity — customer sign-in and partner federation
External Identity — customer sign-in and partner federation
Two journeys, one rule: the tenant a subject came from is a claim the API reads, never a parameter the caller supplies. The red line is the point of the view — the CIAM tenant can obtain nothing in the corporate tenant, so a customer-facing compromise has no path to an administrative role.
Two journeys, one rule: the tenant a subject came from is a claim the API reads, never a parameter the caller supplies. The red line is the point of the view — the CIAM tenant can obtain nothing in the corporate tenant, so a customer-facing compromise has no path to an administrative role.
v 1.0 · owner Data & AI Global Practice · date 2026-08
v 1.0 · owner Data & AI Global Practice · date 2026-08
Text is not SVG - cannot display

The boundary

  • The red line is the point of the view. The CIAM tenant has no trust relationship into the corporate tenant, so a compromise of the customer-facing estate has no path to an administrative role.
  • Partner access is B2B collaboration with cross-tenant access settings, and MFA satisfied in the partner's home tenant is trusted. That is a deliberate transfer of part of the assurance to 34 organisations, reviewed annually.
  • The tenant a subject came from is a claim, never a parameter. Any API that accepted a tenant identifier from the caller would defeat every control in view 25.

Customer experience choices

  • Social federation with Google and Apple, plus local accounts. Email OTP is a step-up rather than a primary factor, and passkeys are the direction of travel.
  • Sign-up is self-service with progressive profiling; identity proofing is out of scope for this platform and belongs with the onboarding product.
  • Customer tokens carry a customer_id mapped from the subject, so the application never joins on an email address.

Risks

  • Guests inherit access through nested groups if the group model is not flat. Nesting is capped at two levels and reviewed every 90 days (view 27, row 5).
  • A partner tenant with weak MFA weakens the guest path. Cross-tenant settings are per-partner, so a specific partner can be downgraded to local MFA without changing the model.
  • 1.2M customer identities make the CIAM tenant a target in its own right. It has its own Conditional Access estate, its own risk policies and its own Sentinel workspace.