System vs user-assigned managed identity vs service principal

This sheet compares System-assigned MI, User-assigned MI, Service principal, Legacy service principal.

CriterionSystem-assigned MIUser-assigned MIService principalLegacy service principal
LifecycleTied to one resource, deleted with itIndependent, attach to manyIndependent app object plus SPNo app object, single tenant

The verdict, the full comparison, 6 rules and 3 traps are part of SC-300 access. Unlock SC-300.