Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SI APPLICA A: L'app possiede dati
di proprietà dell'utente
L'identità basata su token consente a un ISV di usare un token di accesso Microsoft Entra per passare l'identità di un cliente a un database SQL di Azure gestito nel tenant del cliente.
I clienti ISV che mantengono e gestiscono i dati nel database SQL di Azure possono proteggere i dati nel tenant durante l'integrazione con Power BI Embedded nell'app ISV.
Quando si genera il token di incorporamento, specificare l'identità dell'utente in Azure SQL passando il token di accesso Microsoft Entra dell'utente per il server SQL di Azure. Il token di accesso viene usato quindi per eseguire il pull solo dei dati rilevanti per l'utente da SQL di Azure, per la sessione specifica.
Importante
Limitazioni SSO di App-owns-data:
- Negli scenari app-owns-data (autenticazione dell'entità servizio o dell'utente master), l'accesso Single Sign-On per le origini dati DirectQuery è supportato solo con database SQL di Azure.
- Quando si genera un token di incorporazione con SSO, è necessario fornire un oggetto
IdentityBlobper ogni origine dati con SSO abilitato. L'omissione di IdentityBlob causa l'esito negativo della generazione di token o dell'esecuzione di query.
Configurare l'identità basata su token
L'identità basata su token funziona solo per i modelli DirectQuery su una capacità connessa a un database SQL di Azure configurato per consentire l'autenticazione di Microsoft Entra. L'origine dati del modello semantico deve essere configurata per usare le credenziali OAuth2 degli utenti finali, per usare un'identità basata su token. Ulteriori informazioni sull'autenticazione di Microsoft Entra per il database SQL di Azure.
Prima di configurare l'identità basata su token, verificare:
- L'origine dati DirectQuery è database SQL di Azure (l'unica origine dati SSO supportata per gli scenari app-owns-data).
- Il database SQL di Azure è configurato per l'autenticazione Microsoft Entra.
- Si dispone di un token di accesso utente di Microsoft Entra per il server SQL di Azure da passare come
IdentityBlob.
Nel portale di Power BI, selezionare Modello semantico > Altre opzioni (tre puntini) > Impostazioni > Credenziali origine dati > Modifica credenziali.
Selezionare la casella dell'opzione OAuth2.
Generare un token di identità
Per creare un token di accesso per Azure SQL, l'app deve avere il permesso delegato "Accesso al Database SQL e Data Warehouse di Azure" per l'API di database SQL di Azure nella configurazione di registrazione dell'app in Microsoft Entra nel portale di Azure.
Autenticare e ottenere un token per l'utente dall'endpoint di Azure AD v2 per il seguente ambito: https://database.windows.net/.default
Per informazioni, vedere gli esempi di codice MSAL seguenti:
- Esempi di codice per l'autenticazione e l'autorizzazione di Microsoft Identity Platform - Microsoft Entra | Microsoft Learn
- Flusso del codice di autorizzazione OAuth 2.0 e Microsoft Identity Platform
Generare token di incorporazione
Per incorporare un report con identità basata su token, generare un token di incorporamento contenente l'identità di base del token dell'utente ISV desiderato. Vedere gli esempi seguenti per la generazione di token di incorporamento per scenari diversi.
Note
Devi identityBlobun'origine dati abilitata per l'accesso Single Sign-On, la chiamata di generazione del token di incorporamento avrà esito negativo o l'esecuzione della query restituirà un errore.
- Report di Power BI con SSO
- Report paginato con SSO
- Report di Power BI con SSO e RLS nel modello semantico
- Report impaginato connesso al modello semantico di Power BI con RLS (sicurezza a livello di riga) e origine dati SSO, connessa tramite DirectQuery a un altro set di dati di Power BI
{
"datasets": [
{
"id": "66ba5010-xxxx-xxxx-xxxx-f2bf0125abeb",
}
],
"reports": [
{
"allowEdit": false,
"id": "9e6da541-xxxx-xxxx-xxxx-7d9442827cce"
}
],
"datasourceIdentities": [
{
"identityBlob": "eyJ…",
"datasources": [
{
"datasourceType": "Sql",
"connectionDetails": {
"server": "YourServerName.database.windows.net",
"database": "YourDataBaseName"
}
}
]
}
]
}
L'esempio seguente mostra un report di Power BI incorporato con SSO e RLS applicato al set di dati: