Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Υπάρχουν διάφοροι τρόποι για να συνδεθείτε και να ελέγξετε την ταυτότητά σας στον SQL Server με το Power Apps. Αυτό το άρθρο περιγράφει έννοιες που μπορεί να είναι χρήσιμες για να κάνετε μια επιλογή σχετικά με τον τρόπο σύνδεσης στον SQL Server με μια προσέγγιση ασφάλειας που αντιστοιχεί στις απαιτήσεις για την εφαρμογή σας.
Σημαντικό
Η δυνατότητα ασφαλών έμμεσων συνδέσεων κυκλοφόρησε τον Ιανουάριο του 2024. Η Microsoft ενθαρρύνει όλες τις εφαρμογές που χρησιμοποιούν αυτήν τη στιγμή έμμεσες συνδέσεις για μετατροπή σε ασφαλείς έμμεσες συνδέσεις και ανάκληση συνδέσεων που έχουν τεθεί σε κοινή χρήση με τους τελικούς χρήστες.
Διαφορά μεταξύ ρητών, έμμεσων και ασφαλών έμμεσων συνδέσεων
Δημιουργείται μια σύνδεση με τον SQL Server κάθε φορά που δημιουργείτε μια εφαρμογή χρησιμοποιώντας το Power Apps που συνδέεται στον SQL Server. Όταν δημοσιεύονται αυτές οι εφαρμογές και κοινοποιούνται σε άλλους, τόσο η εφαρμογή όσο και η σύνδεση αναπτύσσονται σε αυτούς τους χρήστες. Με άλλα λόγια, η εφαρμογή και η σύνδεση είναι ορατά στους χρήστες με τους οποίους γίνεται κοινή χρήση των εφαρμογών.
Η μέθοδος ελέγχου ταυτότητας που χρησιμοποιείται για αυτές τις συνδέσεις μπορεί να είναι ρητή ή έμμεση. Μπορούμε επίσης να πούμε ότι μια τέτοια σύνδεση κοινοποιείται ρητά ή έμμεσα.
- Μια ρητή κοινόχρηστη σύνδεση σημαίνει ότι ο τελικός χρήστης της εφαρμογής πρέπει να κάνει έλεγχο ταυτότητας στον SQL Server με τα δικά του ρητά διαπιστευτήρια. Συνήθως, αυτός ο έλεγχος ταυτότητας πραγματοποιείται στο παρασκήνιο ως μέρος της χειραψίας ελέγχου ταυτότητας της Microsoft Entra ή των Windows. Ο χρήστης δεν παρατηρεί καν πότε πραγματοποιείται ο έλεγχος ταυτότητας.
- Μια έμμεσα κοινόχρηστη σύνδεση σημαίνει ότι ο χρήστης χρησιμοποιεί σιωπηρά τα διαπιστευτήρια του λογαριασμού που χρησιμοποίησε ο δημιουργός της εφαρμογής για τη σύνδεση και τον έλεγχο ταυτότητας στην προέλευση δεδομένων κατά τη δημιουργία της εφαρμογής. Τα διαπιστευτήρια του τελικού χρήστη δεν χρησιμοποιούνται για τον έλεγχο ταυτότητας. Κάθε φορά που ο τελικός χρήστης εκτελεί την εφαρμογή, χρησιμοποιεί τα διαπιστευτήρια με τα οποία δημιούργησε την εφαρμογή ο συντάκτης.
- Μια ασφαλής, έμμεσα κοινόχρηστη σύνδεση αναφέρεται σε ένα σενάριο όπου ο τελικός χρήστης της εφαρμογής χρησιμοποιεί σιωπηρά τα διαπιστευτήρια του λογαριασμού που χρησιμοποίησε ο δημιουργός της εφαρμογής για τη σύνδεση και τον έλεγχο ταυτότητας στην προέλευση δεδομένων κατά τη δημιουργία της εφαρμογής. Αυτό σημαίνει ότι τα διαπιστευτήρια του τελικού χρήστη δεν χρησιμοποιούνται για τον έλεγχο ταυτότητας. Αντίθετα, όταν ο χρήστης εκτελεί την εφαρμογή, χρησιμοποιεί τα διαπιστευτήρια με τα οποία την δημιούργησε ο συντάκτης της εφαρμογής. Είναι σημαντικό να σημειωθεί ότι στον τελικό χρήστη δεν παρέχεται άμεση πρόσβαση στη σύνδεση και η εφαρμογή επιτρέπει την πρόσβαση μόνο σε ένα περιορισμένο σύνολο ενεργειών και πινάκων.
Οι παρακάτω τέσσερις τύποι ελέγχου ταυτότητας σύνδεσης μπορούν να χρησιμοποιηθούν με τον SQL Server για Power Apps:
| Τύπος ελέγχου ταυτότητας | Μέθοδος σύνδεσης Power Apps |
|---|---|
| Ενοποιημένο Microsoft Entra | Ρητός |
| Έλεγχος ταυτότητας SQL Server | Έμμεση / Ασφαλής έμμεση |
| Έλεγχος ταυτότητας των Windows | Έμμεση / Ασφαλής έμμεση |
| Έλεγχος ταυτότητας των Windows (χωρίς κοινή χρήση) | Ρητός |
Έμμεσοι κίνδυνοι κοινής χρήσης συνδέσεων
Όλες οι νέες εφαρμογές χρησιμοποιούν αυτόματα τις νέες ασφαλείς έμμεσες συνδέσεις. Ωστόσο, με τις εφαρμογές που χρησιμοποιούν τις παλαιότερες "έμμεσες συνδέσεις", τόσο η εφαρμογή όσο και οι συνδέσεις της αναπτύσσονται στους τελικούς χρήστες, αυτό σημαίνει ότι οι τελικοί χρήστες μπορούν να συντάξουν νέες εφαρμογές με βάση αυτές τις συνδέσεις.
Όταν ένας συντάκτης χρησιμοποιεί ασφαλείς έμμεσες συνδέσεις, αυτό σημαίνει ότι δεν κοινοποιείται καμία σύνδεση και κανένας τελικός χρήστης δεν λαμβάνει το αντικείμενο σύνδεσης. Αυτό εξαλείφει τον κίνδυνο να επαναχρησιμοποιήσει ένας συντάκτης τελικού χρήστη μια σύνδεση για να δημιουργήσει μια νέα εφαρμογή. Αντίθετα, η εφαρμογή λειτουργεί με μια σύνδεση διακομιστή μεσολάβησης που γνωρίζει την εφαρμογή και επικοινωνεί μόνο με τη συγκεκριμένη εφαρμογή. Η σύνδεση διακομιστή μεσολάβησης επιτρέπει περιορισμένες ενέργειες (δημιουργία, ανάγνωση, ενημέρωση, διαγραφή) και πρόσβαση σε συγκεκριμένους πίνακες στην εφαρμογή που ορίζονται κατά τη δημοσίευση της εφαρμογής. Επομένως, μόνο εξουσιοδοτημένες ενέργειες και πρόσβαση εκχωρούνται στον τελικό χρήστη.
Η παλαιότερη απλή έμμεση σύνδεση στυλ στην πραγματικότητα διανέμει ένα αντικείμενο σύνδεσης στον τελικό χρήστη. Για παράδειγμα, εάν δημιουργήσετε μια εφαρμογή που φιλτράρει τα δεδομένα που δεν θέλετε να βλέπουν οι χρήστες. Ωστόσο, τα φιλτραροποιημένα δεδομένα υπάρχουν στη βάση δεδομένων. Ωστόσο, βασίζεστε στο φίλτρο που ρυθμίσατε για να διασφαλίσετε ότι οι τελικοί χρήστες δεν θα βλέπουν συγκεκριμένα δεδομένα.
Και πάλι, με παλαιότερες απλές έμμεσες συνδέσεις στυλ, μετά την ανάπτυξη της εφαρμογής, οι τελικοί χρήστες μπορούν να χρησιμοποιήσουν τη σύνδεση που αναπτύχθηκε με την εφαρμογή σας σε οποιεσδήποτε νέες εφαρμογές δημιουργούν. Στις νέες εφαρμογές, οι χρήστες μπορούν να δουν τα δεδομένα που φιλτράρατε στην εφαρμογή σας. Είναι σημαντικό να χρησιμοποιήσετε τις νέες ασφαλείς έμμεσες συνδέσεις.
Σημαντικό
Όταν μια παλαιότερη, έμμεσα κοινόχρηστη σύνδεση αναπτυχθεί στους τελικούς χρήστες, οι περιορισμοί που ενδέχεται να έχετε θέσει στην εφαρμογή που θέσατε σε κοινή χρήση (όπως φίλτρα ή πρόσβαση μόνο για ανάγνωση) δεν ισχύουν πλέον για τη δημιουργία νέων τελικών χρηστών εφαρμογών. Οι τελικοί χρήστες θα έχουν οποιαδήποτε δικαιώματα επιτρέπει ο έλεγχος ταυτότητας ως μέρος μιας σιωπηρής κοινόχρηστης σύνδεσης. Επομένως, όταν μετατρέπετε μια εφαρμογή ώστε να χρησιμοποιεί ασφαλείς έμμεσες συνδέσεις, πρέπει επίσης να ανακαλέσετε τις συνδέσεις που έχετε θέσει σε κοινή χρήση με την εφαρμογή σας. Οι διαχειριστές μπορούν να λάβουν μια αναφορά εφαρμογών με μη ρητά κοινόχρηστες συνδέσεις με το κιτ εργαλείων του COE.
Ασφάλεια προγράμματος-πελάτη και διακομιστή
Δεν μπορείτε να βασίζεστε στην ασφάλεια των δεδομένων μέσω φιλτραρίσματος ή άλλων λειτουργιών στην πλευρά του προγράμματος-πελάτη για να είστε ασφαλείς. Οι εφαρμογές που απαιτούν ασφαλές φιλτράρισμα των δεδομένων πρέπει να εξασφαλίζουν ότι τόσο ο χρήστης αναγνώρισης όσο και το φιλτράρισμα γίνονται στο διακομιστή.
Χρησιμοποιήστε υπηρεσίες όπως το Microsoft Entra ID αντί να βασίζεστε στα φίλτρα που έχουν σχεδιαστεί εντός των εφαρμογών όσον αφορά την ταυτότητα και την ασφάλεια των χρηστών. Αυτή η ρύθμιση παραμέτρων εξασφαλίζει ότι τα φίλτρα στην πλευρά του διακομιστή λειτουργούν όπως αναμένεται.
Οι παρακάτω εικόνες εξηγούν πώς τα μοτίβα ασφαλείας μέσα στις εφαρμογές διαφέρουν μεταξύ των μοντέλων ασφαλείας από την πλευρά του προγράμματος-πελάτη και της πλευράς του διακομιστή.
Σε ένα μοτίβο εφαρμογής ασφαλείας προγράμματος-πελάτη, [1] ο χρήστης πραγματοποιεί έλεγχο ταυτότητας μόνο στην εφαρμογή από την πλευρά του προγράμματος-πελάτη. Στη συνέχεια, [2] η εφαρμογή ζητά πληροφορίες για την υπηρεσία και [3] η υπηρεσία επιστρέφει τις πληροφορίες αποκλειστικά με βάση το αίτημα δεδομένων.
Σε ένα μοτίβο ασφάλειας στην πλευρά του διακομιστή, [1] ο χρήστης πραγματοποιεί πρώτα έλεγχο ταυτότητας στην υπηρεσία, ώστε ο χρήστης να είναι γνωστός στην υπηρεσία. Στη συνέχεια, [2] όταν γίνεται μια κλήση από την εφαρμογή, η υπηρεσία [3] χρησιμοποιεί τη γνωστή ταυτότητα του τρέχοντος χρήστη για να φιλτράρει τα δεδομένα κατάλληλα και [4] επιστρέφει τα δεδομένα.
Τα σενάρια έμμεσης κοινής χρήσης τμήματος που περιγράφονται παραπάνω είναι ο συνδυασμός αυτών των δύο μοτίβων. Ο χρήστης πρέπει να συνδεθεί στην υπηρεσία Power Apps χρησιμοποιώντας τα διαπιστευτήρια του Microsoft Entra. Αυτή η συμπεριφορά είναι το μοτίβο της εφαρμογής ασφαλείας διακομιστή. Ο χρήστης είναι γνωστός χρησιμοποιώντας την ταυτότητα Microsoft Entra στην υπηρεσία. Ως εκ τούτου, η εφαρμογή περιορίζεται στο σύνολο των χρηστών στους οποίους το Power Apps έχει κοινοποιήσει επίσημα την εφαρμογή.
Ωστόσο, η έμμεση κοινόχρηστη σύνδεση με τον SQL Server είναι το μοτίβο της εφαρμογής ασφαλείας προγράμματος-πελάτη. Ο SQL Server γνωρίζει μόνο ότι χρησιμοποιείται ένα συγκεκριμένο όνομα χρήστη και κωδικός πρόσβασης. Οποιοδήποτε φιλτράρισμα στην πλευρά του προγράμματος-πελάτη, για παράδειγμα, μπορεί να παρακαμφθεί με μια νέα εφαρμογή χρησιμοποιώντας το ίδιο όνομα χρήστη και κωδικό πρόσβασης.
Για να φιλτράρετε με ασφάλεια δεδομένα στην πλευρά του διακομιστή, χρησιμοποιήστε ενσωματωμένες δυνατότητες ασφαλείας στον SQL Server, όπως η ασφάλεια σε επίπεδο γραμμών και τα δικαιώματα απόρριψης για συγκεκριμένα αντικείμενα (όπως στήλες) σε συγκεκριμένους χρήστες. Αυτή η προσέγγιση χρησιμοποιεί την ταυτότητα χρήστη του Microsoft Entra για το φιλτράρισμα των δεδομένων στον διακομιστή.
Ορισμένες υπάρχουσες εταιρικές υπηρεσίες έχουν χρησιμοποιήσει μια προσέγγιση όπου η ταυτότητα χρήστη καταγράφεται σε ένα επίπεδο εταιρικών δεδομένων, με τον ίδιο τρόπο όπως και το Microsoft Dataverse. Σε αυτήν την περίπτωση, το επιχειρηματικό επίπεδο μπορεί να χρησιμοποιεί ή όχι την ασφάλεια σε επίπεδο γραμμών του SQL Server και να αρνείται απευθείας δυνατότητες. Εάν όχι, αυτό συμβαίνει συχνά όταν το χρεόγραφο ενεργοποιείται χρησιμοποιώντας αποθηκευμένες διαδικασίες ή προβολές.
Το επιχειρησιακό επίπεδο (στην πλευρά του διακομιστή) χρησιμοποιεί μια γνωστή ταυτότητα χρήστη του Microsoft Entra για την κλήση μιας αποθηκευμένης διαδικασίας ως αρχής SQL Server και το φιλτράρισμα των δεδομένων. Ωστόσο, το Power Apps δεν συνδέεται προς το παρόν σε αποθηκευμένες διαδικασίες. Ένα επιχειρησιακό επίπεδο μπορεί επίσης να καλέσει μια προβολή που χρησιμοποιεί την ταυτότητα Microsoft Entra ως αρχή SQL Server. Σε αυτή την περίπτωση, χρησιμοποιήστε το Power Apps για να συνδεθείτε στις προβολές, έτσι ώστε τα δεδομένα να φιλτράρονται στην πλευρά του διακομιστή. Η εμφάνιση μόνο προβολών σε χρήστες ενδέχεται να χρειάζεται ροές του Power Automate για ενημερώσεις.