Del via


Sikkerhet på objektnivå

GJELDER FOR: Appen eier data Brukeren eier data

Denne artikkelen forklarer hvordan du bygger inn Power BI-innhold som bruker OLS i et Power BI App eier data (innebygging for kundene) scenario.

I dette scenarioet har ISV en tabell med sensitive data og metadata som de ønsker å skjule for rapportkundene.

Hvis du vil ha mer informasjon om OLS, kan du gå til sikkerhet på objektnivå (OLS).

Forutsetning

Denne artikkelen forutsetter at du har en rapport som bruker OLS, og at du vil bygge den inn i en app. Hvis du vil opprette en rapport som bruker OLS, kan du se Sikkerhet på objektnivå (OLS).

Rapporten kan bygges ved hjelp av følgende modeller:

Bygge inn en rapport som bruker sikkerhet på objektnivå

Prosessen med å generere innebyggingstokener for elementer som bruker OLS, er den samme som for statisk RLS. Du trenger rollen og brukernavnet.

Hvis rapporten du vil bygge inn, bruker ett av følgende scenarioer, må du kanskje utføre noen ekstra trinn:

Følgende eksempel viser hvordan du genererer et token for å skjule en tabell med sensitiv informasjon ved hjelp av OLS:

public EmbedToken GetEmbedToken(Guid reportId, IList<Guid> datasetIds, [Optional] Guid targetWorkspaceId)
    {
        PowerBIClient pbiClient = this.GetPowerBIClient();

       // Defines the user identity and roles.
        var olsIdentity = new EffectiveIdentity(
            username: "All",
            roles: new List<string>{ "SensitiveTableOLS" }, // Role created to hide a table that has sensitive information
            datasets: new List<string>{ datasetId.ToString()}
        );
       
        // Create a request for getting an embed token for the OLS 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> { olsIdentity }
        );

        // Generate an embed token
        var embedToken = pbiClient.EmbedToken.GenerateToken(tokenRequest);

        return embedToken;
    }

Hensyn og begrensninger

Se begrensninger for OLS-modeller.

Sikkerhet på objektnivå i Azure Analysis Services

Har du flere spørsmål? Prøv å spørre Power BI-fellesskap.