Όταν καταχωρείτε την εφαρμογή σας Microsoft Entra, της εκχωρείτε το δικαίωμα πρόσβασης σε διάφορα API. Καθώς αλλάζουν οι ανάγκες σας, μπορεί να θέλετε να προσαρμόσετε αυτά τα δικαιώματα. Αυτό το άρθρο περιγράφει τον τρόπο.
Σημείωμα
Τα δικαιώματα εφαρμογής Microsoft Entra ισχύουν μόνο για αυτά τα σενάρια:
Ενσωμάτωση για τον οργανισμό σας
Ενσωμάτωση για τους πελάτες σας με τη μέθοδο ελέγχου ταυτότητας κύριου χρήστη
Επεξεργασία των ρυθμίσεων δικαιωμάτων στην εφαρμογή Microsoft Entra
Οι αλλαγές δικαιωμάτων μπορούν να πραγματοποιηθούν μέσω προγραμματισμού ή στην πύλη Azure.
Επιλέξτε τον μισθωτή σας Microsoft Entra, επιλέγοντας τον λογαριασμό σας στην επάνω δεξιά γωνία της σελίδας.
Επιλέξτε Καταχωρήσεις εφαρμογών. Εάν δεν μπορείτε να δείτε αυτή την επιλογή, αναζητήστε την.
Από την καρτέλα Ιδιόκτητες εφαρμογές , επιλέξτε την εφαρμογή σας. Η εφαρμογή ανοίγει στην καρτέλα Επισκόπηση , όπου μπορείτε να εξετάσετε το Αναγνωριστικό εφαρμογής.
Επιλέξτε την καρτέλα Δικαιώματα προβολής API.
Επιλέξτε Προσθήκη δικαιώματος.
Για να προσθέσετε δικαιώματα, ακολουθήστε αυτά τα βήματα (σημειώστε ότι το πρώτο βήμα είναι διαφορετικό για τις εφαρμογές GCC):
Από την καρτέλα API της Microsoft, επιλέξτε Υπηρεσία Power BI.
Σημείωμα
Για εφαρμογές GCC, επιλέξτε την καρτέλα API που χρησιμοποιεί ο οργανισμός μου και κάντε αναζήτηση για το Microsoft Power BI Government Community Cloud Ή fc4979e5-0aa5-429f-b13a-5d1365be5566.
Επιλέξτε Δικαιώματα με ανάθεση και προσθέστε ή καταργήστε τα συγκεκριμένα δικαιώματα που χρειάζεστε.
Όταν τελειώσετε, επιλέξτε Προσθήκη δικαιωμάτων για να αποθηκεύσετε τις αλλαγές σας.
Για να καταργήσετε ένα δικαίωμα, ακολουθήστε τα εξής βήματα:
Επιλέξτε τα αποσιωπητικά (...) στα δεξιά του δικαιώματος.
Επιλέξτε Κατάργηση δικαιωμάτων.
Στο αναδυόμενο παράθυρο Κατάργηση δικαιωμάτων, επιλέξτε Ναι, κατάργηση.
Για να αλλάξετε τα δικαιώματα της εφαρμογής Σας Microsoft Entra μέσω προγραμματισμού, θα χρειαστεί να λάβετε τις υπάρχουσες κύριες υπηρεσίες (χρήστες) εντός του μισθωτή σας. Για πληροφορίες σχετικά με τον τρόπο για να το κάνετε αυτό, ανατρέξτε στο θέμα servicePrincipal.
Για να λάβετε όλες τις οντότητες υπηρεσίας εντός του μισθωτή σας, καλέστε το Get servicePrincipal API χωρίς {ID}.
Αναζητήστε μια αρχή υπηρεσίας που έχει το αναγνωριστικό εφαρμογής της εφαρμογής σας ως ιδιότηταappId. (displayName είναι προαιρετικό.)
Εκχωρήστε δικαιώματα Power BI στην εφαρμογή σας, εκχωρώντας μία από αυτές τις τιμές στο consentType:
AllPrincipals - Μπορεί να χρησιμοποιηθεί μόνο από έναν διαχειριστή Power BI για την εκχώρηση δικαιωμάτων εκ μέρους όλων των χρηστών στον μισθωτή.
Principal - Χρησιμοποιείται για την εκχώρηση δικαιωμάτων εκ μέρους ενός συγκεκριμένου χρήστη. Εάν χρησιμοποιείτε αυτή την επιλογή, προσθέστε την principalId={User_ObjectId} ιδιότητα στο σώμα αίτησης.
Εάν χρησιμοποιείτε έναν κύριο χρήστη, για να μην εμφανίζονται μηνύματα συγκατάθεσης από το Microsoft Entra ID, πρέπει να εκχωρήσετε δικαιώματα στον κύριο λογαριασμό.
Το resourceIdc78a3685-1ce7-52cd-95f7-dc5aea8ec98e εξαρτάται από τον μισθωτή και δεν είναι καθολικό. Αυτή η τιμή είναι το objectId της εφαρμογής Υπηρεσία Power BI στο Αναγνωριστικό Microsoft Entra. Για να λάβετε αυτή την τιμή από την πύλη Azure, μεταβείτε στην περιοχή Εταιρικές εφαρμογές > Όλες οι εφαρμογές και αναζητήστε την υπηρεσία Power BI.
Εκχωρήστε δικαιώματα εφαρμογής στο Αναγνωριστικό Microsoft Entra, εκχωρώντας μια τιμή στο consentType.
Μπορείτε επίσης να αλλάξετε τα δικαιώματα εφαρμογής Microsoft Entra χρησιμοποιώντας C#. Για περισσότερες πληροφορίες, ανατρέξτε στο API oAuth2PermissionGrant . Αυτή η μέθοδος μπορεί να είναι χρήσιμη εάν εξετάζετε την αυτοματοποίηση ορισμένων από τις διαδικασίες σας.
var graphClient = GetGraphClient();
currentState.createdApp = await graphClient.Applications
.Request()
.AddAsync(application);
System.Threading.Thread.Sleep(2000);
var passwordCredential = new PasswordCredential
{
DisplayName = "Client Secret Created in C#"
};
currentState.createdSecret = await graphClient.Applications[currentState.createdApp.Id]
.AddPassword(passwordCredential)
.Request()
.PostAsync();
var servicePrincipal = new ServicePrincipal
{
AppId = currentState.createdApp.AppId
};
currentState.createdServicePrincipal = await graphClient.ServicePrincipals
.Request()
.AddAsync(servicePrincipal);
GraphServiceClient graphClient = new GraphServiceClient(authProvider);
// Use oAuth2PermissionGrant to change permissions
var oAuth2PermissionGrant = await graphClient.Oauth2PermissionGrants["{id}"]
.Request()
.GetAsync();