Condividi tramite


Implementazione della sicurezza a livello di riga nei report impaginati incorporati

SI APPLICA A: L'app possiede dati di proprietà dell'utente

Questo articolo illustra come incorporare un report impaginato che usa RLS (sicurezza a livello di riga) nell'applicazione dati di proprietà dell'app.

Nota

Questo articolo è rilevante solo per i clienti con dati di proprietà dell'app.

Per usare la sicurezza a livello di riga per i report impaginati:

  1. Configurare l'ambiente per filtrare il report
  2. Filtrare i dati a livello di report o di query
  3. Passare il parametro configurato tramite un token di incorporamento

Prerequisiti

  • Questo articolo presuppone che si sappia incorporare un report impaginato di Power BI. Illustra come generare il token di incorporamento in modo che il report mostri solo ciò a cui l'utente ha l'autorizzazione per accedere.

  • I report impaginati vengono creati usando il motore di SQL Server Reporting Services e non il motore di Power BI (Analysis Services), quindi il filtro della sicurezza a livello di riga viene configurato in Power BI Report Builder.

Configurare l'ambiente

Per applicare la sicurezza a livello di riga a un report impaginato di Power BI, usare il campo predefinito UserID per assegnare un parametro. Questo parametro viene usato per filtrare o eseguire query sui dati.

Passare quindi l'ID utente all'API Embed Token - Generate Token (Token di incorporamento - Generare token) per ottenere il token di incorporamento.

Usare UserID come filtro a livello di report o di query

È possibile usare UserId come filtro o in una query nell'origine dati.

Filtra i dati

  1. Nel riquadro sinistro della finestra Proprietà modello semantico, selezionare Filtro.

    Screenshot del filtro Generatore report di Power BI.

  2. Nel menu a discesa Espressione selezionare il parametro che si vuole usare per filtrare i dati.

    Nello screenshot viene visualizzato il valore Color selezionato nel menu Espressione.

  3. Seleziona il pulsante di funzione Valore.

    Valore di Generatore report di Power BI

  4. Nella finestra Espressione selezionare Campi predefiniti nell'elenco Categoria.

    Nello screenshot viene visualizzata la finestra Espressione con Campi predefiniti selezionato in Categoria e ExecutionTime selezionato in Elemento.

  5. Nell'elenco Elemento, selezionare UserID e fare clic su OK.

    UserID di Generatore report di Power BI

  6. Nella finestra Proprietà modello semantico, verificare che l'espressione sia parametro selezionato = UserID e fare clic su OK.

    Proprietà del modello semantico Generatore report di Power BI

Uso di una query

  1. Nella finestra Proprietà modello semantico, selezionare Parametridal riquadro di navigazione sinistro, quindi selezionare Aggiungi.

    Parametri di Generatore report di Power BI

  2. Nel campo Nome parametro, immettere @UserID, e in Valore parametro, aggiungere [&UserID].

    Nome parametro di Generatore report di Power BI

  3. Nel riquadro sinistro, selezionare Query, in Query aggiungere il parametro UserID nell’ambito della query, poi fare clic su OK.

    Nota

    Nello screenshot seguente viene usato come esempio il parametro Color (WHEREFinalTable.Color = @UserID)). Se necessario, è possibile creare una query più complessa.

    Modifica di query in Generatore report di Power BI

Generare un token di incorporamento

Quando si incorpora un report impaginato per i clienti, si usa l'API Reports GenerateTokenInGroup per ottenere il token di incorporamento. Questo token può essere usato anche per filtrare alcuni dati dal report impaginato.

È possibile generare un token esclusivamente usando un'entità servizio. Non è possibile generare un token come utente master. L'entità servizio deve avere almeno le autorizzazioni membro per l'area di lavoro nel servizio Power BI. (Se l'entità servizio è un collaboratore o un visualizzatore, non è in grado di generare un token.)

Per generare un token, assegnare al username campo le informazioni da mostrare. Ad esempio, in un report impaginato con un parametro color, se si immette verde nel campo username, il token di incorporamento limiterà i dati incorporati in modo da visualizzare solo i dati che hanno il valore verde nella colonna del colore.

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

Nota

Se si genera un token di incorporamento senza specificare un ID utente, verrà usato l'ID oggetto dell'entità servizio.

Considerazioni e limitazioni

  • L'utente master non è supportato con i report impaginati per l'l'incorporamento per i clienti. L'utente master è supportato per l'incorporamento per l'organizzazione .
  • L'entità servizio deve disporre delle autorizzazioni dell'area di lavoro di almeno un membro o (non visualizzatore o collaboratore).

Generare un token di incorporamento