Using NSGs is not complex at all, please refer to the instructions provided on this article. Only 5 steps needed.
Allow Power Bi Dataset Access to Azure Resources
I have a Power Bi (M365/Azure kind, not on premise) dataset that is syncing data from one of my Azure SQL databases. This Azure database resource has its network firewall enabled to only allow connections from whitelisted public IP addresses. I am able to add the public IP of the Power Bi dataset to this whitelist and then the connection works.
The issue I am running into, the pubic IP address of the Power Bi dataset is not static. This means I have to go into the resource and update the whiltelist each time it changes. From watching it the last few days, it seems to always be a 40.80.184.0/21 address, but the documentation suggests this could change at any time so I am hesitant to open a large range of addresses.
I know Azure has service tags, specifically the PowerBI one, that is kept up to date by Microsoft with the IPs for that service, but from what I can tell those are only usable on Azure NSG and not on individual resources. I am wondering what would be the best practice solution here, as whitelisting the entire address space seems reckless and fallible, and setting up a security gateway in the VNET with the NSG's seems overly complex for what feels like a simple problem. Below is the error from Power Bi after the IP address changes and is no longer whitelisted.