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:
- Cloud OLS
- Zostava s dynamickým pripojením k službe Azure Analysis Services s rolami OLS
- Zostava s dynamickým pripojením k službe SQL Server Analysis Services s rolami OLS
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:
- Generovanie tokenov Cloud OLS
- Generovanie tokenu SQL Server Analysis Services (SSAS)
- Generovanie tokenu ID Microsoft Entra
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.
Súvisiaci obsah
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.