JavaScript API ελέγχου ταυτότητας (προεπισκόπηση)
Το προσκήνιο Fabric προσφέρει ένα JavaScript API για φόρτους εργασίας Fabric για την απόκτηση ενός διακριτικού για την εφαρμογή τους στο Αναγνωριστικό Microsoft Entra. Αυτό το άρθρο περιγράφει αυτό το API.
API
acquireAccessToken(params: AcquireAccessTokenParams): Promise<AccessToken>;
export interface AcquireAccessTokenParams {
additionalScopesToConsent?: string[];
claimsForConditionalAccessPolicy?: string;
promptFullConsent?: boolean;
}
Το API επιστρέφει ένα αντικείμενο AccessToken που περιέχει το ίδιο το διακριτικό και μια ημερομηνία λήξης για το διακριτικό.
Για να καλέσετε το API στο δείγμα προσκηνίου, δημιουργήστε ένα δείγμα στοιχείου και, στη συνέχεια, μετακινηθείτε προς τα κάτω και επιλέξτε Μετάβαση στη σελίδα Έλεγχος ταυτότητας. Από εκεί μπορείτε να επιλέξετε Λήψη διακριτικού πρόσβασης για να λάβετε ένα διακριτικό πίσω.
Συναινεί
Για να κατανοήσετε γιατί απαιτούνται συγκατάθεση, ανατρέξτε στο θέμα Συγκατάθεση χρήστη και διαχειριστή στο Αναγνωριστικό Microsoft Entra.
Σημείωμα
Απαιτούνται συγκατάθεση για να λειτουργήσουν τα crud/jobs και για την απόκτηση διακριτικών μεταξύ μισθωτών.
Πώς λειτουργούν οι συναινείες σε φόρτους εργασίας Fabric;
Για να εκχωρήσει μια συγκατάθεση για μια συγκεκριμένη εφαρμογή, το Fabric FE δημιουργεί μια παρουσία MSAL που έχει ρυθμιστεί με το αναγνωριστικό εφαρμογής του φόρτου εργασίας και ζητά ένα διακριτικό για τις παρεχόμενες εμβέλειες (πρόσθεταScopesToConsent - ανατρέξτε στο θέμα AcquireAccessTokenParams).
Όταν ζητάτε ένα διακριτικό με την εφαρμογή φόρτου εργασίας για μια συγκεκριμένη εμβέλεια, το αναγνωριστικό του Microsoft Entra εμφανίζει ένα αναδυόμενο παράθυρο σε περίπτωση που λείπει και, στη συνέχεια, ανακατευθύνει το αναδυόμενο παράθυρο στο URI ανακατεύθυνσης που έχει ρυθμιστεί στην εφαρμογή.
Συνήθως, το URI ανακατεύθυνσης βρίσκεται στον ίδιο τομέα με τη σελίδα που ζήτησε το διακριτικό, ώστε η σελίδα να μπορεί να έχει πρόσβαση στο αναδυόμενο παράθυρο και να το κλείνει.
Στην περίπτωσή μας, δεν βρίσκεται στον ίδιο τομέα, δεδομένου ότι το Fabric ζητά το διακριτικό και το URI ανακατεύθυνσης του φόρτου εργασίας δεν βρίσκεται στον τομέα Fabric. Επομένως, όταν ανοίξει το παράθυρο διαλόγου συγκατάθεσης, πρέπει να κλείσει με μη αυτόματο τρόπο μετά την ανακατεύθυνση. Δεν χρησιμοποιούμε τον κώδικα που επιστρέφεται στο redirectUri, επομένως, απλώς τον κλείνουμε αυτόματα (όταν το αναγνωριστικό Του Microsoft Entra ανακατευθύνει το αναδυόμενο παράθυρο στο URI ανακατεύθυνσης, απλώς κλείνει).
Μπορείτε να δείτε τον κώδικα/τη ρύθμιση παραμέτρων του Uri ανακατεύθυνσης στο αρχείο index.ts .
Ακολουθεί ένα παράδειγμα αναδυόμενου παραθύρου συγκατάθεσης για την εφαρμογή μας "Ο φόρτος εργασίας μου εφαρμογή" και τις εξαρτήσεις της (χώρος αποθήκευσης και Power BI) που ρυθμίσαμε κατά την υπέρβαση της ρύθμισης ελέγχου ταυτότητας:
Ένας άλλος τρόπος εκχώρησης συγκατάθεσης στον κεντρικό μισθωτή (προαιρετικό)
Για να λάβετε μια συγκατάθεση στον κεντρικό μισθωτή της εφαρμογής, μπορείτε να ζητήσετε από τον διαχειριστή μισθωτή σας να εκχωρήσει μια συγκατάθεση για ολόκληρο τον μισθωτή χρησιμοποιώντας μια διεύθυνση URL στην ακόλουθη μορφή (εισαγάγετε το δικό σας αναγνωριστικό μισθωτή και το αναγνωριστικό προγράμματος-πελάτη):
https://login.microsoftonline.com/{tenantId}/adminconsent?client_id={clientId}
AcquireAccessTokenParams
Κατά την κλήση του API JS AcquireAccessToken, μπορούμε να παρέχουμε τρεις παραμέτρους:
- additionalScopesToConsent: Άλλες εμβέλειες για να ζητήσετε συγκατάθεση, για παράδειγμα, σενάρια επανάληψης της καταγραφής.
- claimsForConditionalAccessPolicy: Οι ισχυρισμοί που επιστρέφονται από το Αναγνωριστικό Microsoft Entra όταν αποτυγχάνουν ροές OBO, για παράδειγμα, το OBO απαιτεί έλεγχο ταυτότητας πολλών παραγόντων.
- promptFullConsent: Ζητά ένα παράθυρο πλήρους συγκατάθεσης για τις στατικές εξαρτήσεις της εφαρμογής φόρτων εργασίας.
additionalScopesToConsent
Εάν το προσκήνιο φόρτου εργασίας ζητά ένα διακριτικό που θα χρησιμοποιείται για κλήσεις στο παρασκήνιο φόρτου εργασίας, αυτή η παράμετρος θα πρέπει να είναι null. Το παρασκήνιο φόρτου εργασίας μπορεί να αποτύχει να εκτελέσει OBO στο διακριτικό που λάβατε εξαιτίας ενός σφάλματος που λείπει συγκατάθεση, σε αυτή την περίπτωση το παρασκήνιο φόρτου εργασίας θα πρέπει να μεταδίδει το σφάλμα στο προσκήνιο φόρτου εργασίας και να παρέχει αυτόν τον paramter.
claimsForConditionalAccessPolicy
Αυτή η παράμετρος χρησιμοποιείται όταν αντιμετωπίζει αποτυχίες OBO στον φόρτο εργασίας BE λόγω κάποιας πολιτικής πρόσβασης υπό όρους που έχει ρυθμιστεί στον μισθωτή.
Οι αποτυχίες OBO λόγω των πολιτικών πρόσβασης υπό όρους επιστρέφουν μια συμβολοσειρά που ονομάζεται "αξιώσεις". Αυτή η συμβολοσειρά θα πρέπει να σταλεί στο FE φόρτου εργασίας όπου η FE θα πρέπει να ζητήσει ένα διακριτικό και να διαβιβάσει την αξίωση ως claimsForConditionalAccessPolicy. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Χειρισμός ελέγχου ταυτότητας πολλών παραγόντων (MFA), πρόσβαση υπό όρους και επαυξητική συγκατάθεση.
Ανατρέξτε στη χρήση authenticationService AddBearerClaimToResponse στο δείγμα BE για να δείτε παραδείγματα αποκρίσεων όταν οι λειτουργίες OBO αποτυγχάνουν λόγω αποτυχίας συγκατάθεσης που λείπουν ή πολιτικών πρόσβασης υπό όρους.
Για να μάθετε περισσότερα σχετικά με αυτά τα πρόσθεταScopesToConsent και claimsForConditionalAccessPolicy και να δείτε παραδείγματα χρήσης, ανατρέξτε στο θέμα Οδηγίες ελέγχου ταυτότητας φόρτου εργασίας & ανάλυση σε βάθος.
promptFullConsent
Όταν διαβιβαστεί ως true, θα εμφανιστεί πλήρης συγκατάθεση των στατικών εξαρτήσεων για τον χρήστη, ανεξάρτητα από το αν παρείχε συγκατάθεση προηγουμένως ή όχι. Ένα παράδειγμα χρήσης για αυτόν τον paramter είναι η προσθήκη ενός κουμπιού στην UX όπου ο χρήστης μπορεί να το χρησιμοποιήσει για την εκχώρηση πλήρους συγκατάθεσης στον φόρτο εργασίας.