Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Koskee seuraavia:✅ Power BI asiakkaille upotettu analytiikka (sovellus omistaa tiedot)
Tässä artikkelissa kerrotaan, miten voit upottaa Asiakkaille tarkoitettuun upotukseen Power BI -raportin, joka käyttää Azure Analysis Services (AAS) tallennettuja tietoja. Tämä artikkeli on tarkoitettu riippumattomille ohjelmistokehittäjille, jotka haluavat upottaa AAS-tietoihin raportin siitä riippumatta, käyttääkö tietokanta rivitason suojausta (RLS).
Edellytykset
Tarvitset raportin, jossa on reaaliaikainen yhteys AAS-tietokantaan, RLS:n kanssa tai ilman.
Dynaaminen suojaus – RLS
Jos haluat raporttisi toteuttavan dynaamisen rivitason suojauksen, käytä -funktiota customeData . Koska et voi ohittaa käytössä olevia käyttäjätietoja, suosittelemme luomaan uusia rooleja :n avulla customData. Voit myös käyttää rooleja, joilla on - tai username -userPrincipalNamefunktiot, jos korvaat ne kohteella customData.
Näiden ohjeiden avulla voit luoda uuden roolin ja lisätä funktion customData rooliin.
Luo rooli Analysis Services -palvelimessa.
Anna Yleisissä asetuksissa roolin nimi ja määritä tietokannan käyttöoikeuksiksi vain luku.
Lisää Jäsenyys-asetuksissa käyttäjät, jotka aikovat kutsua upotustunnusta – muodosta tunnus -ohjelmointirajapinta. Jos käytät palvelun päänimeä, joka ei ole järjestelmänvalvoja, lisää myös se.
Määritä rivisuodattimien asetuksissa DAX-kysely käyttämällä -funktiota
CUSTOMDATA().
Palvelun päänimi
Jos käytät raportin upottamiseen palvelun päänimeä, varmista, että palvelun päänimi on palvelimen järjestelmänvalvoja tai AAS:n roolijäsen. Jos haluat myöntää AAS-järjestelmänvalvojan käyttöoikeudet palvelun päänimeen, katso Palvelun päänimen lisääminen palvelimen järjestelmänvalvojan rooliin. Jos haluat lisätä palvelun päänimen roolin jäseneksi, siirry jäsenyysasetuksiin.
Käytä palvelun päänimen objektitunnusta käyttäjänimenä (voimassa olevat käyttäjätiedot).
Analysis Service -siirto
Voit siirtyä AAS-palvelusta Power BI Premiumiin , vaikka sinulla olisi upotettu AAS-raportti. Upotettu raporttisi ei hajoa migraation aikana, kunhan päähenkilö, joka kutsuu Embed Token - Generate Token API:n, on työtilan jäsen tai ylläpitäjä.
Muistiinpano
Jos palvelupäällikkö ei ole ylläpitäjä, etkä halua tehdä siitä työtilan ylläpitäjää siirron yhteydessä, siirrä malli erilliseen työtilaan, jossa voit antaa sille ylläpitäjäoikeudet.
Upotustunnuksen luominen
Muodosta muodosta tunnus -ohjelmointirajapinnan avulla upotustunnus, joka ohittaa käytössä olevat käyttäjätiedot.
Upotustunnuksen luomiseen tarvittavat tiedot määräytyvät sen mukaan, miten olet muodostanut yhteyden Power BI:hin (palvelun päänimi vai pääkäyttäjä) ja onko tietokannassa RLS.
Voit luoda upotustunnuksen antamalla seuraavat tiedot:
- Käyttäjänimi (Valinnainen, jos rivitason suojausta ei ole). Pakollinen rivitason suojaukselle) – Käyttäjänimen on oltava sama kuin ohjelmointirajapinnan kutsujan (tässä tapauksessa pääkäyttäjän UPN:n) on oltava sama. Jos tietokanta ei käytä rivitason suojausta eikä käyttäjänimeä ole annettu, pääkäyttäjän tunnistetietoja käytetään.
- Rooli (vaaditaan RLS:lle) – Raportti näyttää tietoja vain, jos tehokas identiteetti on roolin jäsen.
Esimerkki:
Määritä käyttäjätiedot ja roolit jossakin seuraavista kolmesta skenaariosta:
- Jos rivitason suojausta ei käytetä:
Sinun ei tarvitse määritellä mitään tehokasta identiteettiä.
Jos käytössä on staattinen rivitason suojaus:
var rlsidentity = new EffectiveIdentity( //If static RLS username: "username@contoso.com", roles: new List<string>{ "MyRole" }, datasets: new List<string>{ datasetId.ToString()} )Jos käytössä on dynaaminen rivitason suojaus:
var rlsidentity = new EffectiveIdentity( // If dynamic RLS username: "username@contoso.com", roles: new List<string>{ "MyRoleWithCustomData" }, customData: "SalesPersonA" datasets: new List<string>{ datasetId.ToString()} )Muistiinpano
customDataEmbed-tokenissa ei saa olla suurempi kuin 1 024 merkkiä.
Käytä voimassa olevia käyttäjätietoja upotustunnuksen luomiseen:
public EmbedToken GetEmbedToken(Guid reportId, IList<Guid> datasetIds, [Optional] Guid targetWorkspaceId)
{
PowerBIClient pbiClient = this.GetPowerBIClient();
// 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 } // Only in cases of RLS
);
// Generate an embed token
var embedToken = pbiClient.EmbedToken.GenerateToken(tokenRequest);
return embedToken;
}
Upotustunnuksen avulla voit upottaa raportin sovellukseesi tai sivustoosi. Raporttisi suodattaa tiedot raportin soveltavan RLS:n mukaan.