Jaa


Raportin upottaminen Azure Analysis Services (AAS) -tietokantaan

KOSKEE: Sovellus omistaa tiedot Käyttäjä 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, rivitason suojauksen kanssa tai ilman sitä.

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 userPrincipalName -usernamefunktiot, jos korvaat ne kohteella customData.

Näiden ohjeiden avulla voit luoda uuden roolin ja lisätä funktion customData rooliin.

  1. Luo rooli Analysis Services -palvelimessa.

    Näyttökuva uuden roolin luomisesta Analysis Services -palvelimessa.

  2. Anna Yleisissä asetuksissa roolin nimi ja määritä tietokannan käyttöoikeuksiksi vain luku.

    Näyttökuva uuden roolin antamisesta uudeksi nimeksi ja sen määrittämisestä vain luku -arvoksi Analysis Services -palvelimen yleisissä asetuksissa.

  1. 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.

    Näyttökuva käyttäjien lisäämisestä uuteen rooliin Analysis Services -palvelimessa.

  2. Määritä rivisuodattimien asetuksissa DAX-kysely käyttämällä -funktiotaCUSTOMDATA().

    Näyttökuva, joka näyttää, miten voit lisätä customData-funktion DAX-kyselyyn uudessa roolissa Analysis Services -palvelimessa.

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 katkea siirron aikana, kunhan päänimi, joka kutsuu upotustunnusta – muodosta tunnus -ohjelmointirajapintaa, on työtilan jäsen tai järjestelmänvalvoja.

Muistiinpano

Jos palvelun päänimi ei ole järjestelmänvalvoja etkä halua tehdä siitä työtilan järjestelmänvalvojaa siirtäessäsi mallia, siirrä malli erilliseen työtilaan, jossa voit antaa sille järjestelmänvalvojan 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 (pakollinen rivitason suojaukselle) – Raportti näyttää tietoja vain, jos käytössä olevat käyttäjätiedot ovat roolin jäseniä.

Esimerkki:

Määritä käyttäjätiedot ja roolit jossakin seuraavista kolmesta skenaariosta:

  • Jos rivitason suojausta ei käytetä:

Käytössä olevat käyttäjätiedot ei ole tarpeen määrittää.

  • 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

    customData upotustunnuksella voi olla enintään 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 raportissa käytetyn rivitason suojauksen mukaan.