Zdieľať cez


Zabezpečenie na úrovni objektu

VZŤAHUJE SA NA: Aplikácia vlastní údaje Používateľ vlastní údaje

Tento článok vysvetľuje, ako vložiť obsah služby Power BI, ktorý používa službu OLS, do scenára Aplikácia Power BI vlastní údaje (vkladanie pre vašich zákazníkov).

V tomto scenári má nezávislý dodávateľ softvéru tabuľku s citlivými údajmi a metaúdajmi, ktoré chce skryť pred zákazníkmi zostavy.

Ďalšie informácie o službe OLS nájdete v časti Zabezpečenie na úrovni objektu (OLS).

Požiadavky

Tento článok predpokladá, že máte zostavu, ktorá používa OLS, a že ju chcete vložiť do aplikácie. Ak chcete vytvoriť zostavu, ktorá používa OLS, pozrite si tému Zabezpečenie na úrovni objektu (Object Level Security, OLS).

Zostavu možno vytvoriť pomocou ktoréhokoľvek z nasledujúcich modelov:

Vloženie zostavy, ktorá používa zabezpečenie na úrovni objektu

Proces generovania tokenov na vloženie pre položky, ktoré používajú OLS, je rovnaký ako v prípade statického zabezpečenia na úrovni riadkov. Potrebujete rolu a meno používateľa.

Ak zostava, ktorú chcete vložiť, používa niektorý z nasledujúcich scenárov, možno budete musieť vykonať niekoľko ďalších krokov:

Nasledujúci príklad ukazuje, ako vygenerovať token na skrytie tabuľky s citlivými informáciami pomocou 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;
    }

Dôležité informácie a obmedzenia

Pozrite si tému obmedzenia pre modely OLS.

Zabezpečenie na úrovni objektu v službe Azure Analysis Services

Máte ďalšie otázky? Skúste sa spýtať Komunita Power BI.