What is the error message
There are two messages that have the same cause.
When opening the setting of a semantic model there is the message: "This semantic model was disconnected from data sources when it was edited by a user who wasn't authorized to use the data connections. "
After publishing a Power BI file you get the message: "Your file was published, but disconnected"
Additional a manual refresh fails with the very generic error: "Something went wrong , Refresh failed because this semantic model requires a gateway."
and a scheduled refresh fails with "There is no gateway".
Why this message
Admins have enabled “granular access control”. This can be enabled at the tenant level, workspace level or at the dataset level. When enabled at tenant level or workspace level, all datasets in this tenant or workspace are forced to have “granular access control” enabled and cannot be disabled at the dataset level.
The reason for admins to enable this feature is to prevent users from gaining access to data they are not supposed to have access to. By making changes to the semantic model, data from the data sources can be made available, that was unavailable in the previous version. This might be restricted or sensitive data. With “granular access control” enabled, the Power BI service wants proof of access to the data sources if changes are made to the semantic model by anyone who is not the current owner.
The way Power BI Report Server enforces this policy is a rather brute way to be honest. If someone else than the current owner of the semantic model makes changes or uploads a new version, all data connections are disabled and need to be reauthenticated. And of course this comes with a confusing message.
How to fix it
Basically there are 3 ways to fix this issue.
Option 1 and 2 have to be repeated every time changes are made of the semantic model by anyone else than the current owner. This can be changes made in the browser or the upload of a new version.
Option 3 is a one-time configuration and will continue to work as long as the persons making changes are allowed to use these connections.
1. Take over semantic model and reauthenticate
- Go to the setting of the semantic model (3 dots – > Settings)
- Click on “Takeover” to take over ownership
- Open “Data source connections”
- For all data sources click “Edit credentials” and apply the credentials
2. Ask current owner to reauthenticate
- Ask the owner of the semantic model to:
- Go to the setting of the semantic model (3 dots -> Settings)
- Open “Data source connections”
- For all data sources click “Edit credentials” and apply the credentials
3. Use gateway or shared cloud connection
- Go to the setting of the semantic model (3 dots -> Settings)
- Click on Takeover if you are not the current owner of the semantic model
- Open “Gateway and cloud connections”
- For all data sources perform the following:
- If the data source is already connected to a gateway connection or shared cloud connection, check the permission on this connection. See section below
- If not, create either a gateway connection or a shared cloud connection. Add user to that connection. See section below
- If the use of an on-prem gateway or VNET gateway is not needed, a shared cloud connection is preferred
Gateways and shared cloud connections
When using the on-prem gateway, VNET gateway or shared cloud connections, make sure all users that are allowed to make changes to the sematic model are also added as user to the connection itself.
Check or add users
- Click on the Settings icon in the top rights of the window -> manage connections and gateway
- Find the connection and click the 3 dots and then select “Manage users”
More information on shared cloud connections
https://learn.microsoft.com/en-us/power-bi/connect-data/service-create-share-cloud-data-sources