Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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ů:
- Cloud OLS
- Živá propojená sestava se službou Azure Analysis Services s rolemi OLS
- Sestava s živým připojením k Analytické služby SQL Serveru s rolemi OLS
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ů:
- Generování tokenů OLS v cloudu
- Generování tokenů Analytické služby SQL Serveru (SSAS)
- Generování tokenu Microsoft Entra ID
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í
Související obsah
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.