Αυτοματοποίηση εργασιών Premium χώρου εργασίας και σημασιολογικού μοντέλου με οντότητες υπηρεσίας
Οι οντότητες υπηρεσίας είναι μια καταχώρηση εφαρμογής αναγνωριστικού Microsoft Entra που δημιουργείτε εντός του μισθωτή σας για την εκτέλεση λειτουργιών σε επίπεδο πόρων και υπηρεσιών χωρίς επίβλεψη. Είναι ένας μοναδικός τύπος ταυτότητας χρήστη με όνομα εφαρμογής, αναγνωριστικό εφαρμογής, αναγνωριστικό μισθωτή και μυστικό προγράμματος-πελάτη ή πιστοποιητικό για έναν κωδικό πρόσβασης.
Το Power BI Premium χρησιμοποιεί την ίδια λειτουργικότητα κύριας υπηρεσίας με το Power BI Embedded. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Ενσωμάτωση περιεχομένου Power BI με οντότητες υπηρεσίας.
Στο Power BI Premium, μπορείτε να χρησιμοποιήσετε οντότητες υπηρεσίας με το τελικό σημείο XMLA (ανάλυση XML) για την αυτοματοποίηση εργασιών διαχείρισης σημασιολογικών μοντέλων, όπως η παροχή χώρων εργασίας, η ανάπτυξη μοντέλων και η ανανέωση σημασιολογικών μοντέλων με:
- Το PowerShell.
- Azure Automation.
- Azure Logic Apps.
- Προσαρμοσμένες εφαρμογές προγράμματος-πελάτη.
Μόνο οι νέοι χώροι εργασίας υποστηρίζουν συνδέσεις τελικού σημείου XMLA χρησιμοποιώντας οντότητες υπηρεσίας. Οι κλασικοί χώροι εργασίας δεν υποστηρίζονται. Μια κύρια υπηρεσία έχει μόνο τα απαραίτητα δικαιώματα για την εκτέλεση εργασιών σε χώρους εργασίας στους οποίους έχει ανατεθεί. Τα δικαιώματα εκχωρούνται μέσω της πρόσβασης στον χώρο εργασίας, όπως και οι κανονικοί λογαριασμοί UPN (κύριο όνομα χρήστη).
Για την εκτέλεση λειτουργιών εγγραφής, ο φόρτος εργασίας σημασιολογικών μοντέλων του συνόλου εκχωρημένων πόρων πρέπει να έχει ενεργοποιημένο το τελικό σημείο XMLA για λειτουργίες ανάγνωσης-εγγραφής. Τα σημασιολογικά μοντέλα που δημοσιεύονται από το Power BI Desktop θα πρέπει να έχουν ενεργοποιημένη τη δυνατότητα βελτιωμένης μορφής μετα-δεδομένων.
Δημιουργία οντότητας υπηρεσίας
Οι οντότητες υπηρεσίας δημιουργούνται ως καταχώρηση εφαρμογής στην πύλη Azure ή με χρήση του PowerShell. Κατά τη δημιουργία της κύριας υπηρεσίας σας, φροντίστε να αντιγράψετε και αποθηκεύσετε ξεχωριστά το όνομα της εφαρμογής, το αναγνωριστικό εφαρμογής (client), το αναγνωριστικό καταλόγου (μισθωτής) και τον μυστικό κωδικό προγράμματος-πελάτη. Για τα βήματα σχετικά με τον τρόπο δημιουργίας μιας κύριας υπηρεσίας, ανατρέξτε στο θέμα:
Δημιουργία ομάδας ασφαλείας Microsoft Entra
Από προεπιλογή, οι οντότητες υπηρεσίας έχουν πρόσβαση σε οποιεσδήποτε ρυθμίσεις μισθωτή για τις οποίες έχουν ενεργοποιηθεί. Ανάλογα με τις ρυθμίσεις διαχειριστή σας, η πρόσβαση μπορεί να περιλαμβάνει συγκεκριμένες ομάδες ασφαλείας ή ολόκληρο τον οργανισμό.
Για να περιορίσετε την πρόσβαση κύριας υπηρεσίας σε συγκεκριμένες ρυθμίσεις μισθωτή, μπορείτε να επιτρέψετε την πρόσβαση σε συγκεκριμένες ομάδες ασφαλείας. Εναλλακτικά, μπορείτε να δημιουργήσετε μια αποκλειστική ομάδα ασφαλείας για τις κύριες υπηρεσίες και εξαιρέστε την από τις επιθυμητές ρυθμίσεις μισθωτή. Για να δημιουργήσετε μια ομάδα ασφαλείας και να προσθέσετε μια κύρια υπηρεσία, ανατρέξτε στο θέμα Δημιουργία βασικής ομάδας και προσθήκη μελών με χρήση του αναγνωριστικού Microsoft Entra.
Ενεργοποίηση οντοτήτων υπηρεσίας
Για να μπορέσετε να αρχίσετε να χρησιμοποιείτε τις οντότητες υπηρεσίας στο Power BI, ένας διαχειριστής πρέπει να ενεργοποιήσει την πρόσβαση κύριας υπηρεσίας στην πύλη διαχείρισης του Power BI.
- Μεταβείτε στην πύλη διαχείρισης του Power BI και, στη συνέχεια, επιλέξτε Ρυθμίσεις μισθωτή.
- Κάντε κύλιση στις Ρυθμίσεις προγραμματιστή και, στη συνέχεια, αναπτύξτε την επιλογή Να επιτρέπεται στις κύριες υπηρεσίες η χρήση των API του Power BI.
- Επιλέξτε Ενεργοποιημένο.
- Για να εφαρμόσετε δικαιώματα σε μια ομάδα ασφαλείας, επιλέξτε Συγκεκριμένες ομάδες ασφαλείας (Συνιστάται).
- Εισαγάγετε το όνομα της ομάδας.
- Επιλέξτε Εφαρμογή.
Πρόσβαση στον χώρο εργασίας
Για να έχει η κύρια υπηρεσία σας τα απαραίτητα δικαιώματα για την εκτέλεση λειτουργιών premium χώρου εργασίας και μοντέλου σημασιολογίας, πρέπει να προσθέσετε την κύρια υπηρεσία ως μέλος ή διαχειριστή χώρου εργασίας. Η χρήση της πρόσβασης στον χώρο εργασίας στην υπηρεσία Power BI περιγράφεται εδώ, αλλά μπορείτε επίσης να χρησιμοποιήσετε την Προσθήκη REST API χρήστη ομάδας.
Στην υπηρεσία Power BI για έναν χώρο εργασίας, επιλέξτε Περισσότερα>πρόσβαση στον χώρο εργασίας.
Κάντε αναζήτηση με βάση το όνομα της εφαρμογής και, στη συνέχεια, προσθέστε την κύρια υπηρεσία ως διαχειριστής ή μέλος στον χώρο εργασίας.
Συμβολοσειρές σύνδεσης για το τελικό σημείο XMLA
Αφού δημιουργήσετε μια οντότητα υπηρεσίας, ενεργοποιήστε τις οντότητες υπηρεσίας για τον μισθωτή σας και προσθέστε την κύρια υπηρεσία στην πρόσβαση χώρου εργασίας, χρησιμοποιήστε την ως ταυτότητα χρήστη σε συμβολοσειρές σύνδεσης με το τελικό σημείο XMLA. Η διαφορά είναι ότι, αντί για τις user id
παραμέτρους και password
, καθορίζετε το αναγνωριστικό εφαρμογής, το αναγνωριστικό μισθωτή και τον μυστικό κωδικό εφαρμογής.
Data Source=powerbi://api.powerbi.com/v1.0/myorg/<workspace name>; Initial Catalog=<dataset name>;User ID=app:<appId>@<tenantId>;Password=<app_secret>;
PowerShell
Ανοίξτε μια περίοδο λειτουργίας του PowerShell για να εκτελέσετε το παρακάτω παράδειγμα κώδικα.
Χρήση λειτουργικής μονάδας SQLServer
Στο παρακάτω παράδειγμα, τα AppId
, TenantId
και AppSecret
χρησιμοποιούνται για τον έλεγχο ταυτότητας μιας λειτουργίας ανανέωσης μοντέλου σημασιολογίας:
Param (
[Parameter(Mandatory=$true)] [String] $AppId,
[Parameter(Mandatory=$true)] [String] $TenantId,
[Parameter(Mandatory=$true)] [String] $AppSecret
)
$PWord = ConvertTo-SecureString -String $AppSecret -AsPlainText -Force
$Credential = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $AppId, $PWord
Invoke-ProcessTable -Server "powerbi://api.powerbi.com/v1.0/myorg/myworkspace" -TableName "mytable" -DatabaseName "mydataset" -RefreshType "Full" -ServicePrincipal -ApplicationId $AppId -TenantId $TenantId -Credential $Credential
Αντικείμενα διαχείρισης ανάλυσης (AMO) και ADOMD.NET
Όταν συνδέεστε με εφαρμογές προγράμματος-πελάτη και εφαρμογές web, μπορείτε να χρησιμοποιήσετε τις βιβλιοθήκες προγραμμάτων-πελατών AMO και ADOMD έκδοση 15.1.42.26 (Ιούνιος 2020) και νεότερα πακέτα με δυνατότητα εγκατάστασης από το NuGet για την υποστήριξη οντοτήτων υπηρεσίας σε συμβολοσειρές σύνδεσης, χρησιμοποιώντας την ακόλουθη σύνταξη: app:AppID
και κωδικό πρόσβασης ή cert:thumbprint
.
Στο παρακάτω παράδειγμα, appID
οι τιμές και password
χρησιμοποιούνται για την εκτέλεση μιας λειτουργίας ανανέωσης βάσης δεδομένων μοντέλου:
string appId = "xxx";
string authKey = "yyy";
string connString = $"Provider=MSOLAP;Data source=powerbi://api.powerbi.com/v1.0/<tenant>/<workspacename>;Initial catalog=<datasetname>;User ID=app:{appId};Password={authKey};";
Server server = new Server();
server.Connect(connString);
Database db = server.Databases.FindByName("adventureworks");
Table tbl = db.Model.Tables.Find("DimDate");
tbl.RequestRefresh(RefreshType.Full);
db.Model.SaveChanges();