Προγραμματισμός

Πώς βοηθούν οι Apache Ranger και Chuck Norris να διασφαλίσουν το Hadoop

Το έργο ασφαλείας Hadoop με την ονομασία Ranger υποτίθεται ότι τιμήθηκε ως αφιέρωμα στον Chuck Norris στο ρόλο του "Walker, Texas Ranger". Το έργο έχει τις ρίζες του στο XA Secure, το οποίο αποκτήθηκε από την Hortonworks, στη συνέχεια μετονομάστηκε σε Argus πριν εγκατασταθεί στο Apache Software Foundation ως Ranger.

Όταν ξεκίνησε το Hadoop, ήταν ένα σύνολο χαλαρών συζευγμένων ανταλλακτικών που χρησιμοποιούνταν κυρίως στο πίσω μέρος των μεγάλων εταιρειών Διαδικτύου όπως το Yahoo. Αυτά τα μέρη τυλίχθηκαν σε διανομές και διατέθηκαν στην αγορά ως Hadoop από τους MapR, Cloudera και Hortonworks.

Αυτή η αποσπασματική αρχιτεκτονική δεν είναι ασυνήθιστη στον κόσμο του ανοιχτού κώδικα ή ακόμα και στον ευρύ κόσμο του εμπορικού λογισμικού. Ωστόσο, οδηγεί σε προκλήσεις ασφαλείας. Κάποιοι θα το διαβάσουν ως "ανασφαλές", αλλά αυτό δεν ισχύει απαραίτητα - αν και μπορεί να είναι. Το πρόβλημα είναι περισσότερο πώς κάνετε έλεγχο ταυτότητας των χρηστών σε όλα τα μέρη αυτού του συστήματος ανταλλακτικών - και μόλις τους ελέγξετε, πώς τους εξουσιοδοτείτε να κάνουν μόνο αυτό που εννοείτε για να τους επιτρέψετε να κάνουν;

Κάθε μέρος του Hadoop έχει τον δικό του έλεγχο ταυτότητας LDAP και Kerberos, καθώς και τα δικά του μέσα και κανόνες εξουσιοδότησης (και στις περισσότερες περιπτώσεις εντελώς ξεχωριστές υλοποιήσεις του ίδιου). Αυτό σημαίνει ότι μπορείτε να διαμορφώσετε το Kerberos ή το LDAP σε κάθε μεμονωμένο τμήμα και, στη συνέχεια, να ορίσετε αυτούς τους κανόνες σε κάθε ξεχωριστή διαμόρφωση. Αυτό που κάνει το Apache Ranger είναι να παρέχει μια προσθήκη σε καθένα από αυτά τα μέρη του Hadoop και ένα κοινό αποθετήριο ελέγχου ταυτότητας, καθώς και να σας επιτρέπει να ορίσετε πολιτικές σε μια κεντρική τοποθεσία.

Το Ranger είναι σαφώς ένα έργο που χρηματοδοτείται από την Hortonworks (σε αντίθεση με ένα Cloudera ή MapR ή τώρα Databricks). Μπορείτε να το πείτε εν μέρει με τον τρόπο με τον οποίο έχει ξεφλουδίσει (πράσινο) και εν μέρει λόγω του τι υποστηρίζει. Προς το παρόν, το Ranger υποστηρίζει τα εξής:

  • HDFS
  • Κυψέλη
  • Καταιγίδα
  • HBase
  • Νόξ
  • ΝΗΜΑ
  • Κάφκα
  • Solr

Εκτός από τα HDFS και HBase, τα οποία υποστηρίζονται ως μέρος του πυρήνα των Hadoop και Solr, αυτά είναι μερικά από τα περισσότερα έργα "Hortonworksy". Σε μια σύγχρονη ανάπτυξη, πιθανότατα θα δείτε άλλα στοιχεία, όπως το Spark ή το Impala (από την Cloudera). Ωστόσο, το Ranger είναι υπέροχο πράγμα.

Πώς λειτουργεί το Ranger

Στο Ranger, για κάθε στοιχείο εργάζεστε με ένα αποθετήριο. Αυτά τα αποθετήρια βασίζονται σε μια υποκείμενη προσθήκη ή πράκτορα που λειτουργεί με αυτό το στοιχείο.

Συσχετίζεται με καθένα από αυτά τα αποθετήρια είναι ένα σύνολο πολιτικών, οι οποίες σχετίζονται με τον πόρο που προστατεύετε (πίνακας, φάκελος ή στήλη) και μια ομάδα (όπως διαχειριστές) και τι επιτρέπεται να κάνουν με αυτό το πράγμα (διαβάστε , γράψτε και ούτω καθεξής). Δίνετε σε κάθε πολιτική ένα όνομα - πείτε, "Μόνο το grp_nixon μπορεί να διαβάσει τον πίνακα apac_china."

Ένα GUI με κεντρική άποψη για το ποιος επιτρέπεται να κάνει αυτό που φέρνει την απαραίτητη απλότητα στο οικοσύστημα Hadoop, αλλά δεν είναι μόνο αυτό που προσφέρει ο Ranger. Παρέχει επίσης καταγραφή ελέγχου. Αν και αυτό δεν μπορεί να αντικαταστήσει όλη την καταγραφή ελέγχου εφαρμογών που θα μπορούσατε ποτέ να θέλετε, αν απλά πρέπει να γνωρίζετε ποιος έχει πρόσβαση σε αυτό στο HDFS ή σε ποιες πολιτικές εφαρμόστηκαν όπου, είναι πιθανώς ακριβώς αυτό που χρειάζεστε.

Επιπλέον, η Ranger μπορεί να παρέχει βασικές υπηρεσίες διαχείρισης προκειμένου να συνεργαστεί με το νέο TDE του HDFS (διαφανή κρυπτογράφηση δεδομένων). Επομένως, εάν χρειάζεστε κρυπτογράφηση από άκρο σε άκρο και έναν καθαρό τρόπο διαχείρισης των κλειδιών που σχετίζονται με αυτό, το Ranger δεν είναι κακό σημείο εκκίνησης.

Ο Ranger κοιτάζει μπροστά

Νομίζω ότι η μεγαλύτερη ελπίδα για τον Ranger προέρχεται από την επέκτασή του. Μπορείτε να δημιουργήσετε τις δικές σας προσθήκες για περιοχές που δεν καλύπτονται.

Αν ελπίζατε ότι αυτό ήταν το τέλος της ιστορίας για την ασφάλεια του Hadoop, δυστυχώς, η Cloudera έχει το δικό της έργο Apache που ονομάζεται Sentry (το οποίο φαίνεται να υποστηρίζει και το MapR) που καλύπτει σχεδόν τον ίδιο τομέα. Για να είμαστε δίκαιοι, ο Sentry ήταν ο πρώτος και μετά η Hortonworks απέκτησε το XA Secure. Τούτου λεχθέντος, η τεκμηρίωση για το Sentry είναι ουσιαστικά ανύπαρκτη, η κάλυψη είναι πιο περιορισμένη και ο ιστότοπος του έργου βρίσκεται σε αναστάτωση (αν και πρόσφατα πήρε δραστηριότητα στο GitHub).

Η ασφάλεια Hadoop έχει διανύσει πολύ δρόμο. Το Ranger δίνει έναν αρκετά ολοκληρωμένο, αν και λίγο ατελές τρόπο, τη διαχείριση του οικοσυστήματος. Οι τρύπες που παραμένουν οφείλονται κυρίως στον ανταγωνισμό των πωλητών σε ολόκληρο τον κόσμο των μεγάλων δεδομένων. Αυτά μπορούν να καλυφθούν μέσω της επεκτασιμότητας του έργου, αλλά θα ήταν ωραίο να δούμε περισσότερη συνεργασία και κοινότητα στον κόσμο του Apache.