Ενσωμάτωση αναφοράς σε Υπηρεσίες ανάλυσης του SQL Server εσωτερικής εγκατάστασης (SSAS)

ΙΣΕΙ ΓΙΑ: Τα δεδομένα ανήκουν στην εφαρμογή, τα δεδομένα ανήκουν στον χρήστη

Αυτό το άρθρο εξηγεί πώς μπορείτε να ενσωματώσετε περιεχόμενο Power BI με μια δυναμική σύνδεση μοντέλο σε μορφή πίνακα υπηρεσιών ανάλυσης σε μια τυπική εφαρμογή Power BI που ανήκει στην εφαρμογή δεδομένων. Αυτό το άρθρο ισχύει για όλα τα μοντέλα SSAS δυναμικής σύνδεσης ανεξάρτητα από το αν υλοποιούν το RLS.

Σε αυτό το σενάριο, η βάση δεδομένων βασίζεται στο μοντέλο SSAS (εσωτερικής εγκατάστασης) και ο μηχανισμός Power BI συνδέεται σε αυτή μέσω μιας πύλης. Οι ρόλοι ασφαλείας (RLS) και τα δικαιώματα, εάν υπάρχουν, ορίζονται στο μοντέλο SSAS και όχι στο Power BI Desktop.

Για ποιον προορίζεται αυτό το άρθρο

Αυτό το άρθρο είναι κυρίως σχετικό για ανεξάρτητους προμηθευτές λογισμικού που έχουν ήδη ρυθμίσει μια βάση δεδομένων εσωτερικής εγκατάστασης (SSAS) (με ή χωρίς RLS) και θέλουν να ενσωματώσουν περιεχόμενο απευθείας από εκεί.

Ρύθμιση ISV

Η ασφάλεια σε επίπεδο γραμμών εσωτερικής εγκατάστασης είναι διαθέσιμη μόνο με μια δυναμική σύνδεση, αλλά μπορείτε να δημιουργήσετε μια δυναμική σύνδεση σε οποιαδήποτε βάση δεδομένων, ανεξάρτητα από το αν υλοποιεί RLS ή όχι. Περιλαμβάνονται τα εξής:

  • Βάσεις δεδομένων χωρίς καθορισμένους ρόλους RLS
  • Βάσεις δεδομένων με μέλη που ανήκουν σε έναν ή περισσότερους ρόλους
  • Βάσεις δεδομένων με στατικούς ή δυναμικούς ρόλους ασφαλείας

Για να ενσωματώσετε μια αναφορά από ένα μοντέλο SSAS, πρέπει να κάνετε τις ακόλουθες ενέργειες:

  1. Ρύθμιση της πύλης
  2. Δημιουργία δυναμικής σύνδεσης
  3. Δημιουργία διακριτικού ενσωμάτωσης

Ρύθμιση της πύλης

Προσθήκη σύνδεσης προέλευσης δεδομένων στην πύλη SSAS

Εισαγάγετε το όνομα προέλευσης δεδομένων, τον τύπο προέλευσης δεδομένων, τον διακομιστή, τη βάση δεδομένων, το όνομα χρήστη και τον κωδικό πρόσβασης που αναγνωρίζει η υπηρεσία καταλόγου Active Directory.

Για περισσότερες πληροφορίες σχετικά με τη δημιουργία και τη διαχείριση μιας πύλης, ανατρέξτε στο θέμα Προσθήκη ή κατάργηση μιας προέλευσης δεδομένων πύλης.

Εκχώρηση δικαιωμάτων κύριας υπηρεσίας ή κύριου χρήστη στην πύλη

Ο χρήστης που δημιουργεί το διακριτικό ενσωμάτωσης χρειάζεται επίσης ένα από τα παρακάτω δικαιώματα:

  • Δικαιώματα διαχειριστή πύλης

  • Δικαίωμα μίμησης προέλευσης δεδομένων (ReadOverrideEffectiveIdentity)

    Οι χρήστες με δικαίωμα μίμησης (παράκαμψη) έχουν ένα εικονίδιο κλειδιού δίπλα στο όνομά τους.

    Screenshot of a gateway member with a key icon next to their name.

Ακολουθήστε αυτές τις οδηγίες για να εκχωρήσετε δικαιώματα πύλης στον κύριο χρήστη, στην κύρια υπηρεσία ή στο προφίλ κύριας υπηρεσίας.

Αντιστοίχιση ονομάτων χρηστών

Εάν τα ονόματα χρηστών στον κατάλογο εσωτερικής εγκατάστασης και στον κατάλογο Microsoft Entra είναι διαφορετικά και θέλετε να προβάλετε τα δεδομένα στην πύλη, πρέπει να δημιουργήσετε έναν πίνακα αντιστοίχισης χρηστών που αντιστοιχίζει κάθε χρήστη ή ρόλο στο Αναγνωριστικό Microsoft Entra σε χρήστες από τη βάση δεδομένων εσωτερικής εγκατάστασης. Για οδηγίες σχετικά με την αντιστοίχιση ονομάτων χρηστών, μεταβείτε στην ενότητα Εκ νέου αντιστοίχιση ονομάτων χρηστών με μη αυτόματο τρόπο

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Αντιστοίχιση ονομάτων χρηστών για προελεύσεις δεδομένων των Υπηρεσιών ανάλυσης.

Δημιουργία δυναμικής σύνδεσης

Αφού ρυθμιστεί το περιβάλλον, δημιουργήστε μια δυναμική σύνδεση μεταξύ του Power BI Desktop και του διακομιστή SQL και δημιουργήστε την αναφορά σας.

  1. Ξεκινήστε το Power BI Desktop και επιλέξτε Λήψη δεδομένων>Βάση δεδομένων.

  2. Από τη λίστα προελεύσεων δεδομένων, επιλέξτε το στοιχείο Υπηρεσίες ανάλυσης του SQL Server Βάση δεδομένων και επιλέξτε Σύνδεση.

    Connect to SQL Server Analysis Services Database.

  3. Συμπληρώστε τις λεπτομέρειες για την παρουσία των Υπηρεσιών ανάλυσης σε μορφή πίνακα και επιλέξτε Σύνδεση δυναμικά. Στη συνέχεια επιλέξτε OK.

    Screenshot of Analysis Services details.

Δημιουργία διακριτικού ενσωμάτωσης

Για να ενσωματώσετε την αναφορά σας στο σενάριο ενσωμάτωση για τους πελάτες σας, δημιουργήστε ένα διακριτικό ενσωμάτωσης που μεταβιβάζει την ουσιαστική ταυτότητα στο Power BI. Όλες οι δυναμικές συνδέσεις σε μηχανές AS χρειάζονται μια αποτελεσματική ταυτότητα, ακόμα και αν δεν έχει υλοποιηθεί RLS.

Εάν δεν έχει ρυθμιστεί RLS, μόνο η Διαχείριση έχει πρόσβαση στη βάση δεδομένων, επομένως θέλετε να χρησιμοποιήσετε την Διαχείριση ως την ουσιαστική ταυτότητα.

Οι πληροφορίες που απαιτούνται για τη δημιουργία ενός διακριτικού ενσωμάτωσης εξαρτώνται από το αν είστε συνδεδεμένοι στο Power BI χρησιμοποιώντας μια κύρια υπηρεσία ή ως κύριο χρήστη, καθώς και αν η βάση δεδομένων έχει RLS.

Για να δημιουργήσετε το διακριτικό ενσωμάτωσης, καταχωρήστε τις ακόλουθες πληροφορίες:

  • Όνομα χρήστη (Προαιρετικό εάν δεν υπάρχει RLS. Απαιτείται για RLS) - Ένα έγκυρο όνομα χρήστη που αναγνωρίζεται από το SSAS, το οποίο θα χρησιμοποιηθεί ως η ουσιαστική ταυτότητα. Εάν η βάση δεδομένων δεν χρησιμοποιεί RLS και δεν παρέχεται όνομα χρήστη, χρησιμοποιούνται τα διαπιστευτήρια του κύριου χρήστη.
  • Ρόλος (απαιτείται για RLS) - Η αναφορά θα εμφανίζει δεδομένα μόνο εάν η ουσιαστική ταυτότητα είναι μέλος του ρόλου.

Παράδειγμα:

public EmbedToken GetEmbedToken(Guid reportId, IList<Guid> datasetIds, [Optional] Guid targetWorkspaceId)
{
    PowerBIClient pbiClient = this.GetPowerBIClient();

    // Define the user identity and roles. Use one of the following:

    var rlsidentity = new EffectiveIdentity(  //If no RLS
       username: "Domain\\Username", // can also be username@contoso.com
       datasets: new List<string>{ datasetId.ToString()}
    )

    var rlsidentity = new EffectiveIdentity(  // If RLS
       username: "username@contoso.com",
       roles: new List<string>{ "MyRole" },
       datasets: new List<string>{ datasetId.ToString()}
    )
    
    // Create a request for getting an embed token for the rls 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> { rlsIdentity }
    );

    // Generate an embed token
    var embedToken = pbiClient.EmbedToken.GenerateToken(tokenRequest);

    return embedToken;
}

Τώρα μπορείτε να ενσωματώσετε την αναφορά σας στην εφαρμογή σας και η αναφορά σας θα φιλτράρει τα δεδομένα σύμφωνα με τα δικαιώματα του χρήστη που αποκτά πρόσβαση στην αναφορά.

Ζητήματα προς εξέταση και περιορισμοί

Το CustomData δεν υποστηρίζεται.

Δημιουργία διακριτικού ενσωμάτωσης