Raportin upottaminen paikalliseen SQL Server Analysis Servicesiin (SSAS)
KOSKEE: Sovellus omistaa tiedot Käyttäjä omistaa tiedot
Tässä artikkelissa kerrotaan, miten voit upottaa Power BI -sisältöä paikallisen Analysis Services -taulukkomallin reaaliaikaisen yhteyden avulla tavalliseen Power BI -sovellus omistaa tiedot -sovellukseen. Tämä artikkeli koskee kaikkia reaaliaikaisen yhteyden SSAS-malleja riippumatta siitä, ottavatko ne käyttöön rivitason suojauksen.
Tässä skenaariossa tietokanta on SSAS-mallissa (paikallinen) ja Power BI -moduuli muodostaa yhteyden siihen yhdyskäytävän kautta. Käyttöoikeusroolit (RLS) ja käyttöoikeudet, jos niitä on, määritetään SSAS-mallissa, ei Power BI Desktopissa.
Kuka tämä artikkeli on tarkoitettu?
Tämä artikkeli koskee pääasiassa isv-ohjelmistotoimittajia, joilla on jo paikallinen (SSAS) tietokanta-asetus (rivitason suojauksen kanssa tai ilman sitä), ja jotka haluavat upottaa sisältöä suoraan sieltä.
ISV:n asennus
Paikallinen rivitason suojaus on käytettävissä vain reaaliaikaisella yhteydellä, mutta voit luoda reaaliaikaisen yhteyden mihin tahansa tietokantaan riippumatta siitä, toteuttaako se rivitason suojauksen vai ei. Sisältö:
- Tietokannat, joissa ei ole määritetty RLS-rooleja
- Tietokannat, joissa on jäseniä, jotka kuuluvat yhteen tai useampaan rooliin
- Tietokannat, joissa on staattisia tai dynaamisia käyttöoikeusrooleja
Jos haluat upottaa raportin SSAS-mallista, sinun on tehtävä seuraavat toimet:
Määritä yhdyskäytävä
Tietolähdeyhteyden LISÄÄMINEN SSAS-yhdyskäytävään
Anna tietolähteen nimi, tietolähdetyyppi, palvelin, tietokanta, käyttäjänimi ja salasana, jotka Active Directory tunnistaa.
Lisätietoja yhdyskäytävän luomisesta ja hallinnasta on kohdassa Yhdyskäytävän tietolähteen lisääminen tai poistaminen.
Yhdyskäytävän palvelun päänimen tai pääkäyttäjän käyttöoikeuksien antaminen
Upotustunnuksen muodostavalla käyttäjällä on myös oltava jokin seuraavista käyttöoikeuksista:
Yhdyskäytävän järjestelmänvalvojan oikeudet
Tietolähteen tekeytyminen -oikeus (ReadOverrideEffectiveIdentity)
Käyttäjillä, joilla on tekeytyminen (ohitus) käyttöoikeus, on avainkuvake nimensä vieressä.
Näiden ohjeiden avulla voit myöntää yhdyskäytävän käyttöoikeudet pääkäyttäjälle, palvelun päänimelle tai palvelun pääprofiilille.
Tee jokin seuraavista:
Käyttäjänimien yhdistäminen
Jos paikallisen hakemiston ja Microsoft Entra -hakemiston käyttäjänimet ovat erilaiset ja haluat tarkastella tietoja portaalissa, sinun on luotava käyttäjän yhdistämistaulukko, joka yhdistää kunkin Microsoft Entra -tunnuksen käyttäjän tai roolin paikallisen tietokannan käyttäjiin. Katso ohjeet käyttäjänimien yhdistämisestä kohdasta Manuaalinen käyttäjänimen uudelleennimeäminen.
Lisätietoja on artikkelissa Käyttäjänimien yhdistäminen Analysis Services -tietolähteitä varten.
Reaaliaikaisen yhteyden luominen
Kun ympäristö on määritetty, luo reaaliaikainen yhteys Power BI Desktopin ja SQL-palvelimen välille ja luo raportti.
Käynnistä Power BI Desktop ja valitse Nouda tiedot>Tietokanta.
Valitse tietolähteiden luettelosta SQL Server Analysis Services -tietokanta ja valitse Yhdistä.
Täytä taulukkomuotoisen Analysis Services -esiintymän tiedot ja valitse Yhdistä reaaliajassa. Valitse sitten OK.
Upotustunnuksen luominen
Jos haluat upottaa raporttisi Upottaminen asiakkaillesi -skenaarioon, luo upotustunnus, joka välittää käytössä olevat käyttäjätiedot Power BI:hin. Kaikki reaaliaikaiset yhteydet AS-moottoreihin tarvitsevat tehokkaan käyttäjätiedon, vaikka rivitason suojausta ei toteuteta.
Jos rivitason suojausta ei ole määritetty, vain järjestelmänvalvojalla on käyttöoikeus tietokantaan, joten haluat käyttää järjestelmänvalvojaa käytössä olemina käyttäjätietoina.
Upotustunnuksen luomiseen tarvittavat tiedot määräytyvät sen mukaan, oletko muodostanut yhteyden Power BI:hin palvelun päänimellä vai pääkäyttäjänä ja onko tietokannassa RLS-suojaus.
Voit luoda upotustunnuksen antamalla seuraavat tiedot:
- Käyttäjänimi (Valinnainen, jos rivitason suojausta ei ole). Pakollinen rivitason suojaukselle) – Voimassa oleviksi käyttäjätietoina käytettävän SSAS:n tunnistama kelvollinen käyttäjänimi. Jos tietokanta ei käytä rivitason suojausta eikä käyttäjänimeä ole annettu, pääkäyttäjän tunnistetietoja käytetään.
- Rooli (pakollinen rivitason suojaukselle) – Raportti näyttää tietoja vain, jos käytössä olevat käyttäjätiedot ovat roolin jäseniä.
Esimerkki:
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;
}
Nyt voit upottaa raportin sovellukseesi, ja raporttisi suodattaa tiedot raporttia käsittelevälle käyttäjälle määritettyjen käyttöoikeuksien mukaan.
Huomioitavat asiat ja rajoitukset
CustomDataa ei tueta.