Incorporare un report in un'SSAS (SQL Server Analysis Services) locale
SI APPLICA A: L'app possiede dati di proprietà dell'utente
Questo articolo illustra come incorporare contenuto di Power BI con una connessione dinamica del modello tabulare di Analysis Services localein un'applicazione dati di proprietà di un'app Power BI standard. Questo articolo si applica a tutti i modelli SSAS di connessione dinamica indipendentemente dal fatto che implementino o meno la sicurezza a livello di riga.
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.
Chi è per questo articolo
Questo articolo è principalmente rilevante per gli ISV che hanno già una configurazione del database locale (SSAS) (con o senza sicurezza a livello di riga) e vogliono incorporare il contenuto direttamente da questa posizione.
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 meno la sicurezza a livello di riga. Valuta gli ambiti seguenti:
- Database senza ruoli di sicurezza a livello di riga configurati
- 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
Aggiungere una connessione all'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 altre informazioni sulla creazione e la gestione di un gateway, vedere Aggiungere o rimuovere un'origine dati del gateway.
Concedere all'entità servizio o all'utente master le autorizzazioni per il gateway
L'utente che genera il token di incorporamento richiede anche una delle autorizzazioni seguenti:
Autorizzazioni di amministratore del gateway
Autorizzazione di rappresentazione dell'origine dati (ReadOverrideEffectiveIdentity)
Gli utenti con autorizzazione di rappresentazione (override) hanno un'icona a forma di chiave accanto al nome.
Seguire queste istruzioni per concedere le autorizzazioni del gateway all'utente master, all'entità servizio o al profilo dell'entità servizio.
Eseguire una delle operazioni seguenti:
Eseguire il mapping dei 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 sul mapping dei nomi utente, passare a Modifica manuale del mapping dei nomi utente
Per altre informazioni, vedere Eseguire il mapping dei nomi utente per le 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 database dati>.
Nell'elenco delle origini dati selezionare il database di SQL Server Analysis Services e selezionare Connessione.
Compilare i dettagli dell'istanza tabulare di Analysis Services e selezionare Connessione live. Selezionare OK.
Generare un token di incorporamento
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 dinamiche ai motori AS necessitano di un'identità efficace anche se non è implementata alcuna sicurezza a livello di riga.
Se non è configurata alcuna sicurezza a livello di riga, solo l'Amministrazione ha accesso al database in modo che si voglia usare il Amministrazione come identità effettiva.
Le informazioni necessarie per generare un token di incorporamento dipendono da se si è connessi a Power BI usando un'entità servizio o come utente master e anche se il database dispone di sicurezza a livello di riga.
- Token di incorporamento 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 nessuna sicurezza a livello di riga. Obbligatorio per la sicurezza a livello di riga: nome utente valido riconosciuto da SSAS che verrà usato come identità effettiva. Se il database non usa la sicurezza a livello di riga e non viene specificato alcun nome utente, vengono usate le credenziali dell'utente master.
- Ruolo (obbligatorio per la sicurezza a livello di riga): il report visualizzerà solo i dati se l'identità effettiva è un membro del 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 il report filtra i dati in base alle autorizzazioni dell'utente che accede al report.
Considerazioni e limitazioni
CustomData non è supportato.
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per