Condividi tramite


Generare un token di incorporamento

SI APPLICA A: I dati sono di proprietà dell'app I dati sono di proprietà dell'utente

Genera token è un'API REST che consente di generare un token per incorporare un report o un modello semantico di Power BI in un'app Web o in un portale. Può generare un token per un elemento singolo o per più report o modelli semantici. Il token viene usato per autorizzare la richiesta nel servizio Power BI.

La API Genera token utilizza un'unica identità (un utente principale o un principal del servizio) per generare un token per un singolo utente, in base alle credenziali effettive dell'utente nell'app.

Dopo aver eseguito l'autenticazione, è possibile accedere ai dati rilevanti.

Nota

Generare il token è l'API più recente, versione 2, che funziona sia per i report che per i modelli semantici e per uno o più elementi. Per cruscotti e riquadri, usare V1 Dashboards GenerateTokenInGroup e Tiles GenerateTokenInGroup.

Protezione dei dati

Se si gestiscono dati da più clienti, esistono due approcci principali per proteggere i dati: isolamento basato sull'area di lavoro e isolamento basato sulla sicurezza a livello di riga. È possibile trovare un confronto dettagliato tra i profili dell'entità servizio e la sicurezza a livello di riga.

È consigliabile usare l'isolamento basato sull'area di lavoro con i profili, ma se si vuole usare l'approccio basato sulla sicurezza a livello di riga, vedere la sezione relativa alla sicurezza a livello di riga alla fine di questo articolo.

Autorizzazioni dei token e sicurezza

Nella sezione Genera api token, la sezione GenerateTokenRequest descrive le autorizzazioni del token.

Livello di accesso

  • Per concedere all'utente le autorizzazioni di visualizzazione o modifica, usare il parametro allowEdit.

  • Per consentire all'utente di creare nuovi report (SaveAs o CreateNew) in quell'area di lavoro, aggiungere l'ID dell'area di lavoro al token di incorporamento.

Sicurezza a livello di riga

Con Sicurezza a livello di riga, l’identità usata può essere diversa dall’identità servizio o dall'utente master usati per generare il token. Usando varie identità, è possibile visualizzare le informazioni incorporate in base all'utente di destinazione. Nell'applicazione è ad esempio possibile chiedere agli utenti di eseguire l'accesso e di visualizzare un report che contiene solo le informazioni sulle vendite se l'utente connesso è un dipendente responsabile delle vendite.

Se si usa la funzionalità Sicurezza a livello di riga, a volte è possibile tralasciare l'identità dell'utente, vale a dire il parametro EffectiveIdentity. Quando non si usa il parametro EffectiveIdentity, il token ha accesso all'intero database. Questo metodo può essere usato per concedere l'accesso ad alcuni utenti, ad esempio amministratori e responsabili, che dispongono dell’autorizzazione per visualizzare l'intero modello semantico. Questo metodo non è tuttavia possibile in ogni scenario. La tabella seguente elenca i diversi tipi di RLS e mostra quale metodo di autenticazione può essere usato senza specificare l'identità dell'utente.

La tabella contiene anche le considerazioni e le limitazioni applicabili a ogni tipo di sicurezza a livello di riga.

Tipo di sicurezza a livello di riga È possibile generare un token di incorporamento senza specificare l'ID utente valido? Considerazioni e limitazioni
Sicurezza a livello di riga cloud ✔ Utente master
✖ Entità servizio
RDL (report impaginati) ✖ Utente master
✔ Entità servizio
Non è possibile usare un utente master per generare un token di incorporamento per RDL.
Connessione dinamica ad Analysis Services (AS) locale ✔ Utente master
✖ Entità servizio
Per l'utente che genera il token di incorporamento è necessaria anche una delle autorizzazioni seguenti:
  • Autorizzazioni di amministratore del gateway
  • Autorizzazione per rappresentare l'origine dati (ReadOverrideEffectiveIdentity)
  • Connessione dinamica ad Azure Analysis Services (AS) ✔ Utente master
    ✖ Entità servizio
    L'identità dell'utente che genera il token di incorporamento non può essere sottoposta a override. I dati personalizzati possono essere usati per implementare la sicurezza a livello di riga dinamica o il filtro protetto.

    Nota: l'entità servizio deve specificare l'ID oggetto come identità valida (nome utente della sicurezza a livello di riga).
    Single Sign-On (SSO) ✔ Utente master
    ✖ Entità servizio
    È possibile specificare un'identità esplicita (SSO) usando la proprietà BLOB di identità in un oggetto identità valida
    Single Sign-On e Sicurezza a livello di riga cloud ✔ Utente master
    ✖ Entità servizio
    È necessario specificare:
  • Un'identità esplicita (SSO) nella proprietà BLOB di identità in un oggetto identità valida
  • Identità valida (Sicurezza a livello di riga) (nome utente)
  • Nota

    Le entità di servizio devono sempre fornire:

    • Identità per qualsiasi elemento con un modello semantico di sicurezza a livello di riga
    • Un'identità RLS efficace con l'identità contestuale (SSO) definita (per un modello semantico SSO)

    DirectQuery per modelli semantici di Power BI

    Per incorporare un report di Power BI con un modello semantico con una connessione Direct Query a un altro modello semantico di Power BI:

    Rinnovare i token prima della scadenza

    I token sono dotati di un limite di tempo. Pertanto, dopo l'incorporamento di un elemento di Power BI, è necessario un periodo di tempo limitato per interagire con esso. Per offrire agli utenti un'esperienza continua, rinnovare (o aggiornare) il token prima della scadenza.

    Dashboard e riquadri

    Il token Genera funziona per i report e i modelli semantici. Per generare un token di incorporamento per un dashboard o un riquadro, usare GenerateTokenInGroup di versione 1 o le API dei riquadri GenerateTokenInGroup. Queste API generano token per un solo elemento alla volta. Non è possibile generare un token per più elementi.

    Per queste API:

    • Usare il parametro accessLevel per determinare il livello di accesso dell'utente.

      • Visualizza: concede all'utente le autorizzazioni di visualizzazione.

      • Modifica: concede all'utente le autorizzazioni di visualizzazione e modifica. Si applica solo quando viene generato un token di incorporamento per un report.

      • Crea: concede all'utente le autorizzazioni di creazione di un nuovo report. Si applica solo quando viene generato un token di incorporamento per la creazione di un report. Per la creazione di report, è necessario specificare anche il parametro datasetId.

    • Usare il valore booleano allowSaveAs per consentire agli utenti di salvare il report come nuovo report. Questa impostazione è impostata su falso per impostazione predefinita e si applica solo quando si genera un token di incorporamento per un report.

    Considerazioni e limitazioni

    • Per motivi di sicurezza, la durata del token di incorporamento viene impostata sulla durata rimanente del token Microsoft Entra usato per chiamare l'API GenerateToken. Pertanto, se si usa lo stesso token Microsoft Entra per generare più token di incorporamento, la durata dei token di incorporamento generati si riduce ogni volta.

    • Se il modello semantico e l'elemento da incorporare si trovano in due aree di lavoro diverse, l'entità servizio o l'utente master devono essere almeno membri di entrambe le aree di lavoro.

    • L'incorporamento di elementi con Data Lake Storage (DLS) richiede la versione 2 della Generare l'API del token.

    • Non è possibile creare un token di incorporamento per l’area di lavoro personale.