Dela via


Implementera säkerhet på radnivå i inbäddade sidnumrerade rapporter

GÄLLER FÖR: Appen äger data Användaren äger data

Den här artikeln beskriver hur du bäddar in en sidnumrerad rapport som använder RLS (säkerhet på radnivå) i din app äger dataprogrammet .

Kommentar

Den här artikeln är endast relevant för app äger datakunder.

Så här använder du RLS för dina sidnumrerade rapporter:

  1. Konfigurera miljön för att filtrera rapporten
  2. Filtrera data på rapport- eller frågenivå
  3. Skicka den konfigurerade parametern med en inbäddningstoken

Förutsättningar

  • Den här artikeln förutsätter att du vet hur du bäddar in en sidnumrerad Power BI-rapport. Den förklarar hur du genererar inbäddningstoken så att rapporten bara visar vad användaren har behörighet att komma åt.

  • Sidnumrerade rapporter skapas med SQL Server Reporting Services-motorn och inte Power BI-motorn (Analysis Services), så RLS-filtreringen konfigureras i Power BI Report Builder.

Konfigurera miljön

Om du vill tillämpa säkerhet på radnivå på en sidnumrerad Power BI-rapport använder du det inbyggda fältet UserID för att tilldela en parameter. Den här parametern används för att filtrera eller fråga efter dina data.

Skicka sedan UserID till API:et Embed Token – Generate Token (Bädda in token – Generera token ) för att hämta inbäddningstoken.

Använda UserID som ett filter på rapport- eller frågenivå

Du kan använda UserId som ett filter eller i en fråga till datakällan.

Filtrera data

  1. I fönstret Egenskaper för semantisk modell väljer du Filter i den vänstra rutan.

    Skärmbild av Power BI Report Builder-filtret.

  2. I listrutan Uttryck väljer du den parameter som du vill använda för att filtrera data.

    Skärmbild som visar värdet Färg som valts på menyn Uttryck.

  3. Välj knappen Värdefunktion.

    Power BI Report Builder-värde

  4. I fönstret Uttryck går du till listan Kategori och väljer Inbyggda fält.

    Skärmbild som visar fönstret Uttryck med inbyggda fält valda som Kategori och ExecutionTime valda som Objekt.

  5. I listan Objekt väljer du UserID och väljer OK.

    Power BI Report Builder UserID

  6. I fönstret Egenskaper för semantisk modell kontrollerar du att uttrycket är den valda parametern = UserID och väljer OK.

    Semantiska modellegenskaper för Power BI Report Builder

Använda en fråga

  1. I fönstret Egenskaper för semantisk modell i det vänstra navigeringsfönstret väljer du Parametrar och väljer Lägg till.

    Power BI Report Builder-parametrar

  2. I fältet Parameternamn anger du @UserID och i parametervärdet lägger du till [&UserID].

    Power BI Report Builder-parameternamn

  3. I den vänstra rutan väljer du Fråga, i frågan lägger du till parametern UserID som en del av frågan och väljer OK.

    Kommentar

    I skärmbilden nedan används färgparametern som ett exempel (WHERE FinalTable.Color = @UserID). Om det behövs kan du skapa en mer komplex fråga.

    Redigera Power BI Report Builder-frågor

Generera en inbäddningstoken

När du bäddar in en sidnumrerad rapport för dina kunder använder du API:et Reports GenerateTokenInGroup för att hämta inbäddningstoken. Den här token kan också användas för att filtrera bort vissa data från den sidnumrerade rapporten.

Du kan bara generera en token med hjälp av tjänstens huvudnamn. Du kan inte generera en token som huvudanvändare. Tjänstens huvudnamn måste ha minst medlemsbehörighet till arbetsytan i Power BI-tjänst. (Om tjänstens huvudnamn är en deltagare eller ett visningsprogram kan det inte generera en token).

Om du vill generera en token tilldelar du username fältet med den information som du vill visa. Om du till exempel anger grönt i fältet i username en sidnumrerad rapport som har en färgparameter begränsar inbäddningstoken inbäddade data till bara de data som har grönt som värde i färgkolumnen.

{
 "reports": [
 {
  "id": "8d57615e-cfed-4d60-bd21-7dc05727193c"
 }
 ],
 "identities": [
 {
  "username": "green",
  "reports": [
  "8d57615e-cfed-4d60-bd21-7dc05727193c"
  ]
 }
 ]
}

Kommentar

Om du genererar inbäddningstoken utan att ange ett användar-ID används objekt-ID för tjänstens huvudnamn.

Beaktanden och begränsningar

  • Huvudanvändare stöds inte med sidnumrerade rapporter för inbäddning för dina kunder. Huvudanvändare stöds för inbäddning för din organisation.
  • Tjänstens huvudnamn måste ha behörigheter för arbetsytan som minst medlem eller (inte visningsprogram eller deltagare).

Generera en inbäddningstoken