Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
Anonymous
Not applicable

Power BI Embedded RLS won't work

Hi,

I am having issues testing out a solution for a client, who needs RLS. I followed GuyInACube's documentation, but when running the sample app (App owns data) all I get is 401 Unauthorized. As you can see, I have intentionally coded the username below to match a specific ID.

 

var generateTokenRequestParameters = new GenerateTokenRequest(accessLevel: "View",
                    identities: new List<EffectiveIdentity> { new EffectiveIdentity(username: "411FF129-8FFF-452B-AD1F-9DEDD336EA62", roles: new List<string> { "Test" },
                    datasets: new List<string> { "5e6881e9-e4bb-4eda-868f-2db80699f71c/datasets/744b301e-9140-4b8d-9310-0094c4dcd0ca" }) });

According to error prompt, I get an error on line 84:

var tokenResponse = await client.Reports.GenerateTokenInGroupAsync("groupId", "reportId", generateTokenRequestParameters);

I am currently testing this out without Premium, locally. Does this have anything to do with it - is Premium required to test RLS?

 

Thanks

1 ACCEPTED SOLUTION
Eric_Zhang
Microsoft Employee
Microsoft Employee


@Anonymous wrote:

Hi,

I am having issues testing out a solution for a client, who needs RLS. I followed GuyInACube's documentation, but when running the sample app (App owns data) all I get is 401 Unauthorized. As you can see, I have intentionally coded the username below to match a specific ID.

 

var generateTokenRequestParameters = new GenerateTokenRequest(accessLevel: "View",
                    identities: new List<EffectiveIdentity> { new EffectiveIdentity(username: "411FF129-8FFF-452B-AD1F-9DEDD336EA62", roles: new List<string> { "Test" },
                    datasets: new List<string> { "5e6881e9-e4bb-4eda-868f-2db80699f71c/datasets/744b301e-9140-4b8d-9310-0094c4dcd0ca" }) });

According to error prompt, I get an error on line 84:

var tokenResponse = await client.Reports.GenerateTokenInGroupAsync("groupId", "reportId", generateTokenRequestParameters);

I am currently testing this out without Premium, locally. Does this have anything to do with it - is Premium required to test RLS?

 

Thanks


@Anonymous

Please try

 

var generateTokenRequestParameters = new GenerateTokenRequest("View", null, identities: new List < EffectiveIdentity > {
                 new EffectiveIdentity(username: "411FF129-8FFF-452B-AD1F-9DEDD336EA62", roles: new List < string > {
                  "Test"
                 }, datasets: new List < string > {
                  "744b301e-9140-4b8d-9310-0094c4dcd0ca"
                 })
                });

var tokenResponse = await client.Reports.GenerateTokenInGroupAsync("5e6881e9-e4bb-4eda-868f-2db80699f71c", "{the actually embedded reportid here}", generateTokenRequestParameters);

View solution in original post

1 REPLY 1
Eric_Zhang
Microsoft Employee
Microsoft Employee


@Anonymous wrote:

Hi,

I am having issues testing out a solution for a client, who needs RLS. I followed GuyInACube's documentation, but when running the sample app (App owns data) all I get is 401 Unauthorized. As you can see, I have intentionally coded the username below to match a specific ID.

 

var generateTokenRequestParameters = new GenerateTokenRequest(accessLevel: "View",
                    identities: new List<EffectiveIdentity> { new EffectiveIdentity(username: "411FF129-8FFF-452B-AD1F-9DEDD336EA62", roles: new List<string> { "Test" },
                    datasets: new List<string> { "5e6881e9-e4bb-4eda-868f-2db80699f71c/datasets/744b301e-9140-4b8d-9310-0094c4dcd0ca" }) });

According to error prompt, I get an error on line 84:

var tokenResponse = await client.Reports.GenerateTokenInGroupAsync("groupId", "reportId", generateTokenRequestParameters);

I am currently testing this out without Premium, locally. Does this have anything to do with it - is Premium required to test RLS?

 

Thanks


@Anonymous

Please try

 

var generateTokenRequestParameters = new GenerateTokenRequest("View", null, identities: new List < EffectiveIdentity > {
                 new EffectiveIdentity(username: "411FF129-8FFF-452B-AD1F-9DEDD336EA62", roles: new List < string > {
                  "Test"
                 }, datasets: new List < string > {
                  "744b301e-9140-4b8d-9310-0094c4dcd0ca"
                 })
                });

var tokenResponse = await client.Reports.GenerateTokenInGroupAsync("5e6881e9-e4bb-4eda-868f-2db80699f71c", "{the actually embedded reportid here}", generateTokenRequestParameters);

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

60 days of Data Days Carousel

Data Days 2026

Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Top Solution Authors