Hi @MiKeZZa ,
What concerns do you have using AAS with a gateway?
If you use an On-Premises Gateway, you can lock the refresh of the cube to that gateway only.
In advanced settings, there is an option ASPaaS \ AlwaysUseGateway which will ensure the gateway is always used when connecting the sources.
Then you just need to connect the subnet the Gateway VM is associated too, to the logical SQL server hosting the Synapse SQL pool.
If you wish to go with the option of using a Self Hosted Integration Runtime to find the IP address of Analysis Services, I was unable to make a web call with MSI authentication using Self Hosted integration runtime, the error was
"Could not load file or assembly 'Microsoft.DataTransfer.TransferServiceLib, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified"
This appears to be a problem with the Integration runtime, because if I run the same call with an Authorization header, it works as expected. I suggest raising a case with Microsoft if you decide to go down this path so they can fix it.
Using this method, you would firstly initiate a POST with /refreshes on your model with the refresh details in the body.
You would then GET /refreshes , which will return a list of the refreshes (unfortunately the initial call doesn't return the refresh id) and find the last refresh id.
You would then GET /refreshes and the ID you picked from the previous step.
And then parse the output for the IP address
After whitelisting the IP address, you can run a POST on /refreshes again with the original body, or use other methods to process the cube.
-Rob