I have some staging and development web servers on cloud hosting. I do not want them to be accessible to the general public. It's easy enough to restrict access by network or authentication.
The problem is that there are many times where I want third parties to have access, so they can preview changes before they go into production. It would be too much to ask these third parties to configure VPN clients or to create user accounts for all of them. It's ok if it's a little bit less convenient than just sending them a link in an e-mail, but too much would be a problem.
Is there a best practice for this scenario? If so, what is it? I feel like I'm asking how I can have my cake and eat it to, so I completely understand if you tell me it's not possible.