Share via


Objektitason suojaus

KOSKEE: Sovellus omistaa tiedot Käyttäjä omistaa tiedot

Tässä artikkelissa kerrotaan, miten voit upottaa OLS-alusta käyttävän Power BI -sisällön Power BI -sovellus omistaa tiedot (upottaminen asiakkaillesi) -skenaariossa.

Tässä skenaariossa ISV:ssä on taulukko, joka sisältää arkaluonteisia tietoja ja metatietoja, jotka se haluaa piilottaa raportin asiakkailta.

Lisätietoja OLS-palvelusta saat artikkelista Objektitason suojaus (OLS).

Edellytykset

Tässä artikkelissa oletetaan, että sinulla on raportti, joka käyttää OLS-hakemistoa ja jonka haluat upottaa sovellukseen. Jos haluat luoda OLS-raporttia käyttävän raportin, katso Objektitason suojaus (OLS).

Raportti voidaan luoda käyttämällä mitä tahansa seuraavista malleista:

Objektitason suojausta käyttävän raportin upottaminen

OLS-järjestelmän käyttämien kohteiden upotustunnusten luontiprosessi on sama kuin staattista rivitason suojausta käytettäessä. Tarvitset roolin ja käyttäjänimen.

Jos upotettava raportti käyttää jotakin seuraavista skenaarioista, sinun on ehkä suoritettava joitakin lisätoimia:

Seuraavassa esimerkissä näytetään, miten voit luoda tunnuksen luottamuksellisia tietoja sisältävän taulukon piilottamiseksi OLS:n avulla:

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

Huomioitavat asiat ja rajoitukset

Katso OLS-mallien rajoitukset.

Objektitason suojaus Azure Analysis Servicesissä

Onko sinulla lisää kysymyksiä? Kysy Power BI -yhteisö.