Asgard from Netflix[1] basically did what you are asking for. But it has been deprecated[2] and replaced with Spinnaker[3], which has a bit of a different focus.
But really, with couple dozen VMs, you don't have a cloud management problem. I would take a step back and figure out what the problem is, and where you want to be. Why are people creating VMs? What are the problems with them creating VMs? How do you mitigate those problems? If it is just tracking, then tags + education can help solve the issue. If it is security and standardization, an opinionated deployment system could help.
With a couple dozen VMs, I'd say you probably shouldn't be running any VMs you manage yourself, and you should be using fully manage solutions. Then focus on the tooling that makes those solutions efficient to use for your users, while meeting your security needs.
[1] https://netflixtechblog.com/asgard-web-based-cloud-managemen...
[2] https://github.com/Netflix/asgard
[3] https://spinnaker.io/