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 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.

    Screenshot of the Power BI Report Builder filter.

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

    Screenshot shows the value Color selected from the Expression menu.

  3. Klicka på knappen Värdefunktion .

    Power BI Report Builder value

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

    Screenshot shows the Expression window with Built-in Fields selected as Category and ExecutionTime selected as Item.

  5. I listan Objekt väljer du UserID och klickar på 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 klickar på OK.

    Power BI Report Builder semantic model properties

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 klickar på Lägg till.

    Power BI Report Builder parameters

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

    Power BI Report Builder parameter name

  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 klickar på 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.

    Power BI Report Builder queries edit

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 deltagare eller 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 medlem eller högre (inte visningsprogram eller deltagare).

Generera en inbäddningstoken