Azure Managed Identity provides a mean to only allow explicitly defined users/apps to access a given resource. For instance I can setup that no-one can access my database except the Managed Identities A and B. If C (or someone with no identity) tries to access the database, they are blocked. Even if they have the connection string (as I understand it).
But how does this play along with the Zero Trust principles. Particularly the Verify Explicitly, which is here described by Microsoft:
Always authenticate and authorize based on all available data points, including user identity, location, device health, service or workload, data classification, and anomalies.
This makes it sound like you always have to have some sort of built-in access control in your application (or database), using something like tokens or username/password.
But if that is the case, then what is Managed Identities meant for? An extra security layer, in case someone steals the access credentials? Or have I completely misunderstood Zero Trust and/or Managed Identities?