Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Hello, I have two questions related to power bi report and dataset.
1. I have looked at the REST API site (https://docs.microsoft.com/pt-br/rest/api/power-bi/datasets/get-datasets-in-group) to look for an endpoint that returns a effective identity related roles that are defined through Power BI desktop development with no luck. Does anyone know what endpoint can I use to retrieve that information?
2. what are the differences between EffectiveIdentyRole and EffectiveIdentity? (see the below example Json from the website
{
"value": [
{
"id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",
"name": "SalesMarketing",
"addRowsAPIEnabled": false,
"configuredBy": "john@contoso.com",
"isRefreshable": true,
"isEffectiveIdentityRequired": false,
"isEffectiveIdentityRolesRequired": false,
"isOnPremGatewayRequired": false
}
]
}
Thanks!
Sabrina
Solved! Go to Solution.
Hi,
1. There is no Power BI REST API endpoint for this unfortunately. I've tried looking for the same and @lbendlin had pointed me in the DMV direction also. To expand on that, you can connect to the XMLA endpoint and run some queries. There are pros and cons. In case you want more info, here is some doco with examples: https://docs.microsoft.com/en-us/analysis-services/instances/use-dynamic-management-views-dmvs-to-mo...
Using the DMVs you can get roles, members, and the role filters per table, however only one view can be queried at a time with no joins allowed. I ended up building up data from the following DMVs:
$SYSTEM.TMSCHEMA_ROLES
$SYSTEM.TMSCHEMA_ROLE_MEMBERSHIPS
$SYSTEM.TMSCHEMA_TABLES
$SYSTEM.TMSCHEMA_TABLE_PERMISSIONS
Here's a link to my previous post if you're interested (there is a analysis.windows.net API endpoint you could call but I couldn't make it work): https://community.powerbi.com/t5/Developer/How-to-get-model-not-Dataset-ID-Part-of-getting-RLS-Roles...
2. From the doco (https://docs.microsoft.com/en-us/rest/api/power-bi/admin/datasets-get-datasets-as-admin#dataset)
IsEffectiveIdentityRequired | Whether the dataset requires an effective identity. This indicates that you must send an effective identity using the GenerateToken API. |
IsEffectiveIdentityRolesRequired | Whether RLS is defined inside the PBIX file. This indicates that you must specify a role. |
Hope that helped.
Hi, now it`s accesible by using method described here https://learn.microsoft.com/en-us/rest/api/power-bi/admin/workspace-info-post-workspace-info
PostWorkspaceInfo makes Power BI generate a scan of your workspace, which you can check for using GetScanStatus, then read using GetScanResult. The scan result contains information about row-level security roles https://learn.microsoft.com/en-us/rest/api/power-bi/admin/workspace-info-get-scan-result#definitions, including members of those roles and the RLS filters applied to those roles.
Hi, would you be able to detail what flags you used when calling this Endpoint. I was not able to retrieve the row level security groups this way.
Many thanks.
Hi,
1. There is no Power BI REST API endpoint for this unfortunately. I've tried looking for the same and @lbendlin had pointed me in the DMV direction also. To expand on that, you can connect to the XMLA endpoint and run some queries. There are pros and cons. In case you want more info, here is some doco with examples: https://docs.microsoft.com/en-us/analysis-services/instances/use-dynamic-management-views-dmvs-to-mo...
Using the DMVs you can get roles, members, and the role filters per table, however only one view can be queried at a time with no joins allowed. I ended up building up data from the following DMVs:
$SYSTEM.TMSCHEMA_ROLES
$SYSTEM.TMSCHEMA_ROLE_MEMBERSHIPS
$SYSTEM.TMSCHEMA_TABLES
$SYSTEM.TMSCHEMA_TABLE_PERMISSIONS
Here's a link to my previous post if you're interested (there is a analysis.windows.net API endpoint you could call but I couldn't make it work): https://community.powerbi.com/t5/Developer/How-to-get-model-not-Dataset-ID-Part-of-getting-RLS-Roles...
2. From the doco (https://docs.microsoft.com/en-us/rest/api/power-bi/admin/datasets-get-datasets-as-admin#dataset)
IsEffectiveIdentityRequired | Whether the dataset requires an effective identity. This indicates that you must send an effective identity using the GenerateToken API. |
IsEffectiveIdentityRolesRequired | Whether RLS is defined inside the PBIX file. This indicates that you must specify a role. |
Hope that helped.
Hi, just found. In our server worked: pbi.com...api/v2.0/PowerBIReports({Report ID})/DataModelRoles
Thank you!
You can get the RLS roles through DMV queries against the XMLA endpoint.
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.