Sikkerhed på objektniveau
GÆLDER FOR: Appen ejer data Brugeren ejer data
I denne artikel forklares det, hvordan du integrerer Power BI-indhold, der bruger OLS i et Power BI-program ejer data (integrerer for dine kunder).
I dette scenarie har ISV'en en tabel med følsomme data og metadata, som de vil skjule for rapportkunderne.
Du kan få flere oplysninger om OLS ved at gå til Sikkerhed på objektniveau (OLS).
Forudsætninger
I denne artikel antages det, at du har en rapport, der bruger OLS, og at du vil integrere den i en app. Hvis du vil oprette en rapport, der bruger OLS, skal du se Sikkerhed på objektniveau (OLS).
Rapporten kan oprettes ved hjælp af en af følgende modeller:
- Cloud OLS
- Direkte forbundet rapport til Azure Analysis Services med OLS-roller
- Direkte forbundet rapport til SQL Server Analysis Services med OLS-roller
Integrer en rapport, der bruger sikkerhed på objektniveau
Processen med at generere integreringstokens for elementer, der bruger OLS, er den samme som for statisk sikkerhed på rækkeniveau. Du skal bruge rollen og brugernavnet.
Hvis den rapport, du vil integrere, bruger et af følgende scenarier, skal du muligvis udføre nogle ekstra trin:
- Generering af cloud-OLS-token
- Oprettelse af SQL Server Analysis Services (SSAS)
- Oprettelse af Microsoft Entra ID-token
I følgende eksempel kan du se, hvordan du opretter et token for at skjule en tabel med følsomme oplysninger ved hjælp af 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;
}
Overvejelser og begrænsninger
Se begrænsninger for OLS-modeller.
Relateret indhold
Sikkerhed på objektniveau i Azure Analysis Services
Har du flere spørgsmål? Prøv at spørge Power BI-community'et.