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

Workload Identity Patterns

Four kinds of workload, and how each proves who it is without holding a secret.

Editable source SVG draw.io All views
Identity issued
Identity issued
Credential held
Credential held
Token acquired
Token acquired
Resource authorized
Resource authorized
Evidence
Evidence
Azure-hosted app — App Service, Functions
Azure-hosted app — App Service, F...
System-assigned identity
created with the resource
System-assigned identity...
None to hold
platform-managed
None to hold...
IMDS token endpoint
no network egress
IMDS token endpoint...
Azure RBAC
Key Vault, SQL, Storage
Azure RBAC...
MI sign-in log
+ resource activity
MI sign-in log...
AKS pod — workload identity
AKS pod — workload identity
User-assigned identity
bound to service account
User-assigned identity...
Projected SA token
1 h, auto-rotated
Projected SA token...
Federated exchange
cluster OIDC issuer
Federated exchange...
RBAC at namespace RG
one identity per workload
RBAC at namespace RG...
AKS audit + SP sign-in
AKS audit + SP sign-in
CI/CD pipeline — GitHub, Azure DevOps
CI/CD pipeline — GitHub, Azure De...
App registration
one per repo per env
App registration...
Federated credential
subject = repo:env
Federated credential...
OIDC exchange at job start
no stored secret
OIDC exchange at job start...
PIM-activated deploy role
60 minutes
PIM-activated deploy role...
Run log + activation record
Run log + activation record
Legacy SaaS or on-premises — the exception path
Legacy SaaS or on-premises — the...
Service principal
170 remaining
Service principal...
Client secret in Key Vault
never in config
Client secret in Key Vault...
Client credentials grant
Client credentials grant
Least-privilege app role
no Graph write
Least-privilege app role...
Secret access log
90-day rotation SLA
Secret access log...
Workload Identity Patterns — four ways in, one authority
Workload Identity Patterns — four ways in, one authority
Three lanes hold no credential at all. The fourth exists only because 170 integrations cannot yet federate; it is tracked as a burn-down with a named owner per principal, not accepted as a steady state.
Three lanes hold no credential at all. The fourth exists only because 170 integrations cannot yet federate; it is tracked as a burn-down with a named owner per principal, not accepted as a steady state.
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 credential decision

  • Managed identity inside Azure, workload identity federation outside it. Three of the four lanes hold no credential at all, which removes rotation, storage and leakage as problems rather than managing them.
  • A federated credential is bound to an issuer, a subject and an audience. For GitHub that subject is repo and environment, so a workflow on a feature branch cannot obtain the production deploy identity.
  • The pipeline identity holds no standing Azure role either: it federates, activates through PIM for 60 minutes, deploys, and expires (view 21).

Governance of non-humans

  • Every workload identity has an owning group and an annual review. 3,400 of them outnumber administrators eighteen to one, and ungoverned they become the largest standing privilege in the estate.
  • One identity per workload, never one shared identity per team. Shared workload identities make the audit trail useless precisely when it is needed.
  • Azure Policy denies the creation of a new application secret in production subscriptions, so the exception lane cannot grow quietly.

The exception lane

  • 170 service principals still hold client secrets, held in Key Vault and rotated on a 90-day SLA. They exist because their targets cannot federate.
  • Each has a named owner and a target date. The burn-down is reported monthly; without a date this lane becomes permanent.
  • Conditional Access restricts these principals to named locations (view 13), so a leaked secret used from elsewhere is blocked rather than merely detected.