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:✅ Analisi incorporata di Power BI per i tuoi clienti (App-owns-data)
Questo articolo illustra come incorporare contenuto di Power BI con una connessione attiva a un localemodello tabulare di Analysis Services in un'applicazione Power BI App Owns Data standard. Questo articolo si applica a tutti i modelli SSAS con connessione live, indipendentemente dal fatto che implementino o meno RLS.
In questo scenario, il database si trova nel modello SSAS (locale) e il motore di Power BI si connette a tale database tramite un gateway. I ruoli di sicurezza e le autorizzazioni, se presenti, sono definiti nel modello SSAS e non in Power BI Desktop.
A chi si rivolge questo articolo
Questo articolo è particolarmente rilevante per gli ISV che dispongono già di un database on-premises (SSAS), con o senza sicurezza a livello di riga (RLS), e vogliono incorporare contenuti direttamente da tale database.
Configurazione ISV
La sicurezza a livello di riga locale è disponibile solo con una connessione dinamica, ma è possibile creare una connessione dinamica a qualsiasi database, indipendentemente dal fatto che implementi o no la sicurezza a livello di riga. Questo include:
- Database senza ruoli RLS impostati
- Database con membri che appartengono a uno o più ruoli
- Database con ruoli di sicurezza statici o dinamici
Per incorporare un report da un modello SSAS, è necessario eseguire le azioni seguenti:
Configurare il gateway
Aggiungi una connessione dell'origine dati al gateway SSAS
Immettere il nome dell'origine dati, il tipo di origine dati, il server, il database, un nome utente e una password riconosciuti da Active Directory.
Per ulteriori informazioni sulla creazione e la gestione di un gateway, vedere Aggiungere o rimuovere un'origine dati del gateway.
Concedi all'entità servizio o all'utente master le autorizzazioni sul gateway
Per l'utente che genera il token di incorporamento è necessaria anche una delle autorizzazioni seguenti:
Autorizzazioni di amministratore del gateway
Autorizzazione di impersonificazione dell'origine dati (ReadOverrideEffectiveIdentity)
Gli utenti con autorizzazione di impersonificazione (override) hanno un'icona a forma di chiave accanto al nome.
Segui queste istruzioni per concedere le autorizzazioni del gateway al tuo utente master, all'entità servizio o al profilo dell'entità servizio.
Eseguire una di queste operazioni:
Mappare i nomi utente
Se i nomi utente nella directory locale e nella directory Microsoft Entra sono diversi e si desidera visualizzare i dati nel portale, è necessario creare una tabella di mapping utente che esegue il mapping di ogni utente o ruolo in Microsoft Entra ID agli utenti del database locale. Per istruzioni sulla mappatura dei nomi utente, vai a Rimappatura manuale dei nomi utente
Per ulteriori informazioni, vedere Associare i nomi utente alle origini dati di Analysis Services.
Creare una connessione dinamica
Dopo aver configurato l'ambiente, creare una connessione dinamica tra Power BI Desktop e SQL Server e creare il report.
Avviare Power BI Desktop e selezionare Recupera dati>Database.
Dall'elenco delle origini dati selezionare Database di SQL Server Analysis Services, quindi Connetti.
Inserire i dettagli dell'istanza tabulare di Analysis Services e selezionare Connessione dinamica. Quindi, seleziona OK.
Generare un token di incorporazione
Per incorporare il report nello scenario di incorporamento per i clienti, generare un token di incorporamento che passa l'identità effettiva a Power BI. Tutte le connessioni live ai motori AS necessitano di un'identità effettiva anche se non è configurato alcun RLS.
Se non è configurato alcun criterio RLS (sicurezza a livello di riga), solo l'Admin ha accesso al database, quindi dovrai usare l'Admin come identità effettiva.
Le informazioni necessarie per generare un token di incorporamento dipendono dal fatto che la connessione a Power BI avvenga tramite un'entità servizio o come utente master, e anche dal fatto che il database abbia la sicurezza a livello di riga (RLS).
- Token di integrazione dell'utente master
- Token di incorporamento dell'entità servizio o del profilo dell'entità servizio
Per generare il token di incorporamento, fornire le informazioni seguenti:
- Nome utente (Facoltativo se non è presente RLS. Obbligatorio per RLS) - Nome utente valido riconosciuto da SSAS che verrà usato come identità effettiva. Se il database non usa RLS e non viene specificato alcun nome utente, vengono utilizzate le credenziali dell'utente master.
- Ruolo (obbligatorio per RLS) - Il report visualizzerà i dati solo se l'identità effettiva appartiene al ruolo.
Esempio:
public EmbedToken GetEmbedToken(Guid reportId, IList<Guid> datasetIds, [Optional] Guid targetWorkspaceId)
{
PowerBIClient pbiClient = this.GetPowerBIClient();
// Define the user identity and roles. Use one of the following:
var rlsidentity = new EffectiveIdentity( //If no RLS
username: "Domain\\Username", // can also be username@contoso.com
datasets: new List<string>{ datasetId.ToString()}
)
var rlsidentity = new EffectiveIdentity( // If RLS
username: "username@contoso.com",
roles: new List<string>{ "MyRole" },
datasets: new List<string>{ datasetId.ToString()}
)
// Create a request for getting an embed token for the rls identity defined above
var tokenRequest = new GenerateTokenRequestV2(
reports: new List<GenerateTokenRequestV2Report>() { new GenerateTokenRequestV2Report(reportId) },
datasets: datasetIds.Select(datasetId => new GenerateTokenRequestV2Dataset(datasetId.ToString())).ToList(),
targetWorkspaces: targetWorkspaceId != Guid.Empty ? new List<GenerateTokenRequestV2TargetWorkspace>() { new GenerateTokenRequestV2TargetWorkspace(targetWorkspaceId) } : null,
identities: new List<EffectiveIdentity> { rlsIdentity }
);
// Generate an embed token
var embedToken = pbiClient.EmbedToken.GenerateToken(tokenRequest);
return embedToken;
}
È ora possibile incorporare il report nell'app e questo filtra i dati in base alle autorizzazioni dell'utente che accede al report.
Considerazioni e limitazioni
CustomData non è supportato.