Ένα μεγάλο έργο επιχειρηματικής ευφυΐας (BI) με πολλούς χρήστες και ομάδες και ευαίσθητες πληροφορίες απαιτεί μια πολύπλευρη αρχιτεκτονική ασφάλειας. Αυτή η αρχιτεκτονική θα πρέπει να παρέχει στους διαχειριστές και στους αρχιτέκτονες BI τη δυνατότητα να ελαχιστοποιούν τον όγκο των πληροφοριών που είναι προσβάσιμες στους χρήστες. Για μια απλή λύση διαχείρισης Amazon QuickSight δικαιώματα πρόσβασης χρήστη και περιουσιακών στοιχείων, μπορείτε να χρησιμοποιήσετε το Διεπαφή γραμμής εντολών AWS (AWS CLI) ή Κονσόλα διαχείρισης AWS για να επεξεργαστείτε μη αυτόματα τον ρόλο χρήστη και την πρόσβαση στον πίνακα εργαλείων QuickSight. Ωστόσο, σε συγκεκριμένες περιπτώσεις, μια επιχείρηση μπορεί εύκολα να έχει εκατοντάδες ή χιλιάδες χρήστες και ομάδες και αυτές οι μέθοδοι διαχείρισης πρόσβασης δεν είναι αποτελεσματικές. Έχουμε λάβει μεγάλο αριθμό αιτημάτων για την παροχή μιας προηγμένης προγραμματιζόμενης προσέγγισης για την ανάπτυξη και τη διαχείριση μιας κεντρικής αρχιτεκτονικής ασφαλείας QuickSight.
Αυτή η ανάρτηση περιγράφει τις βέλτιστες πρακτικές για τον έλεγχο ταυτότητας QuickSight και την εξουσιοδότηση λεπτομερούς ελέγχου πρόσβασης και παρέχει μια κεντρική εφαρμογή cloud με Κιτ ανάπτυξης AWS Cloud (AWS CDK) στοίβα για λήψη. Ένα από τα πλεονεκτήματα της λύσης μας είναι ότι οι επιχειρήσεις μπορούν να αναπτύξουν το πλαίσιο ασφαλείας για να διαχειριστούν τον έλεγχο πρόσβασης του BI τους χωρίς να εγκαταλείψουν το AWS.
Όλες οι διαμορφώσεις αποθηκεύονται στο Κατάστημα παραμέτρων AWS Systems Manager. Το Parameter Store παρέχει ασφαλή, ιεραρχική αποθήκευση για διαχείριση δεδομένων διαμόρφωσης και διαχείριση μυστικών. Μπορείτε να αποθηκεύσετε δεδομένα όπως όνομα χρήστη, δικαιώματα χρήστη, κωδικούς πρόσβασης και συμβολοσειρές βάσης δεδομένων ως τιμές παραμέτρων. Μπορείτε να αναφέρετε Διευθυντής συστημάτων AWS παραμέτρους στα σενάρια και τις ροές εργασιών διαμόρφωσης και αυτοματισμού χρησιμοποιώντας το μοναδικό όνομα που καθορίσατε όταν δημιουργήσατε την παράμετρο.
Το πρότυπο εφαρμογής AWS CDK ταιριάζει στην υποδομή συνεχούς ενοποίησης και συνεχούς ανάπτυξης (CI/CD) και χορηγεί ή ανακαλεί όλους τους ελέγχους ταυτότητας και τις εξουσιοδοτήσεις βάσει μιας καθορισμένης πολιτικής που ορίζεται από το AWS. Αυτό αποφεύγει πιθανά ανθρώπινα λάθη που γίνονται από προγραμματιστές ή διαχειριστές BI. Οι προγραμματιστές BI μπορούν να επεξεργαστούν τις παραμέτρους διαμόρφωσης για να κυκλοφορήσουν νέους πίνακες εργαλείων στους τελικούς χρήστες. Ταυτόχρονα, οι διαχειριστές BI μπορούν να επεξεργαστούν ένα άλλο σύνολο παραμέτρων για τη διαχείριση χρηστών ή ομάδων. Αυτή η σχεδίαση AWS CDK CI/CD γεφυρώνει τα κενά μεταξύ των δραστηριοτήτων ανάπτυξης και λειτουργίας, επιβάλλοντας την αυτοματοποίηση στη δημιουργία και την ανάπτυξη εφαρμογών BI.
Απαιτήσεις ασφαλείας
Στη σχεδίαση εφαρμογών επιχειρηματικού BI, η πολλαπλή μίσθωση είναι μια κοινή περίπτωση χρήσης, η οποία εξυπηρετεί πολλαπλά σύνολα χρηστών με μία υποδομή. Οι μισθωτές θα μπορούσαν να είναι είτε διαφορετικοί πελάτες ενός ανεξάρτητου προμηθευτή λογισμικού (ISV), είτε διαφορετικά τμήματα μιας επιχείρησης. Σε ένα σχέδιο πολλαπλών μισθώσεων, κάθε μισθωτής μοιράζεται τους πίνακες εργαλείων, τις αναλύσεις και άλλα στοιχεία του QuickSight. Κάθε χρήστης, ο οποίος μπορεί να δει όλους τους άλλους χρήστες που ανήκουν στον ίδιο μισθωτή (για παράδειγμα, όταν μοιράζεται περιεχόμενο), παραμένει αόρατος στους άλλους ενοικιαστές. Μέσα σε κάθε μισθωτή, η ομάδα διαχειριστή του BI πρέπει να δημιουργήσει διαφορετικές ομάδες χρηστών για τον έλεγχο της εξουσιοδότησης δεδομένων, συμπεριλαμβανομένων των αδειών πρόσβασης στοιχείων και της πρόσβασης σε αναλυτικό επίπεδο δεδομένων.
Ας συζητήσουμε λεπτομερώς ορισμένες περιπτώσεις χρήσης αδειών πρόσβασης στοιχείων. Σε μια εφαρμογή BI, τα διαφορετικά περιουσιακά στοιχεία κατηγοριοποιούνται συνήθως ανάλογα με τους επιχειρηματικούς τομείς (όπως ένας πίνακας εργαλείων λειτουργίας ή ένας πίνακας εργαλείων εκτελεστικής σύνοψης) και την ταξινόμηση δεδομένων (κρίσιμη, άκρως εμπιστευτική, μόνο εσωτερική και δημόσια). Για παράδειγμα, μπορείτε να έχετε δύο πίνακες εργαλείων για την ανάλυση των δεδομένων αποτελεσμάτων πωλήσεων. Η εμφάνιση και η αίσθηση και των δύο ταμπλό είναι παρόμοια, αλλά η ταξινόμηση ασφαλείας των δεδομένων είναι διαφορετική. Ένας πίνακας ελέγχου, που ονομάζεται Sales Critical Dashboard, περιέχει κρίσιμες στήλες και σειρές δεδομένων. Ο άλλος πίνακας ελέγχου, που ονομάζεται Sales Highly-Confidential Dashboard, περιέχει εξαιρετικά εμπιστευτικές στήλες και σειρές δεδομένων. Ορισμένοι χρήστες έχουν άδεια να προβάλλουν και τους δύο πίνακες εργαλείων και άλλοι έχουν άδεια χαμηλότερου επιπέδου ασφάλειας και μπορούν να έχουν πρόσβαση μόνο στον Πίνακα ελέγχου άκρως εμπιστευτικού πωλήσεων.
Στην ακόλουθη περίπτωση χρήσης, αντιμετωπίζουμε την πρόσβαση δεδομένων σε επίπεδο ανάλυσης ως εξής:
- Πρόσβαση σε επίπεδο γραμμής (RLS) – Για τους χρήστες που έχουν πρόσβαση στο Sales Critical Dashboard, ορισμένοι από αυτούς μπορούν να προβάλλουν μόνο δεδομένα των ΗΠΑ. Ωστόσο, ορισμένοι παγκόσμιοι χρήστες μπορούν να δουν τα δεδομένα όλων των χωρών, συμπεριλαμβανομένων των ΗΠΑ και του Ηνωμένου Βασιλείου.
- Πρόσβαση σε επίπεδο στήλης (CLS) – Ορισμένοι χρήστες μπορούν να προβάλλουν μόνο στήλες δεδομένων μη προσωπικών πληροφοριών (PII) ενός συνόλου δεδομένων, ενώ η ομάδα HR μπορεί να προβάλει όλες τις στήλες του ίδιου συνόλου δεδομένων.
Τα μεγάλα έργα μπορεί να έχουν πολλούς μισθωτές, εκατοντάδες ομάδες και χιλιάδες χρήστες σε έναν λογαριασμό QuickSight. Η ομάδα επικεφαλής δεδομένων θέλει να αναπτύξει ένα πρωτόκολλο για τη δημιουργία και τον έλεγχο ταυτότητας χρήστη, προκειμένου να μειώσει το κόστος συντήρησης και τον κίνδυνο ασφάλειας. Η αρχιτεκτονική και η ροή εργασίας που περιγράφονται σε αυτήν την ανάρτηση βοηθούν τον ηγέτη δεδομένων να επιτύχει αυτόν τον στόχο.
Επιπλέον, για την αποφυγή ανθρώπινων σφαλμάτων στην καθημερινή λειτουργία, θέλουμε αυτές οι άδειες ασφαλείας να χορηγούνται και να ανακαλούνται αυτόματα και να χωρούν στην υποδομή CI/CD. Οι λεπτομέρειες εξηγούνται αργότερα σε αυτήν την ανάρτηση.
Επισκόπηση αρχιτεκτονικής
Το παρακάτω διάγραμμα δείχνει την αρχιτεκτονική λογαριασμού QuickSight αυτής της λύσης.
- Οι συγγραφείς δημιουργούν πίνακες εργαλείων και ενημερώνουν το AWS Systems Manager Parameter Store για να κυκλοφορήσουν πίνακες εργαλείων σε διαφορετικές ομάδες
- Οι διαχειριστές εγκρίνουν τα αιτήματα των συγγραφέων
- Οι διαχειριστές ενημερώνουν τη διαχείριση χρηστών (ρόλοι, χώρο ονομάτων,) επεξεργάζοντας το AWS Systems ManagerParameter Store
- Το DevOps αναπτύσσει τις ενημερώσεις με το AWS CDK
*Ομάδες: Οι ομάδες δικαιωμάτων πρόσβασης αντικειμένων ελέγχουν τον κάτοχο/προβολέα των αντικειμένων. Ομάδες τμημάτων δεδομένων σε συνδυασμό με RLS/CLS ελέγχουν την πρόσβαση δεδομένων.
*Σύνολα δεδομένων: Περιέχει όλα τα δεδομένα, περιορισμένα από ασφάλεια σε επίπεδο γραμμής (RLS) και ασφάλεια σε επίπεδο στήλης (CLS)
Το παρακάτω διάγραμμα απεικονίζει τη ροή εργασιών ελέγχου ταυτότητας της αρχιτεκτονικής:
*Πρώτη φορά συνδεθείτε στο QuickSight: Εάν ο χρήστης QuickSight δεν έχει εγγραφεί πριν από την πρώτη σύνδεση, δημιουργείται ένας αναγνώστης και μόνο αυτός ο αναγνώστης μπορεί να δει τον πίνακα ελέγχου της σελίδας προορισμού, ο οποίος μοιράζεται σε όλους τους χρήστες αυτού του λογαριασμού. Η σελίδα προορισμού παρέχει τη λίστα αναφορών που μπορεί να δει αυτός ο χρήστης.
Το παρακάτω διάγραμμα απεικονίζει τη ροή εργασιών εξουσιοδότησης της αρχιτεκτονικής.
Λεπτομέρειες διαγράμματος εξουσιοδότησης:
- Οι πληροφορίες χρήστη (τμήμα, ομάδα, γεωγραφική τοποθεσία) αποθηκεύονται στο Amazon Redshift, στο Amazon Athena ή σε οποιαδήποτε άλλη βάση δεδομένων. Σε συνδυασμό με τη χαρτογράφηση ομάδας-χρήστη, οι βάσεις δεδομένων RLS έχουν κατασκευαστεί για πρόσβαση σε δεδομένα ελέγχου.
- Ωριαία εκχώρηση αδειών:
- Σύμφωνα με την αντιστοίχιση ονόματος (χρήστη) ομάδας-εργαζομένων (membership.csv) και αντιστοίχιση ρόλων ομάδας (/qs/console/roles), μια συνάρτηση AWS Lambda δημιουργεί ομάδες, καταχωρεί, χρήστες, εκχωρεί μέλη ομάδας, καταργεί συνδρομές ομάδας, προωθεί τους αναγνώστες σε συγγραφέα ή διαχειριστή και διαγράφει χρήστες εάν υποβιβαστούν από συγγραφέα ή διαχειριστή σε αναγνώστη.
- Σύμφωνα με την αντιστοίχιση ομάδας-ταμπλό στο /qs/config/access, μια συνάρτηση AWS Lambda ενημερώνει τα δικαιώματα του πίνακα εργαλείων σε ομάδες QuickSight.
- Σύμφωνα με την αντιστοίχιση χώρου ονομάτων ομάδας στο Membership.csv, μια συνάρτηση AWS Lambda δημιουργεί ομάδες QuickSight στον καθορισμένο χώρο ονομάτων.
- Δείγματα παραμέτρων αδειών πρόσβασης αντικειμένων και τμημάτων δεδομένων:
- Δείγματα παραμέτρων του ρόλου χρήστη QuickSight:
- Δείγματα δεδομένων του Membership.csv:
Σε αυτήν τη λύση, αναπτύσσονται προσαρμοσμένοι χώροι ονομάτων για την υποστήριξη πολλαπλών μισθώσεων. ο default
Ο χώρος ονομάτων είναι για όλους τους εσωτερικούς χρήστες μιας εταιρείας (το ονομάζουμε OkTank). Το OkTank δημιουργεί το 3rd-Party
χώρο ονομάτων για εξωτερικούς χρήστες. Εάν πρέπει να υποστηρίξουμε περισσότερους ενοικιαστές, μπορούμε να δημιουργήσουμε περισσότερους προσαρμοσμένους χώρους ονομάτων. Από προεπιλογή, περιοριζόμαστε σε 100 χώρους ονομάτων ανά λογαριασμό AWS. Για να αυξήσετε αυτό το όριο, επικοινωνήστε με την ομάδα προϊόντων QuickSight. Για περισσότερες πληροφορίες σχετικά με την πολυμίσθωση, βλ Ενσωμάτωση αναλυτικών στοιχείων πολλών μισθωτών σε εφαρμογές με το Amazon QuickSight.
Σε κάθε χώρο ονομάτων, δημιουργούμε διαφορετικούς τύπους ομάδων. Για παράδειγμα, στο default
namespace, δημιουργούμε το BI-Admin
και BI-Developer
ομάδες για την admin
και author
χρήστες. Για reader
, αναπτύσσουμε δύο τύπους ομάδων QuickSight για τον έλεγχο των δικαιωμάτων πρόσβασης στοιχείων και της πρόσβασης δεδομένων: ομάδες αδειών πρόσβασης αντικειμένων και ομάδες τμημάτων δεδομένων.
Ο παρακάτω πίνακας συνοψίζει τον τρόπο με τον οποίο οι ομάδες δικαιωμάτων πρόσβασης αντικειμένων ελέγχουν τα δικαιώματα.
Ονομα ομάδας | Ο χώρος ονομάτων | Άδεια | Notes |
critical |
Προεπιλογή | Προβολή και των δύο πινάκων εργαλείων (που περιέχουν τα κρίσιμα δεδομένα και τα εξαιρετικά εμπιστευτικά δεδομένα) | |
highlyconfidential |
Προεπιλογή | Δείτε μόνο τον Πίνακα ελέγχου άκρως εμπιστευτικού πωλήσεων | |
BI-Admin |
Προεπιλογή | Διαχείριση λογαριασμού και επεξεργασία όλων των στοιχείων | Οι χρήστες στο BI-Admin ομάδα ανατίθεται η Admin Ρόλος χρήστη QuickSight. |
BI-Developer |
Προεπιλογή | Επεξεργασία όλων των στοιχείων | Οι χρήστες στο BI-Developer στην ομάδα εκχωρείται ο ρόλος χρήστη Συγγραφέας QuickSight. |
Power-reader |
Προεπιλογή | Δείτε όλα τα στοιχεία και δημιουργήστε ad hoc ανάλυση για την εκτέλεση αναφορών ανάλυσης αυτοεξυπηρέτησης |
Οι χρήστες στο Ωστόσο, αυτή η ομάδα δεν μπορεί να αποθηκεύσει ή να μοιραστεί τις ad hoc αναφορές της. |
3rd-party |
Μη προεπιλεγμένοι χώροι ονομάτων (3rd-party χώρος ονομάτων, για παράδειγμα) |
Μπορεί να μοιραστεί μόνο με τους αναγνώστες (3rd-party-reader ομάδα, για παράδειγμα) στον ίδιο χώρο ονομάτων |
Σε μη προεπιλεγμένους χώρους ονομάτων, μπορούμε επίσης να δημιουργήσουμε άλλες ομάδες δικαιωμάτων πρόσβασης αντικειμένων, οι οποίες είναι παρόμοιες με την κρίσιμη ομάδα στον προεπιλεγμένο χώρο ονομάτων. |
Για περισσότερες πληροφορίες σχετικά με τις ομάδες QuickSight, τους χρήστες και τους ρόλους χρηστών, βλ Διαχείριση πρόσβασης χρηστών στο Amazon QuickSight, Προμήθεια χρηστών για το Amazon QuickSight, να Χρήση πινάκων εργαλείων διαχείρισης για μια κεντρική προβολή αντικειμένων Amazon QuickSight.
Ο δεύτερος τύπος ομάδων (ομάδες τμημάτων δεδομένων), σε συνδυασμό με ασφάλεια σε επίπεδο σειράς σύνολα δεδομένων και ασφάλεια σε επίπεδο στήλης, ελέγξτε την πρόσβαση στα δεδομένα όπως περιγράφεται στον παρακάτω πίνακα.
Ονομα ομάδας | Ο χώρος ονομάτων | Άδεια | Έκταση |
USA |
Προεπιλογή | Προβολή δεδομένων ΗΠΑ μόνο σε οποιονδήποτε πίνακα εργαλείων | Επίπεδο σειράς |
GBR |
Προεπιλογή | Προβολή δεδομένων ΗΒ μόνο σε οποιονδήποτε πίνακα εργαλείων | Επίπεδο σειράς |
All countries |
Προεπιλογή | Προβολή δεδομένων όλων των χωρών σε οποιονδήποτε πίνακα ελέγχου | Επίπεδο σειράς |
non-PII |
Προεπιλογή | Δεν είναι δυνατή η προβολή των αριθμών κοινωνικής ασφάλισης, του ετήσιου εισοδήματος και όλων των άλλων στηλών δεδομένων PII | Επίπεδο στήλης |
PII |
Προεπιλογή | Μπορεί να δει όλες τις στήλες συμπεριλαμβανομένων των δεδομένων PII | Επίπεδο στήλης |
Μπορούμε να δημιουργήσουμε παρόμοιες ομάδες σε μη προεπιλεγμένους χώρους ονομάτων.
Αυτές οι διαφορετικές ομάδες μπορεί να αλληλοεπικαλύπτονται. Για παράδειγμα, εάν ένας χρήστης ανήκει στις ομάδες USA
, Critical
, να PII
, μπορούν να δουν δεδομένα ΗΠΑ και στους δύο πίνακες εργαλείων, με όλες τις στήλες. Το παρακάτω διάγραμμα Venn απεικονίζει τις σχέσεις μεταξύ αυτών των ομάδων.
Συνοπτικά, μπορούμε να ορίσουμε μια πολύπλευρη αρχιτεκτονική ασφαλείας συνδυάζοντας χαρακτηριστικά QuickSight, συμπεριλαμβανομένων του χώρου ονομάτων, της ομάδας, του χρήστη, του RLS και του CLS. Όλες οι σχετικές διαμορφώσεις αποθηκεύονται στο Parameter Store. Η λίστα χρηστών QuickSight και οι πληροφορίες αντιστοίχισης ομάδας χρηστών βρίσκονται σε ένα Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) κάδος ως αρχείο CSV (με όνομα membership.csv
). Αυτό το αρχείο CSV θα μπορούσε να είναι αποτελέσματα εξόδου ερωτημάτων LDAP. Αρκετά AWS Lambda οι συναρτήσεις έχουν προγραμματιστεί να εκτελούνται ωριαία (μπορείτε επίσης να επικαλέσετε αυτές τις λειτουργίες κατόπιν αιτήματος, όπως ημερήσια, εβδομαδιαία ή οποιαδήποτε χρονική ευαισθησία που ταιριάζει στις απαιτήσεις σας) για να διαβάσετε τις παραμέτρους και membership.csv
. Σύμφωνα με την καθορισμένη διαμόρφωση, οι συναρτήσεις Lambda δημιουργούν, ενημερώνουν ή διαγράφουν ομάδες, χρήστες και δικαιώματα πρόσβασης στοιχείων.
Όταν ολοκληρωθούν οι απαραίτητες διαμορφώσεις ασφαλείας, μια συνάρτηση Lambda καλεί τα QuickSight API για να λάβει τις ενημερωμένες πληροφορίες και να καταγράψει τα αποτελέσματα σε έναν κάδο S3 ως αρχεία CSV. Η ομάδα διαχειριστή BI μπορεί να δημιουργήσει σύνολα δεδομένων με αυτά τα αρχεία και να οπτικοποιήσει τα αποτελέσματα με πίνακες εργαλείων. Για περισσότερες πληροφορίες, βλ Χρήση πινάκων εργαλείων διαχείρισης για μια κεντρική προβολή αντικειμένων Amazon QuickSight και Δημιουργία μιας κονσόλας διαχείρισης στο Amazon QuickSight για την ανάλυση μετρήσεων χρήσης.
Επιπλέον, τα σφάλματα των συναρτήσεων Lambda και τα συμβάντα διαγραφής χρήστη αποθηκεύονται σε αυτόν τον κάδο S3 για έλεγχο από την ομάδα διαχείρισης.
Αυτοματοποίηση
Το παρακάτω διάγραμμα απεικονίζει τη συνολική ροή εργασίας των συναρτήσεων Λάμδα.
Χρησιμοποιούμε μια προγραμματιζόμενη μέθοδο για τη δημιουργία και τη διαμόρφωση των ομάδων και των χρηστών αυτόματα. Για οποιοδήποτε ad hoc αίτημα εγγραφής χρήστη (όπως ο χρήστης δεν έχει εγγραφεί σε membership.csv
αλλά λόγω λανθάνουσας κατάστασης), εφόσον ο χρήστης μπορεί να πιστοποιηθεί, μπορεί να υποθέσει ότι Διαχείριση ταυτότητας και πρόσβασης AWS (IAM) ρόλος quicksight-fed-user
να αυτο-παρέχεται ως αναγνώστης QuickSight. Αυτός ο αυτοπαρεχόμενος αναγνώστης μπορεί να δει μόνο έναν πίνακα ελέγχου σελίδας προορισμού, ο οποίος παρέχει τη λίστα των πινάκων εργαλείων και των αντίστοιχων ομάδων. Σύμφωνα με τη χαρτογράφηση ομάδας ταμπλό, αυτός ο νέος αναγνώστης μπορεί να υποβάλει αίτηση για συμμετοχή σε μια δεδομένη ομάδα για πρόσβαση στους πίνακες εργαλείων. Εάν ο κάτοχος της ομάδας εγκρίνει την εφαρμογή, οι ωριαίες συναρτήσεις Lambda προσθέτουν τον νέο χρήστη στην ομάδα την επόμενη φορά που θα εκτελεστούν.
Ο αγωγός CI/CD ξεκινά από το AWS CDK. Ο διαχειριστής και ο συγγραφέας του BI μπορούν να ενημερώσουν τις παραμέτρους του Systems Manager για να κυκλοφορήσουν νέους πίνακες εργαλείων ή άλλα στοιχεία QuickSight στη στοίβα AWS CDK granular_access_stack.py
. Ο διαχειριστής BI μπορεί να ενημερώσει τις παραμέτρους του Systems Manager στην ίδια στοίβα για να δημιουργήσει, να ενημερώσει ή να διαγράψει χώρους ονομάτων, ομάδες ή χρήστες. Στη συνέχεια, η ομάδα DevOps μπορεί να αναπτύξει την ενημερωμένη στοίβα CDK AWS για να εφαρμόσει αυτές τις αλλαγές στις παραμέτρους του Systems Manager ή σε άλλους πόρους AWS. Οι συναρτήσεις Lambda ενεργοποιούνται κάθε ώρα για να καλέσουν τα API για να εφαρμόσουν αλλαγές στον σχετικό λογαριασμό QuickSight.
Κλίμακα
Οι λειτουργίες Lambda περιορίζονται από τον μέγιστο χρόνο εκτέλεσης των 15 λεπτών. Για να ξεπεράσουμε αυτόν τον περιορισμό, μπορούμε να μετατρέψουμε τις συναρτήσεις Lambda σε Κόλλα AWS Σενάρια κελύφους Python με τα ακόλουθα βήματα υψηλού επιπέδου:
- Λήψη Boto3 αρχεία τροχού από pypi.org.
- Ανεβάστε το αρχείο τροχού σε έναν κάδο S3.
- Κατεβάστε το Λάμδα λειτουργεί και συγχωνεύστε τα σε ένα σενάριο Python και δημιουργήστε ένα σενάριο κελύφους Python AWS Glue.
- Προσθέστε τη διαδρομή S3 του αρχείου τροχού Boto3 στη διαδρομή βιβλιοθήκης Python. Εάν έχετε πολλά αρχεία για προσθήκη, διαχωρίστε τα με κόμμα.
- Προγραμματίστε αυτήν την εργασία κόλλας AWS να εκτελείται καθημερινά.
Για περισσότερες πληροφορίες, δείτε Προγραμματίστε σενάρια AWS Glue ETL σε Python και Χρήση βιβλιοθηκών Python με κόλλα AWS.
Προϋποθέσεις
Πρέπει να έχετε τις ακόλουθες προϋποθέσεις για να εφαρμόσετε αυτήν τη λύση:
- Ένας λογαριασμός QuickSight Enterprise
- Βασικές γνώσεις Python
- Βασικές γνώσεις SQL
- Βασικές γνώσεις BI
Δημιουργήστε τους πόρους
Δημιουργήστε τους πόρους σας κατεβάζοντας τη στοίβα CDK AWS από το GitHub repo.
Στο granular_access
φάκελο, εκτελέστε την εντολή cdk deploy granular-access
για την ανάπτυξη των πόρων. Για περισσότερες πληροφορίες, βλ Εργαστήριο εισαγωγής AWS CDK: Εργαστήριο Python.
Αναπτύξτε τη λύση
Όταν αναπτύσσετε τη στοίβα AWS CDK, δημιουργεί πέντε λειτουργίες Lambda, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.
Η στοίβα δημιουργεί επίσης επιπλέον υποστηρικτικούς πόρους στον λογαριασμό σας.
Η granular_user_governance
η λειτουργία ενεργοποιείται από το amazoncloudwatch κανόνας εκδήλωσης qs-gc-everyhour
. Οι πληροφορίες των ομάδων και των χρηστών ορίζονται στο αρχείο membership.csv
. Το όνομα του κάδου S3 αποθηκεύεται στο χώρο αποθήκευσης παραμέτρων /qs/config/groups
. Το παρακάτω διάγραμμα δείχνει το διάγραμμα ροής αυτής της συνάρτησης.
- Ορίστε τον προορισμό του
granular_user_governance
σε άλλη συνάρτηση Λάμδα,downgrade_user
, μεsource=Asynchronous invocation
καιcondition=On Success
.
Το παρακάτω διάγραμμα είναι ένα διάγραμμα ροής αυτής της συνάρτησης.
Για να αποφευχθεί η παραβίαση της κρίσιμης πρόσβασης σε στοιχεία QuickSight που διέπονται από Διαχειριστή ή Συντάκτη, υποβιβάζουμε έναν διαχειριστή ή συγγραφέα διαγράφοντας τον διαχειριστή ή χρήστη συντάκτη και δημιουργώντας έναν νέο χρήστη αναγνώστη με τη λειτουργία Lambda downgrade_user
. ο granular_user_governance
Η λειτουργία χειρίζεται την υποβάθμιση του διαχειριστή σε συγγραφέα ή την αναβάθμιση του συγγραφέα σε διαχειριστή.
- Ορίστε τον προορισμό του
downgrade_user
στη συνάρτηση Λάμδαgranular_access_assets_govenance
μεsource=Asynchronous invocation
καιcondition=On Success
.
Το παρακάτω διάγραμμα δείχνει ένα διάγραμμα ροής αυτής της συνάρτησης.
- Ορίστε τον προορισμό του
downgrade_user
στη συνάρτηση Λάμδαcheck_team_members
μεsource=Asynchronous invocation
καιcondition=On Failure
.
Η check_team_members
Η λειτουργία απλώς καλεί τα QuickSight API για να λάβει πληροφορίες για τους χώρους ονομάτων, τις ομάδες, τους χρήστες και τα στοιχεία και αποθηκεύει τα αποτελέσματα στον κάδο S3. Το κλειδί S3 είναι monitoring/quicksight/group_membership/group_membership.csv
και monitoring/quicksight/object_access/object_access.csv
.
Εκτός από τα δύο αρχεία εξόδου του προηγούμενου βήματος, τα αρχεία καταγραφής σφαλμάτων και τα αρχεία καταγραφής διαγραφής χρήστη (αρχεία καταγραφής downgrade_user
) αποθηκεύονται επίσης στο monitoring/quicksight
φάκελο.
- Ορίστε τον προορισμό του
granular_access_assets_govenance
στη συνάρτηση Λάμδαcheck_team_members
μεsource=Asynchronous invocation
καιcondition=On Success
orcondition=On Failure
.
Δημιουργήστε σύνολα δεδομένων ασφαλείας σε επίπεδο γραμμής
Ως τελευταίο βήμα, δημιουργούμε σύνολα δεδομένων RLS. Αυτό σας επιτρέπει να αλλάξετε τις εγγραφές του πίνακα εργαλείων με βάση τους χρήστες που βλέπουν τους πίνακες εργαλείων.
Το QuickSight υποστηρίζει το RLS εφαρμόζοντας ένα σύνολο δεδομένων που διαχειρίζεται το σύστημα που υποεπιλέγει εγγραφές από το σύνολο δεδομένων του πίνακα εργαλείων. Ο μηχανισμός επιτρέπει στον διαχειριστή να παρέχει ένα σύνολο δεδομένων φιλτραρίσματος (το σύνολο δεδομένων RLS). username
or groupname
στήλες, οι οποίες φιλτράρονται αυτόματα στον χρήστη που είναι συνδεδεμένος. Για παράδειγμα, ένας χρήστης με όνομα YingWang
ανήκει στην ομάδα QuickSight BI
, άρα όλες οι σειρές του συνόλου δεδομένων RLS που αντιστοιχούν στο όνομα χρήστη YingWang
ή όνομα ομάδας BI
φιλτράρονται. Οι σειρές που παραμένουν στο RLS μετά την εφαρμογή του ονόματος χρήστη και των φίλτρων ονόματος ομάδας χρησιμοποιούνται στη συνέχεια για να φιλτράρουν περαιτέρω τα σύνολα δεδομένων του πίνακα εργαλείων αντιστοιχίζοντας στήλες με τα ίδια ονόματα. Για περισσότερες πληροφορίες σχετικά με την ασφάλεια σε επίπεδο σειράς, βλ Χρήση της ασφάλειας σε επίπεδο γραμμής (RLS) για τον περιορισμό της πρόσβασης σε ένα σύνολο δεδομένων.
Σε αυτήν τη λύση, εξάγουμε τα δείγματα πληροφοριών χρήστη στο αρχείο membership.csv
, το οποίο αποθηκεύεται σε κάδο S3. Σε αυτό το αρχείο, παρέχουμε ορισμένες ομάδες δειγμάτων για τον ορισμό του συνόλου δεδομένων RLS. Αυτές οι ομάδες είναι οι ομάδες τμημάτων δεδομένων, όπως περιγράφεται στη συνολική αρχιτεκτονική σχεδίαση. Το ακόλουθο στιγμιότυπο οθόνης δείχνει ορισμένες από τις ομάδες και τους χρήστες σε αυτές τις ομάδες.
Η granular_user_governance
Η λειτουργία δημιουργεί αυτές τις ομάδες και προσθέτει τους σχετικούς χρήστες ως μέλη αυτών των ομάδων.
Πώς δημιουργούμε το σύνολο δεδομένων RLS; Ας υποθέσουμε ότι έχουμε ένα τραπέζι που ονομάζεται employee_information
στη βάση δεδομένων ανθρώπινου δυναμικού του οργανισμού μας. Το ακόλουθο στιγμιότυπο οθόνης δείχνει ορισμένα δείγματα δεδομένων.
Βασισμένο στο employee_information
πίνακα, δημιουργούμε μια προβολή που ονομάζεται rls
για ένα σύνολο δεδομένων RLS. Δείτε τον ακόλουθο κώδικα SQL:
Το παρακάτω στιγμιότυπο οθόνης δείχνει τα δείγματα δεδομένων μας.
Τώρα έχουμε έτοιμο τον πίνακα, μπορούμε να δημιουργήσουμε το σύνολο δεδομένων RLS με την ακόλουθη προσαρμοσμένη SQL:
Το παρακάτω στιγμιότυπο οθόνης δείχνει τα δείγματα δεδομένων μας.
Για την ομάδα quicksight-fed-all-countries
, ορίσαμε το username
, country
, να city
ως null, πράγμα που σημαίνει ότι όλοι οι χρήστες αυτής της ομάδας μπορούν να δουν τα δεδομένα όλων των χωρών.
Για επίπεδο χώρας, μόνο οι κανόνες ασφαλείας που ορίζονται στο groupname
και χώρα columns
χρησιμοποιούνται για φιλτράρισμα. ο username
και city
Οι στήλες ορίζονται ως μηδενικές. Οι χρήστες στο quicksight-fed-usa
ομάδα μπορεί να δει τα δεδομένα των ΗΠΑ και των χρηστών στο quicksight-fed-gbr
ομάδα μπορεί να δει τα δεδομένα του GBR.
Για κάθε χρήστη με groupname
οριστεί ως null, μπορούν να δουν μόνο τη συγκεκριμένη χώρα και πόλη που έχει εκχωρηθεί στο όνομα χρήστη τους. Για παράδειγμα, TerryRigaud
μπορεί να δει μόνο δεδομένα του Ώστιν, στις ΗΠΑ.
Στο QuickSight, πολλαπλοί κανόνες σε ένα σύνολο δεδομένων RLS συνδυάζονται μαζί με το OR.
Με αυτούς τους πολύπλευρους κανόνες RLS, μπορούμε να ορίσουμε ένα ολοκληρωμένο μοτίβο πρόσβασης δεδομένων.
εκκαθάριση
Για να αποφύγετε μελλοντικές χρεώσεις, διαγράψτε τους πόρους που δημιουργήσατε εκτελώντας την ακόλουθη εντολή:
Συμπέρασμα
Αυτή η ανάρτηση εξέτασε τον τρόπο με τον οποίο οι διαχειριστές BI μπορούν να σχεδιάσουν και να αυτοματοποιήσουν τον έλεγχο ταυτότητας και την εξουσιοδότηση λεπτομερούς πρόσβασης του QuickSight. Συνδυάσαμε λειτουργίες ασφαλείας QuickSight, όπως ασφάλεια σε επίπεδο γραμμής και στήλης, ομάδες και χώρους ονομάτων για να παρέχουμε μια ολοκληρωμένη λύση. Η διαχείριση αυτών των αλλαγών μέσω του "BIOps" διασφαλίζει έναν ισχυρό, επεκτάσιμο μηχανισμό για τη διαχείριση της ασφάλειας QuickSight. Να μάθω περισσότερα, εγγραφείτε για μια επίδειξη QuickSight.
Σχετικά με τους Συγγραφείς
Γινγκ Γουάνγκ είναι Ανώτερος Μηχανικός Οπτικοποίησης Δεδομένων με το Data & Analytics Global Specialty Practice στις AWS Professional Services.
Amir Bar Or είναι Κύριος Αρχιτέκτονας Δεδομένων στην AWS Professional Services. Μετά από 20 χρόνια κορυφαίων οργανισμών λογισμικού και ανάπτυξης πλατφορμών και προϊόντων ανάλυσης δεδομένων, μοιράζεται τώρα την εμπειρία του με πελάτες μεγάλων επιχειρήσεων και τους βοηθά να κλιμακώσουν την ανάλυση δεδομένων τους στο cloud.
- "
- &
- 100
- πρόσβαση
- Διαχείριση Πρόσβασης
- Λογαριασμός
- δραστηριοτήτων
- Ad
- Πρόσθετος
- διαχειριστής
- Όλα
- Amazon
- ανάλυση
- analytics
- APIs
- Εφαρμογή
- εφαρμογές
- αρχιτεκτονική
- προσόν
- Ενεργητικό
- austin
- Πιστοποίηση
- εξουσιοδότηση
- Αυτοματοποίηση
- AWS
- AWS Lambda
- ΚΑΛΎΤΕΡΟΣ
- βέλτιστες πρακτικές
- σύνορο
- χτίζω
- Κτίριο
- επιχείρηση
- επιχειρηματικής ευφυΐας
- κλήση
- περιπτώσεις
- αλλαγή
- φορτία
- Πόλη
- ταξινόμηση
- Backup
- κωδικός
- Κοινός
- εταίρα
- περιεχόμενο
- χώρες
- δημιουργία
- Πελάτες
- ταμπλό
- ημερομηνία
- πρόσβαση δεδομένων
- Δεδομένα Analytics
- διαχείριση δεδομένων
- οπτικοποίηση δεδομένων
- βάση δεδομένων
- βάσεις δεδομένων
- Ζήτηση
- Υπηρεσίες
- καταστρέψει
- λεπτομέρεια
- προγραμματιστές
- Ανάπτυξη
- DevOps
- domains
- μηχανικός
- Εταιρεία
- επιχειρηματικούς πελάτες
- Συμβάν
- εκδηλώσεις
- εκτελεστικός
- εξαγωγή
- Χαρακτηριστικά
- Φίλτρα
- Όνομα
- πρώτη φορά
- ταιριάζουν
- Πλαίσιο
- λειτουργία
- μελλοντικός
- Παγκόσμιο
- επιχορηγήσεις
- Group
- Πως
- hr
- HTTPS
- Εκατοντάδες
- IAM
- Ταυτότητα
- Συμπεριλαμβανομένου
- Εισόδημα
- Αυξάνουν
- πληροφορίες
- Υποδομή
- ολοκλήρωση
- Νοημοσύνη
- IT
- Δουλειά
- ενταχθούν
- Κλειδί
- γνώση
- σελίδα προορισμού
- large
- ldap
- που οδηγεί
- ΜΑΘΑΊΝΩ
- Επίπεδο
- Βιβλιοθήκη
- Περιωρισμένος
- γραμμή
- Λίστα
- τοποθεσία
- Μακριά
- διαχείριση
- Μέλη
- ονόματα
- αριθμοί
- τάξη
- ΑΛΛΑ
- Άλλα
- ιδιοκτήτης
- Κωδικοί πρόσβασης
- πρότυπο
- pii
- Πλατφόρμες
- πολιτική
- Κύριος
- Προϊόν
- Προϊόντα
- σχέδιο
- έργα
- δημόσιο
- Python
- Αναγνώστης
- αναγνώστες
- αρχεία
- μείωση
- Εγγραφή
- Σχέσεις
- Εκθέσεις
- απαιτήσεις
- Υποστηρικτικό υλικό
- Αποτελέσματα
- ανασκόπηση
- Κίνδυνος
- κανόνες
- τρέξιμο
- τρέξιμο
- εμπορικός
- Κλίμακα
- ασφάλεια
- Αυτοεξυπηρέτηση
- Υπηρεσίες
- σειρά
- Κοινοποίηση
- Μερίδια
- κέλυφος
- Απλούς
- So
- Μ.Κ.Δ
- λογισμικό
- SQL
- χώρος στο δίσκο
- κατάστημα
- υποστήριξη
- Υποστηρίζει
- συστήματα
- ώρα
- Uk
- ένωση
- Ενημέρωση
- ενημερώσεις
- us
- ΗΠΑ
- Χρήστες
- Δες
- οραματισμός
- εβδομαδιαίος
- Τροχός
- Ο ΟΠΟΊΟΣ
- εντός
- ροής εργασίας
- χρόνια