In practice it is mostly about resisting convenience. One admin role that can do everything is easier to build than three roles that each do less, and it means one compromised laptop is a total compromise. Splitting roles is tedious exactly once, at the start.
Apply it to machines too. A deploy key that can only deploy, a database user that can only read, an API key scoped to one service. Most real incidents are not clever: they are a credential that could do far more than the thing it was there to do.
Updated August 2026
Go deeper