Zabezpečení na úrovni objektů

Platí pro:✅ Power BI vložené analýzy pro vaše zákazníky (data vlastní aplikace)

Tento článek vysvětluje, jak vložit obsah Power BI, který používá OLS, ve scénáři Power BI App owns data (vložení pro vaše zákazníky).

V tomto scénáři má ISV tabulku s citlivými daty a metadaty, kterou chce skrýt před zákazníky reportu.

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, viz Zabezpečení na úrovni objektu (OLS).

Sestavu lze vytvořit pomocí kteréhokoli z následujících modelů:

Vložte sestavu, která používá zabezpečení na úrovni objektu

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

Pokud sestava, kterou chcete vložit, spadá do jednoho z následujících scénářů, možná budete muset podniknout 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 v komunitě Power BI.