Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:✅ Power BI eingebettete Analysen für Ihre Kunden (App-owns-data)
Dieser Artikel erläutert, wie Sie Power BI-Inhalte, bei denen OLS verwendet wird, in einem Power BI-App owns data-Szenario einbetten (Einbetten für Ihre Kunden).
In diesem Szenario hat der ISV eine Tabelle mit vertraulichen Daten und Metadaten, die er vor den Berichtskunden verbergen möchte.
Weitere Informationen zu OLS finden Sie unter Sicherheit auf Objektebene (OLS).
Voraussetzungen
In diesem Artikel wird davon ausgegangen, dass Sie über einen Bericht verfügen, der OLS verwendet und den Sie in eine App einbetten möchten. Informationen zum Erstellen eines Berichts, der OLS verwendet, finden Sie unter Sicherheit auf Objektebene (OLS).
Der Bericht kann mithilfe einer der folgenden Modelle erstellt werden:
- Cloud OLS
- Bericht mit Liveverbindung mit Azure Analysis Services und OLS-Rollen
- Bericht mit Liveverbindung mit SQL Server Analysis Services und OLS-Rollen
Einbetten eines Berichts, der Sicherheit auf Objektebene verwendet
Der Prozess der Generierung von Einbettungstoken für Elemente, die OLS verwenden, entspricht der statischen RLS. Sie benötigen die Rolle und den Benutzernamen.
Wenn der Bericht, den Sie einbetten möchten, eines der folgenden Szenarien verwendet, müssen Sie möglicherweise einige zusätzliche Schritte ausführen:
- Generierung von Cloud-OLS-Token
- SQL Server Analysis Services (SSAS)-Tokengenerierung
- Microsoft Entra ID-Tokengenerierung
Im folgenden Beispiel wird gezeigt, wie ein Token generiert wird, um eine Tabelle mit vertraulichen Informationen mithilfe von OLS auszublenden:
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;
}
Überlegungen und Einschränkungen
Siehe Einschränkungen für OLS-Modelle.
Zugehöriger Inhalt
Sicherheit auf Objektebene in Azure Analysis Services
Weitere Fragen? Stellen Sie Ihre Frage in der Power BI-Community.