Objektitason suojaus
KOSKEE: Sovellus omistaa tiedot Käyttäjä omistaa tiedot
Tässä artikkelissa kerrotaan, miten voit upottaa OLS-alusta käyttävän Power BI -sisällön Power BI -sovellus omistaa tiedot (upottaminen asiakkaillesi) -skenaariossa.
Tässä skenaariossa ISV:ssä on taulukko, joka sisältää arkaluonteisia tietoja ja metatietoja, jotka se haluaa piilottaa raportin asiakkailta.
Lisätietoja OLS-palvelusta saat artikkelista Objektitason suojaus (OLS).
Edellytykset
Tässä artikkelissa oletetaan, että sinulla on raportti, joka käyttää OLS-hakemistoa ja jonka haluat upottaa sovellukseen. Jos haluat luoda OLS-raporttia käyttävän raportin, katso Objektitason suojaus (OLS).
Raportti voidaan luoda käyttämällä mitä tahansa seuraavista malleista:
- Cloud OLS
- Reaaliaikaisesti yhdistetty raportti Azure Analysis Servicesiin OLS-roolien avulla
- Reaaliaikainen yhdistetty raportti SQL Server Analysis Servicesiin OLS-roolien avulla
Objektitason suojausta käyttävän raportin upottaminen
OLS-järjestelmän käyttämien kohteiden upotustunnusten luontiprosessi on sama kuin staattista rivitason suojausta käytettäessä. Tarvitset roolin ja käyttäjänimen.
Jos upotettava raportti käyttää jotakin seuraavista skenaarioista, sinun on ehkä suoritettava joitakin lisätoimia:
- OLS-pilvitunnuksen luominen
- SQL Server Analysis Services (SSAS) -tunnuksen luominen
- Microsoft Entra ID -tunnuksen luominen
Seuraavassa esimerkissä näytetään, miten voit luoda tunnuksen luottamuksellisia tietoja sisältävän taulukon piilottamiseksi OLS:n avulla:
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;
}
Huomioitavat asiat ja rajoitukset
Katso OLS-mallien rajoitukset.
Liittyvä sisältö
Objektitason suojaus Azure Analysis Servicesissä
Onko sinulla lisää kysymyksiä? Kysy Power BI -yhteisö.