The MVP part is the honest bit. The admin database user that "works out of the box" is usually still there two years later because nobody wants to find out what breaks. A cheap way to retrofit it: create the narrower role, point a staging copy at it, and let the permission errors tell you what the service really touches. The read-only analytics role example is a good first one to try, since the failures are loud and the blast radius is small.
StackShortlist
Proof Over Promises.
The MVP part is the honest bit. The admin database user that "works out of the box" is usually still there two years later because nobody wants to find out what breaks. A cheap way to retrofit it: create the narrower role, point a staging copy at it, and let the permission errors tell you what the service really touches. The read-only analytics role example is a good first one to try, since the failures are loud and the blast radius is small.