Sdílet prostřednictvím


Zabezpečení na úrovni objektů

PLATÍ PRO: Aplikace vlastní data , která uživatel vlastní.

Tento článek vysvětluje, jak vložit obsah Power BI, který používá OLS v aplikaci Power BI , vlastní data (vložení pro vaše zákazníky).

V tomto scénáři má isV tabulku s citlivými daty a metadaty, která chtějí před zákazníky sestavy skrýt.

Další informace o OLS najdete v tématu Zabezpečení na úrovni objektu (OLS).

Požadavky

Tento článek předpokládá, že máte sestavu, která používá OLS a kterou chcete vložit do aplikace. Pokud chcete vytvořit sestavu, která používá OLS, přečtěte si téma Zabezpečení na úrovni objektů (OLS).

Sestavu je možné sestavit pomocí některého z následujících modelů:

Vložení sestavy, která používá zabezpečení na úrovni objektů

Proces generování tokenů pro vložení pro položky, které používají OLS, je stejný jako u statických zabezpečení na úrovni řádků. Potřebujete roli a uživatelské jméno.

Pokud sestava, kterou chcete vložit, používá jeden z následujících scénářů, možná budete muset provést několik dalších kroků:

Následující příklad ukazuje, jak vygenerovat token pro skrytí tabulky s citlivými informacemi pomocí 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;
    }

Úvahy a omezení

Viz omezení pro modely OLS.

Zabezpečení na úrovni objektů ve službě Azure Analysis Services

Máte ještě další otázky? Zkuste se zeptat Komunita Power BI.