Zabezpečenie na úrovni objektu

Vzťahuje sa na:✅ Power BI vloženej analýzy pre vašich zákazníkov (údaje vo vlastníctve aplikácie)

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.