Share via


Bygge inn en rapport på en lokal SQL Server Analysis Services (SSAS)

GJELDER FOR: Appen eier data Brukeren eier data

Denne artikkelen forklarer hvordan du bygger inn Power BI-innhold med en lokalAnalysis Services Tabular Model live-tilkobling i en standard Power BI-app eier dataprogram. Denne artikkelen gjelder for alle SSAS-modeller for live-tilkobling, uansett om de implementerer RLS eller ikke.

I dette scenarioet er databasen på SSAS-modellen (lokal), og Power BI-motoren kobles til den via en gateway. Sikkerhetsrollene (RLS) og tillatelsene, hvis det finnes noen, er definert i SSAS-modellen, og ikke i Power BI Desktop.

Hvem denne artikkelen gjelder

Denne artikkelen er for det meste relevant for uavhengige programvareleverandører som allerede har et lokalt (SSAS)-databaseoppsett (med eller uten RLS) og ønsker å bygge inn innhold direkte derfra.

ISV-oppsett

Sikkerhet på lokalt radnivå er bare tilgjengelig med en live-tilkobling, men du kan opprette en live-tilkobling til en database uansett om den implementerer RLS eller ikke. Dette omfatter følgende:

  • Databaser uten RLS-roller konfigurert
  • Databaser med medlemmer som tilhører én eller flere roller
  • Databaser med statiske eller dynamiske sikkerhetsroller

Hvis du vil bygge inn en rapport fra en SSAS-modell, må du gjøre følgende handlinger:

  1. Konfigurere gatewayen
  2. Opprette en live-tilkobling
  3. Generer et innebyggingstoken

Konfigurere gatewayen

Legge til en datakildetilkobling i SSAS-gatewayen

Skriv inn datakildenavnet, datakildetypen, serveren, databasen, brukernavnet og passordet som active directory gjenkjenner.

Hvis du vil ha mer informasjon om hvordan du oppretter og administrerer en gateway, kan du se Legge til eller fjerne en gateway-datakilde.

Gi tjenestekontohaver- eller hovedbrukertillatelser på gatewayen

Brukeren som genererer innebyggingstokenet, trenger også én av følgende tillatelser:

  • Administratortillatelser for gateway

  • Tillatelse for representasjon av datakilde (ReadOverrideEffectiveIdentity)

    Brukere med representasjonstillatelse (overstyring) har et nøkkelikon ved siden av navnet.

    Screenshot of a gateway member with a key icon next to their name.

Følg disse instruksjonene for å gi gatewaytillatelser til hovedbrukeren, tjenestekontohaveren eller tjenestekontohaverprofilen.

Tilordne brukernavn

Hvis brukernavnene i den lokale katalogen og Microsoft Entra-katalogen er forskjellige og du vil vise data i portalen, må du opprette en brukertilordningstabell som tilordner hver bruker eller rolle i Microsoft Entra ID til brukere fra den lokale databasen. Hvis du vil ha instruksjoner om tilordning av brukernavn, kan du gå til manuell ommapping av brukernavn

Hvis du vil ha mer informasjon, kan du se Tilordne brukernavn for Analysis Services-datakilder.

Opprett en live-tilkobling

Når miljøet er konfigurert, oppretter du en live-tilkobling mellom Power BI Desktop og SQL Server og oppretter rapporten.

  1. Start Power BI Desktop, og velg Hent datadatabase>.

  2. Velg SQL Server Analysis Services-databasen fra datakildelisten, og velg Koble til.

    Connect to SQL Server Analysis Services Database.

  3. Fyll ut tabellforekomstdetaljene for Analysis Services, og velg Koble til live. Velg deretter OK.

    Screenshot of Analysis Services details.

Generer et innebyggingstoken

Hvis du vil bygge inn rapporten i innebygging for kundescenarioet , genererer du et innebyggingstoken som sender den effektive identiteten til Power BI. Alle live-tilkoblinger til AS-motorer trenger en effektiv identitet selv om det ikke er implementert RLS.

Hvis det ikke er konfigurert RLS, er det bare administratoren som har tilgang til databasen, slik at du vil bruke administratoren som den effektive identiteten.

Informasjonen som kreves for å generere et innebyggingstoken, avhenger av om du er koblet til Power BI ved hjelp av en tjenestekontohaver eller som hovedbruker, og også om databasen har RLS.

Hvis du vil generere innebyggingstokenet, kan du oppgi følgende informasjon:

  • Brukernavn (valgfritt hvis ingen RLS. Obligatorisk for RLS) – et gyldig brukernavn gjenkjent av SSAS som skal brukes som den effektive identiteten. Hvis databasen ikke bruker RLS, og ingen brukernavn er angitt, brukes legitimasjonen til hovedbrukeren.
  • Rolle (obligatorisk for RLS) – Rapporten viser bare data hvis den effektive identiteten er medlem av rollen.

Eksempel:

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;
}

Nå kan du bygge inn rapporten i appen, og rapporten filtrerer data i henhold til tillatelsene til brukeren som får tilgang til rapporten.

Hensyn og begrensninger

CustomData støttes ikke.

Generer et innebyggingstoken