Ασφάλεια σε επίπεδο αντικειμένου
ΙΣΕΙ ΓΙΑ: Τα δεδομένα ανήκουν στην εφαρμογή, τα
δεδομένα ανήκουν στον χρήστη
Αυτό το άρθρο εξηγεί πώς μπορείτε να ενσωματώσετε περιεχόμενο Power BI που χρησιμοποιεί OLS σε ένα σενάριο όπου τα δεδομένα ανήκουν στην εφαρμογή Power BI (ενσωμάτωση για τους πελάτες σας).
Σε αυτό το σενάριο, ο ISV έχει έναν πίνακα με ευαίσθητα δεδομένα και μετα-δεδομένα που θέλουν να αποκρύψουν από τους πελάτες αναφοράς.
Για περισσότερες πληροφορίες σχετικά με το OLS, μεταβείτε στην ασφάλεια σε επίπεδο αντικειμένου (OLS).
Προαπαιτούμενα στοιχεία
Αυτό το άρθρο προϋποθέτει ότι έχετε μια αναφορά που χρησιμοποιεί OLS και ότι θέλετε να την ενσωματώσετε σε μια εφαρμογή. Για να δημιουργήσετε μια αναφορά που χρησιμοποιεί OLS, ανατρέξτε στο θέμα Ασφάλεια σε επίπεδο αντικειμένου (OLS).
Η αναφορά μπορεί να δημιουργηθεί χρησιμοποιώντας οποιοδήποτε από τα παρακάτω μοντέλα:
- Cloud OLS
- Αναφορά δυναμικής σύνδεσης στις Υπηρεσίες Ανάλυσης του Azure με ρόλους OLS
- Αναφορά δυναμικής σύνδεσης στις Υπηρεσίες ανάλυσης του SQL Server με ρόλους OLS
Ενσωμάτωση αναφοράς που χρησιμοποιεί ασφάλεια σε επίπεδο αντικειμένου
Η διαδικασία δημιουργίας διακριτικών ενσωμάτωσης για στοιχεία που χρησιμοποιούν OLS είναι ίδια με εκείνη του στατικού RLS. Χρειάζεστε τον ρόλο και το όνομα χρήστη.
Εάν η αναφορά που θέλετε να ενσωματώσετε χρησιμοποιεί ένα από τα παρακάτω σενάρια, ίσως χρειαστεί να κάνετε ορισμένα επιπλέον βήματα:
- Δημιουργία διακριτικού OLS cloud
- Δημιουργία διακριτικών Υπηρεσιών ανάλυσης SQL Server (SSAS)
- Δημιουργία διακριτικού Microsoft Entra ID
Το παρακάτω παράδειγμα δείχνει πώς μπορείτε να δημιουργήσετε ένα διακριτικό για να αποκρύψετε έναν πίνακα με ευαίσθητες πληροφορίες χρησιμοποιώντας 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;
}
Ζητήματα προς εξέταση και περιορισμοί
Ανατρέξτε στους περιορισμούς για μοντέλα OLS.
Σχετικό περιεχόμενο
Ασφάλεια σε επίπεδο αντικειμένου στις Υπηρεσίες Ανάλυσης του Azure
Περισσότερες ερωτήσεις; Δοκιμάστε να ρωτήσετε την κοινότητα του Power BI.