Del via


Sikkerhed på objektniveau

GÆLDER FOR: Appen ejer data Brugeren ejer data

I denne artikel forklares det, hvordan du integrerer Power BI-indhold, der bruger OLS i et Power BI-program ejer data (integrerer for dine kunder).

I dette scenarie har ISV'en en tabel med følsomme data og metadata, som de vil skjule for rapportkunderne.

Du kan få flere oplysninger om OLS ved at gå til Sikkerhed på objektniveau (OLS).

Forudsætninger

I denne artikel antages det, at du har en rapport, der bruger OLS, og at du vil integrere den i en app. Hvis du vil oprette en rapport, der bruger OLS, skal du se Sikkerhed på objektniveau (OLS).

Rapporten kan oprettes ved hjælp af en af følgende modeller:

Integrer en rapport, der bruger sikkerhed på objektniveau

Processen med at generere integreringstokens for elementer, der bruger OLS, er den samme som for statisk sikkerhed på rækkeniveau. Du skal bruge rollen og brugernavnet.

Hvis den rapport, du vil integrere, bruger et af følgende scenarier, skal du muligvis udføre nogle ekstra trin:

I følgende eksempel kan du se, hvordan du opretter et token for at skjule en tabel med følsomme oplysninger ved hjælp af 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;
    }

Overvejelser og begrænsninger

Se begrænsninger for OLS-modeller.

Sikkerhed på objektniveau i Azure Analysis Services

Har du flere spørgsmål? Prøv at spørge Power BI-community'et.