Σημείωση
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Μπορείτε να δημιουργήσετε μια υπογραφή κοινόχρηστης πρόσβασης OneLake (SAS) για να παρέχετε βραχυπρόθεσμη πρόσβαση με ανάθεση σε έναν φάκελο ή αρχείο στο OneLake, με την υποστήριξη των διαπιστευτηρίων σας Microsoft Entra. Η OneLake SAS μπορεί να παρέχει προσωρινή πρόσβαση σε εφαρμογές που δεν υποστηρίζουν το Microsoft Entra, επιτρέποντάς τους να φορτώνουν δεδομένα ή να λειτουργούν ως διακομιστές μεσολάβησής μεταξύ άλλων εφαρμογών πελατών ή ανεξάρτητων προμηθευτών λογισμικού (ISV).
Για να δημιουργήσετε ένα OneLake SAS, ζητήστε πρώτα ένα κλειδί ανάθεσης χρηστών και, στη συνέχεια, χρησιμοποιήστε το κλειδί για να υπογράψετε το SAS. Για να ζητήσετε ένα κλειδί ανάθεσης χρηστών, καλέστε τη λειτουργία Λήψη κλειδιού ανάθεσης χρηστών.
Ένα OneLake SAS μπορεί να εκχωρήσει πρόσβαση σε αρχεία και φακέλους μόνο μέσα σε στοιχεία δεδομένων. Δεν μπορεί να χρησιμοποιηθεί για λειτουργίες διαχείρισης, όπως η δημιουργία ή διαγραφή χώρων εργασίας ή στοιχείων.
Η δημιουργία ενός SaS OneLake είναι παρόμοια με τη δημιουργία μιας SAS με ανάθεση χρήστη υπηρεσίας αποθήκευσης Azure, χρησιμοποιώντας τις ίδιες παραμέτρους για συμβατότητα με εργαλεία και εφαρμογές που λειτουργούν με την Υπηρεσία αποθήκευσης Azure.
Απαιτούμενα δικαιώματα
Η αίτηση κλειδιού ανάθεσης χρήστη είναι μια λειτουργία σε επίπεδο μισθωτή στο Fabric. Για να ζητήσει ένα κλειδί ανάθεσης χρήστη, ο χρήστης ή η αρχή ασφαλείας που ζητά το κλειδί ανάθεσης χρηστών πρέπει να έχει τουλάχιστον δικαιώματα ανάγνωσης σε έναν χώρο εργασίας στον μισθωτή Fabric. Η ταυτότητα του χρήστη που ζητά χρησιμοποιείται για τον έλεγχο ταυτότητας του SAS, το οποίο σημαίνει ότι ο χρήστης πρέπει να έχει δικαιώματα στα δεδομένα στα οποία εκχωρεί πρόσβαση SAS.
Απόκτηση διακριτικού OAuth 2.0
Για να λάβετε το κλειδί ανάθεσης χρηστών, ζητήστε πρώτα ένα διακριτικό OAuth 2.0 από το αναγνωριστικό Entra της Microsoft. Εξουσιοδοτήστε την κλήση στη λειτουργία Λήψη κλειδιού ανάθεσης χρηστών , παρέχοντας το διακριτικό φορέα. Για περισσότερες πληροφορίες σχετικά με την αίτηση ενός διακριτικού OAuth από το Microsoft Entra ID, ανατρέξτε στο θέμα Ροές ελέγχου ταυτότητας και σενάρια εφαρμογών.
Αίτηση για το κλειδί ανάθεσης χρηστών
Η κλήση της λειτουργίας Λήψη κλειδιού ανάθεσης χρηστών επιστρέφει το κλειδί ως σύνολο τιμών που χρησιμοποιούνται ως παράμετροι στο διακριτικό SAS ανάθεσης χρηστών. Αυτές οι παράμετροι περιγράφονται στην ενότητα Λήψη αναφοράς κλειδιού ανάθεσης χρηστών και στην επόμενη ενότητα.
Σημείωση
Η κλήση της λειτουργίας Λήψη κλειδιού ανάθεσης χρηστών με χρήση ενός φόρτου εργασίας Fabric, όπως ένα σημειωματάριο python, απαιτεί το τοπικό τελικό σημείο για το OneLake, το οποίο καθορίζεται από την περιοχή εκχωρημένων πόρων, διαφορετικά η απόκριση που λαμβάνεται είναι 200 Healthy αντί για το κλειδί ανάθεσης.
Όταν ένα πρόγραμμα-πελάτης ζητά ένα κλειδί ανάθεσης χρήστη χρησιμοποιώντας ένα διακριτικό OAuth 2.0, η OneLake επιστρέφει ένα κλειδί ανάθεσης χρήστη για λογαριασμό του προγράμματος-πελάτη. Ένα SAS που δημιουργήθηκε με αυτό το κλειδί ανάθεσης χρηστών εκχωρείται το πολύ στα δικαιώματα που εκχωρούνται στο πρόγραμμα-πελάτη, το οποίο περικλείεται στα δικαιώματα που εκχωρούνται ρητά στο SAS.
Μπορείτε να δημιουργήσετε οποιονδήποτε αριθμό διακριτικών OneLake SAS για όλη τη διάρκεια ζωής του κλειδιού ανάθεσης χρηστών. Ωστόσο, ένα OneLake SAS και κλειδιά ανάθεσης χρηστών μπορεί να είναι έγκυρα για τουλάχιστον μία ώρα και δεν μπορεί να υπερβεί τη διάρκεια ζωής του διακριτικού που τα ζητά. Αυτοί οι περιορισμοί διάρκειας ζωής είναι μικρότεροι από τη μέγιστη διάρκεια ζωής ενός SAS με ανάθεση από έναν χρήστη υπηρεσίας αποθήκευσης Azure.
Δημιουργία ανάθεσης χρήστη SAS
Ο παρακάτω πίνακας συνοψίζει τα πεδία που υποστηρίζονται για ένα διακριτικό SAS OneLake. Οι επόμενες ενότητες παρέχουν περισσότερες λεπτομέρειες σχετικά με αυτές τις παραμέτρους και πώς διαφέρουν από τα διακριτικά SAS υπηρεσίας αποθήκευσης Microsoft Azure. Το OneLake δεν υποστηρίζει κάθε προαιρετική παράμετρο που υποστηρίζεται από την Υπηρεσία αποθήκευσης Azure και θα απορριφθεί μια SAS OneLake που κατασκευάζεται με μια μη υποστηριζόμενη παράμετρο.
Όνομα πεδίου SAS | Παράμετρος διακριτικού SAS | Κατάσταση | Περιγραφή |
---|---|---|---|
signedVersion |
sv |
Απαιτείται | Υποδεικνύει την έκδοση της υπηρεσίας αποθήκευσης που χρησιμοποιείται για τη δημιουργία του πεδίου υπογραφής. Το OneLake υποστηρίζει εκδόσεις και παλαιότερες ή εκδόσεις 2020-02-10 και νεότερες 2020-12-06 εκδόσεις. |
signedResource |
sr |
Απαιτείται | Καθορίζει ποιοι πόροι είναι προσβάσιμοι μέσω της υπογραφής κοινόχρηστων πρόσβασης. Μόνο τα blob (b ) και κατάλογος (d ) ισχύουν για το OneLake. |
signedStart |
st |
Προαιρετικό | Η ώρα που η υπογραφή κοινόχρηστής πρόσβασης γίνεται έγκυρη. Μορφή ISO 8601 UTC. |
signedExpiry |
se |
Απαιτείται | Η ώρα κατά την οποία λήγει η υπογραφή κοινόχρηστής πρόσβασης. |
signedPermissions |
sp |
Απαιτείται | Υποδεικνύει ποιες λειτουργίες μπορεί να εκτελέσει το SAS στον πόρο. Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα Καθορισμός δικαιωμάτων . |
signedObjectId |
skoid |
Απαιτείται | Προσδιορίζει μια κύρια ασφαλείας Microsoft Entra. |
signedtenantId |
sktid |
Απαιτείται | Καθορίζει τον μισθωτή Microsoft Entra στον οποίο έχει οριστεί μια κύρια ασφάλεια. |
signedKeyStartTime |
skt |
Προαιρετικό | Ώρα ΣΕ UTC κατά την εκκίνηση του κλειδιού υπογραφής. Επιστρέφεται από τη λειτουργία Λήψη κλειδιού ανάθεσης χρηστών . |
signedKeyExpiryTime |
ske |
Απαιτείται | Ώρα σε UTC όταν τελειώνει το κλειδί υπογραφής. Επιστρέφεται από τη λειτουργία Λήψη κλειδιού ανάθεσης χρηστών . |
signedKeyVersion |
skv |
Απαιτείται | Η έκδοση υπηρεσίας χώρου αποθήκευσης που χρησιμοποιείται για τη λήψη του κλειδιού ανάθεσης χρήστη. Επιστρέφεται από τη λειτουργία Λήψη κλειδιού ανάθεσης χρηστών . Το OneLake υποστηρίζει εκδόσεις και παλαιότερες ή εκδόσεις 2020-02-10 και νεότερες 2020-12-06 εκδόσεις. |
signedKeyService |
sks |
Απαιτείται | Η έγκυρη υπηρεσία για το κλειδί ανάθεσης χρηστών. Το OneLake υποστηρίζει μόνο χώρο αποθήκευσης αντικειμένων Blob (sks=b ). |
signature |
sig |
Απαιτείται | Η υπογραφή είναι ένας κωδικός ελέγχου ταυτότητας μηνύματος βάσει κατακερματισμού (HMAC) που υπολογίζεται μέσω της συμβολοσειράς προς πρόσημο και του κλειδιού χρησιμοποιώντας τον αλγόριθμο SHA256 και, στη συνέχεια, κωδικοποιείται με κωδικοποίηση Base64. |
signedDirectoryDepth |
sdd |
Προαιρετικό | Υποδεικνύει τον αριθμό καταλόγων μέσα στον ριζικό φάκελο του καταλόγου που καθορίζεται στο πεδίο canonicalizedResource της συμβολοσειράς προς πρόσημο. Υποστηρίζεται μόνο όταν sr=d . |
signedProtocol |
spr |
Προαιρετικό | Το OneLake υποστηρίζει μόνο αιτήσεις https. |
signedAuthorizedObjectId |
saoid |
Δεν υποστηρίζεται | Το OneLake SAS δεν υποστηρίζει αυτήν τη δυνατότητα. |
signedUnauthorizedObjectId |
suoid |
Δεν υποστηρίζεται | Το OneLake SAS δεν υποστηρίζει αυτήν τη δυνατότητα. |
signedCorrelationId |
suoid |
Δεν υποστηρίζεται | Το OneLake SAS δεν υποστηρίζει αυτή την παράμετρο. |
signedEncryptionScope |
ses |
Δεν υποστηρίζεται | Το OneLake SAS δεν υποστηρίζει προς το παρόν προσαρμοσμένες εμβέλειες κρυπτογράφησης. |
signedIP |
sip |
Δεν υποστηρίζεται | Το OneLake SAS δεν υποστηρίζει προς το παρόν φιλτράρισμα IP. |
Cache-Control κεφαλίδα απόκρισης |
rscc |
Δεν υποστηρίζεται | Το OneLake SAS δεν υποστηρίζει αυτή την παράμετρο. |
Content-Disposition κεφαλίδα απόκρισης |
rscd |
Δεν υποστηρίζεται | Το OneLake SAS δεν υποστηρίζει αυτή την παράμετρο. |
Content-Encoding κεφαλίδα απόκρισης |
rsce |
Δεν υποστηρίζεται | Το OneLake SAS δεν υποστηρίζει αυτή την παράμετρο. |
Content-Language κεφαλίδα απόκρισης |
rscl |
Δεν υποστηρίζεται | Το OneLake SAS δεν υποστηρίζει αυτή την παράμετρο. |
Content Type κεφαλίδα απόκρισης |
rsct |
Δεν υποστηρίζεται | Το OneLake SAS δεν υποστηρίζει αυτή την παράμετρο. |
Καθορισμός δικαιωμάτων
Τα δικαιώματα που καθορίζονται στο signedPermissions
πεδίο (sp
) στο διακριτικό SAS υποδεικνύουν ποιες λειτουργίες μπορεί να εκτελέσει ένα πρόγραμμα-πελάτης που κατέχει sas στον πόρο.
Τα δικαιώματα μπορούν να συνδυαστούν για να επιτρέψουν σε ένα πρόγραμμα-πελάτη να εκτελεί πολλαπλές λειτουργίες με το ίδιο SAS. Κατά τη δημιουργία του SAS, πρέπει να συμπεριλάβετε δικαιώματα με την ακόλουθη σειρά: racwdxltmeop
.
Παραδείγματα έγκυρων ρυθμίσεων δικαιωμάτων είναι rw
τα , , rd
rl
, wd
, wl
και rl
. Δεν μπορείτε να καθορίσετε δικαιώματα περισσότερες από μία φορές.
Για να εξασφαλιστεί η ισοτιμία με τα υπάρχοντα εργαλεία υπηρεσίας αποθήκευσης Azure, η OneLake χρησιμοποιεί την ίδια μορφή δικαιωμάτων με την Υπηρεσία αποθήκευσης Azure. Η OneLake αξιολογεί τα δικαιώματα που εκχωρούνται σε ένα SAS στο signedPermissions
, τα δικαιώματα της ταυτότητας υπογραφής στο Fabric και τυχόν ρόλους πρόσβασης δεδομένων OneLake, εάν υπάρχουν. Να θυμάστε ότι ορισμένες λειτουργίες, όπως η ρύθμιση δικαιωμάτων ή η διαγραφή χώρων εργασίας, δεν επιτρέπονται στο OneLake μέσω των API υπηρεσίας αποθήκευσης Azure γενικά. Η εκχώρηση αυτού του δικαιώματος (sp=op
) δεν επιτρέπει την εκτέλεση αυτών των λειτουργιών από ένα ONELake SAS.
Δικαίωμα | Σύμβολο URI | Πόρος | Επιτρεπόμενες λειτουργίες |
---|---|---|---|
Αναγνωσμένη | r | Κατάλογος, Αντικείμενο blob | Διαβάστε το περιεχόμενο, τη λίστα αποκλεισμένων, τις ιδιότητες και τα μετα-δεδομένα οποιουδήποτε αντικειμένου blob στο κοντέινερ ή στον κατάλογο. Χρησιμοποιήστε ένα αντικείμενο blob ως προέλευση μιας λειτουργίας αντιγραφής. |
Προσθήκη | π.μ. | Κατάλογος, Αντικείμενο blob | Προσθέστε ένα μπλοκ σε ένα αντικείμενο blob προσάρτησης. |
Δημιουργία | γ | Κατάλογος, Αντικείμενο blob | Γράψτε ένα νέο αντικείμενο blob, στιγμιότυπα blob ή αντιγράψτε ένα αντικείμενο blob σε ένα νέο αντικείμενο blob. |
Εγγραφή | w | Κατάλογος, Αντικείμενο blob | Δημιουργήστε ή γράψτε περιεχόμενο, ιδιότητες, μετα-δεδομένα ή λίστα αποκλεισμένων. Στιγμιότυπο ή μίσθωση του αντικειμένου blob. Χρησιμοποιήστε το αντικείμενο blob ως προορισμό μιας λειτουργίας αντιγραφής. |
Διαγραφή | η | Κατάλογος, Αντικείμενο blob | Διαγράψτε ένα αντικείμενο blob. |
Διαγραφή έκδοσης | x | Σταγόνα | Διαγράψτε μια έκδοση αντικειμένων blob. |
Οριστική διαγραφή | y | Σταγόνα | Οριστική διαγραφή ενός στιγμιότυπου blob ή έκδοσης. |
Λίστα | l | Κατάλογος | Λίστα αντικειμένων blob μη επαναλαμβανόμενα. |
Ετικέτες | t | Σταγόνα | Διαβάστε ή γράψτε τις ετικέτες σε ένα αντικείμενο blob. |
Μετακίνηση | λεπτά | Κατάλογος, Αντικείμενο blob | Μετακινήστε ένα αντικείμενο blob ή έναν κατάλογο και τα περιεχόμενά του σε μια νέα θέση. |
Εκτέλεση | e | Κατάλογος, Αντικείμενο blob | Λάβετε τις ιδιότητες συστήματος και, εάν ο ιεραρχικός χώρος ονομάτων είναι ενεργοποιημένος για τον λογαριασμό χώρου αποθήκευσης, λάβετε το POSIX ACL ενός αντικειμένου blob. |
Κυριότητα | o | Κατάλογος, Αντικείμενο blob | Ορίστε τον κάτοχο ή την ομάδα κατοχής. Δεν υποστηρίζεται στο OneLake. |
Δικαιώματα | μ.μ. | Κατάλογος, Αντικείμενο blob | Ορίστε τα δικαιώματα. Δεν υποστηρίζεται στο OneLake. |
Ορισμός πολιτικής δυνατότητας αποθήκευσης | εγώ | Σταγόνα | Ορίστε ή διαγράψτε την πολιτική αμετάβλητης ή τη νομική διατήρηση ενός αντικειμένου blob. |
Καθορισμός της υπογραφής
Το signature
πεδίο (sig
) χρησιμοποιείται για την εξουσιοδότηση μιας αίτησης που έγινε από έναν υπολογιστή-πελάτη με την υπογραφή κοινόχρηστης πρόσβασης. Η συμβολοσειρά προς πρόσημο είναι μια μοναδική συμβολοσειρά που κατασκευάζεται από τα πεδία που πρέπει να επαληθευτούν για να εγκριθεί η αίτηση. Η υπογραφή είναι μια HMAC που υπολογίζεται μέσω της συμβολοσειράς προς πρόσημο και του κλειδιού χρησιμοποιώντας τον αλγόριθμο SHA256 και, στη συνέχεια, κωδικοποιείται χρησιμοποιώντας κωδικοποίηση bBase65.
Για να δημιουργήσετε τη συμβολοσειρά υπογραφής μιας ανάθεσης χρήστη SAS, δημιουργήστε τη συμβολοσειρά προς πρόσημο από τα πεδία που έγιναν από την αίτηση, κωδικοποιήστε τη συμβολοσειρά ως UTF-8 και, στη συνέχεια, υπολογίστε την υπογραφή χρησιμοποιώντας τον αλγόριθμο HMAC-SHA256. Τα πεδία που περιλαμβάνονται στη συμβολοσειρά προς πρόσημο πρέπει να αποκωδικοποιούνται μέσω URL.
Τα πεδία που απαιτούνται στη συμβολοσειρά προς πρόσημο εξαρτώνται από την έκδοση υπηρεσίας που χρησιμοποιείται για το πεδίο εξουσιοδότησης (sv
). Η παρακάτω ενότητα περιγράφει τις ρυθμίσεις παραμέτρων συμβολοσειράς για πρόσημο για εκδόσεις που υποστηρίζουν OneLake SASs.
Έκδοση 2020-12-06 και νεότερες εκδόσεις
StringToSign = signedPermissions + "\n" +
signedStart + "\n" +
signedExpiry + "\n" +
canonicalizedResource + "\n" +
signedKeyObjectId + "\n" +
signedKeyTenantId + "\n" +
signedKeyStart + "\n" +
signedKeyExpiry + "\n" +
signedKeyService + "\n" +
signedKeyVersion + "\n" +
signedAuthorizedUserObjectId + "\n" +
signedUnauthorizedUserObjectId + "\n" +
signedCorrelationId + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedVersion + "\n" +
signedResource + "\n" +
signedSnapshotTime + "\n" +
signedEncryptionScope + "\n" +
rscc + "\n" +
rscd + "\n" +
rsce + "\n" +
rscl + "\n" +
rsct
Έκδοση 2020-02-10 και παλαιότερη
Αυτή η ρύθμιση παραμέτρων ισχύει για την έκδοση 2020-02-10 και παλαιότερη, εκτός από την έκδοση 2020-01-10 που περιγράφεται στην επόμενη ενότητα.
StringToSign = signedPermissions + "\n" +
signedStart + "\n" +
signedExpiry + "\n" +
canonicalizedResource + "\n" +
signedKeyObjectId + "\n" +
signedKeyTenantId + "\n" +
signedKeyStart + "\n" +
signedKeyExpiry + "\n" +
signedKeyService + "\n" +
signedKeyVersion + "\n" +
signedAuthorizedUserObjectId + "\n" +
signedUnauthorizedUserObjectId + "\n" +
signedCorrelationId + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedVersion + "\n" +
signedResource + "\n" +
rscc + "\n" +
rscd + "\n" +
rsce + "\n" +
rscl + "\n" +
rsct
Έκδοση 2020-01-10
StringToSign = signedPermissions + "\n" +
signedStart + "\n" +
signedExpiry + "\n" +
canonicalizedResource + "\n" +
signedKeyObjectId + "\n" +
signedKeyTenantId + "\n" +
signedKeyStart + "\n" +
signedKeyExpiry + "\n" +
signedKeyService + "\n" +
signedKeyVersion + "\n" +
signedAuthorizedUserObjectId + "\n" +
signedUnauthorizedUserObjectId + "\n" +
signedCorrelationId + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedVersion + "\n" +
signedResource + "\n" +
signedSnapshotTime + "\n" +
rscc + "\n" +
rscd + "\n" +
rsce + "\n" +
rscl + "\n" +
rsct
Κανονικός πόρος
Το canonicalizedResource
τμήμα της συμβολοσειράς είναι μια κανονικός διαδρομή προς τον πόρο. Πρέπει να περιλαμβάνει το τελικό σημείο OneLake και το όνομα του πόρου και πρέπει να αποκωδικοποιείται η διεύθυνση URL. Μια διαδρομή OneLake πρέπει να περιλαμβάνει τον χώρο εργασίας της και μια διαδρομή καταλόγου πρέπει να περιλαμβάνει τον αριθμό των υποκαταλόγων που αντιστοιχούν στην sdd
παράμετρο.
Τα παρακάτω παραδείγματα δείχνουν πώς μπορείτε να μετατρέψετε τη διεύθυνση URL OneLake στον αντίστοιχο πόρο canonicalized. Να θυμάστε ότι το OneLake υποστηρίζει λειτουργίες DFS και αντικείμενα blob και τελικά σημεία και ότι το όνομα λογαριασμού για το OneLake είναι πάντα μοναδικό.
Αρχείο αντικειμένων blob
URL = https://onelake.blob.fabric.microsoft.com/myWorkspace/myLakehouse.Lakehouse/Files/sales.csv
canonicalizedResource = "/blob/onelake/myWorkspace/myLakehouse.Lakehouse/Files/sales.csv"
Κατάλογος DFS
URL = https://onelake.dfs.fabric.microsoft.com/myWorkspace/myLakehouse.Lakehouse/Files/
canonicalizedResource = "/blob/onelake/myWorkspace/myLakehouse.Lakehouse/Files/"
Παράδειγμα OneLake SAS
Το παρακάτω παράδειγμα εμφανίζει ένα OneLake SAS URI με ένα διακριτικό SAS OneLake προσαρτημένο σε αυτό. Το διακριτικό SAS παρέχει δικαιώματα ανάγνωσης και εγγραφής στον φάκελο Αρχεία στο lakehouse.
https://onelake.blob.fabric.microsoft.com/myWorkspace/myLakehouse.Lakehouse/Files/?sp=rw&st=2023-05-24T01:13:55Z&se=2023-05-24T09:13:55Z&skoid=<object-id>&sktid=<tenant-id>&skt=2023-05-24T01:13:55Z&ske=2023-05-24T09:13:55Z&sks=b&skv=2022-11-02&sv=2022-11-02&sr=d&sig=<signature>