Τι είναι το LDAP;
(1) Πριν παρουσιάσουμε τι είναι το LDAP, ας εξετάσουμε ένα πράγμα: "Τι είναι μια υπηρεσία καταλόγου;" ”
1. Η υπηρεσία καταλόγου είναι μια ειδική βάση δεδομένων που περιέχει περιγραφικές λεπτομέρειες που βασίζονται σε χαρακτηριστικά με δυνατότητες φιλτραρίσματος.
2. Είναι δυναμικό, ευέλικτο και εύκολα επεκτάσιμο.
Για παράδειγμα: οργάνωση και διαχείριση προσωπικού, τηλεφωνικός κατάλογος, βιβλίο διευθύνσεων.
(2) Αφού κατανοήσουμε την υπηρεσία καταλόγου, ας ρίξουμε μια ματιά στην εισαγωγή του LDAP:
LDAP (Light Directory Access Portocol), το οποίο είναι ένα ελαφρύ πρωτόκολλο πρόσβασης καταλόγου που βασίζεται στο πρότυπο X.500.
Ένας κατάλογος είναι μια βάση δεδομένων βελτιστοποιημένη για αναζήτηση, περιήγηση και αναζήτηση, οργανώνοντας δεδομένα σε μια δομή που μοιάζει με δέντρο, παρόμοια με έναν κατάλογο αρχείων.
Οι βάσεις δεδομένων καταλόγου διαφέρουν από τις σχεσιακές βάσεις δεδομένων στο ότι έχουν εξαιρετική απόδοση ανάγνωσης αλλά κακή απόδοση εγγραφής και δεν έχουν πολύπλοκες λειτουργίες όπως επεξεργασία συναλλαγών και επαναφορά, γεγονός που τις καθιστά ακατάλληλες για την αποθήκευση δεδομένων που τροποποιούνται συχνά. Έτσι, ο πίνακας περιεχομένων χρησιμοποιείται εγγενώς για ερωτήματα, όπως και το όνομά του.
Η υπηρεσία καταλόγου LDAP είναι ένα σύστημα που αποτελείται από μια βάση δεδομένων καταλόγου και ένα σύνολο πρωτοκόλλων πρόσβασης.
(3) Γιατί πρέπει να χρησιμοποιηθεί
Το LDAP είναι ένα ανοιχτό πρότυπο Διαδικτύου, που υποστηρίζει πρωτόκολλα Διαδικτύου πολλαπλών πλατφορμών, ευρέως αναγνωρισμένο στον κλάδο και τα περισσότερα προϊόντα στην αγορά ή στην κοινότητα ανοιχτού κώδικα έχουν προσθέσει υποστήριξη για LDAP, επομένως για αυτόν τον τύπο συστήματος, δεν χρειάζεται να προσαρμόσετε ξεχωριστά, χρειάζεται μόνο να κάνετε απλή διαμόρφωση μέσω LDAP για έλεγχο ταυτότητας και αλληλεπίδραση με τον διακομιστή. Το "απλό και ακατέργαστο" μπορεί να μειώσει σημαντικά το κόστος της επαναλαμβανόμενης ανάπτυξης και σύνδεσης.
Τα κύρια προϊόντα της LDAP:
| | | | Διακομιστής καταλόγου SUNONE | Αποθήκευση κειμένου βάσει βάσης δεδομένων, γρήγορη ταχύτητα. | | | Οι βάσεις δεδομένων που βασίζονται σε DB2 έχουν μέση ταχύτητα. | | | Η αποθήκευση κειμένου που βασίζεται σε βάση δεδομένων είναι γρήγορη και δεν χρησιμοποιείται συχνά. | | Microsoft Active Directory | Με βάση τους χρήστες του συστήματος WINDOWS, η ταχύτητα επεξεργασίας μεγάλου όγκου δεδομένων είναι μέση, αλλά είναι εύκολη στη συντήρηση, έχει μεγάλο οικοσύστημα και είναι σχετικά απλή στη διαχείριση. | | | Το OpenLDAP είναι ένα έργο ανοιχτού κώδικα που είναι γρήγορο αλλά όχι μια κύρια εφαρμογή. |
Βασικό μοντέλο LDAP
Κάθε σύστημα και πρωτόκολλο θα έχει το δικό του μοντέλο και το LDAP δεν αποτελεί εξαίρεση, πριν κατανοήσουμε το βασικό μοντέλο του LDAP, πρέπει να κατανοήσουμε αρκετές έννοιες του δέντρου καταλόγου LDAP:
(1) Έννοια δέντρου καταλόγου
1. Δέντρο καταλόγου: Σε ένα σύστημα υπηρεσιών καταλόγου, ολόκληρο το σύνολο πληροφοριών καταλόγου μπορεί να αναπαρασταθεί ως δέντρο πληροφοριών καταλόγου και κάθε κόμβος στο δέντρο είναι μια καταχώρηση.
2. Καταχώρηση: Κάθε καταχώρηση είναι μια εγγραφή και κάθε καταχώρηση έχει το δικό της μοναδικό διακριτό όνομα (DN).
3. Κλάση αντικειμένου: Ένα σύνολο χαρακτηριστικών που αντιστοιχούν σε έναν τύπο οντότητας, η κλάση αντικειμένου μπορεί να κληρονομηθεί, έτσι ώστε να κληρονομηθούν και τα απαραίτητα χαρακτηριστικά της γονικής κλάσης.
4. Χαρακτηριστικά: Περιγράψτε τις πληροφορίες μιας πτυχής της καταχώρισης, ένα χαρακτηριστικό αποτελείται από έναν τύπο χαρακτηριστικού και μία ή περισσότερες τιμές χαρακτηριστικών και τα χαρακτηριστικά έχουν υποχρεωτικά και μη υποχρεωτικά χαρακτηριστικά.
(2) DC, UID, OU, CN, SN, DN, RDN
| | | | | Το τμήμα του ονόματος τομέα χωρίζεται σε πολλά μέρη με τη μορφή ενός πλήρους ονόματος τομέα, όπως example.com όνομα τομέα γίνεται dc=example, dc=com (η τοποθεσία μιας εγγραφής) | | | Αναγνωριστικό χρήστη songtao.xu (Αναγνωριστικό εγγραφής) | | | Μονάδες οργανισμού, μονάδες οργανισμού μπορεί να περιέχουν διάφορα άλλα αντικείμενα (συμπεριλαμβανομένων άλλων μονάδων οργανισμού), όπως "ομάδα oa" (ο οργανισμός στον οποίο ανήκει μια εγγραφή) | | | Δημόσια ονόματα, όπως "Thomas Johansson" (το όνομα ενός δίσκου) | | | | | | "uid=songtao.xu,ou=oa group,dc=example,dc=com", η θέση μιας εγγραφής (μοναδική) | | | Η σχετική διάκριση, παρόμοια με τις σχετικές διαδρομές σε ένα σύστημα αρχείων, είναι μέρος της δομής του δέντρου καταλόγου που δεν έχει καμία σχέση με αυτό, όπως "uid=tom" ή "cn= Thomas Johansson" |
Εισαγωγή στο OpenLDAP
Το LDAP είναι ένα ελαφρύ πρωτόκολλο πρόσβασης καταλόγου (LDAP), το οποίο είναι μια υλοποίηση μιας κεντρικής αρχιτεκτονικής διαχείρισης λογαριασμού ανοιχτού κώδικα και υποστηρίζει πολλές εκδόσεις συστήματος και υιοθετείται από την πλειοψηφία των εταιρειών του Διαδικτύου.
Το LDAP παρέχει και υλοποιεί την υπηρεσία πληροφοριών της υπηρεσίας καταλόγου, η οποία είναι ένα ειδικό σύστημα βάσης δεδομένων που έχει καλή επίδραση στην ανάγνωση, την περιήγηση και την αναζήτηση δεδομένων. Οι υπηρεσίες καταλόγου χρησιμοποιούνται γενικά για να περιέχουν περιγραφικές πληροφορίες που βασίζονται σε χαρακτηριστικά και υποστηρίζουν εξελιγμένες λειτουργίες φιλτραρίσματος, αλλά οι υπηρεσίες καταλόγου OpenLDAP δεν υποστηρίζουν πολύπλοκες πολιτικές διαχείρισης συναλλαγών ή επαναφοράς που απαιτούνται για μεγάλο αριθμό λειτουργιών ενημέρωσης βάσεων δεδομένων γενικής χρήσης.
Το LDAP έχει δύο πρότυπα, δηλαδή το X.500 και το LDAP. Το OpenLDAP βασίζεται στο πρότυπο X.500 και καταργεί τις πολύπλοκες λειτουργίες του X.500 και μπορεί να προσαρμοστεί με πρόσθετες επεκτάσεις σύμφωνα με τις δικές του ανάγκες, αλλά υπάρχουν και διαφορές από το X.500, όπως το OpenLDAP υποστηρίζει πρωτόκολλο TCP/IP κ.λπ., το TCP/IP είναι επί του παρόντος το πρωτόκολλο για πρόσβαση στο Διαδίκτυο στο Διαδίκτυο.
Το OpenLDAP μπορεί να εκτελεστεί απευθείας στο απλούστερο και γενικότερο TCP/IP ή σε άλλα αξιόπιστα επίπεδα πρωτοκόλλου μεταφοράς, αποφεύγοντας την επιβάρυνση στα επίπεδα συνεδρίας OSI και παρουσίασης, καθιστώντας τη δημιουργία σύνδεσης και την επεξεργασία πακέτων απλούστερη και ταχύτερη, καθιστώντας το ιδανικό για εφαρμογές Διαδικτύου και εταιρικού δικτύου.
Οι πληροφορίες στον κατάλογο OpenLDAP αποθηκεύονται σε μια ιεραρχία που μοιάζει με δέντρο (όπως το DNS) και το επάνω επίπεδο ονομάζεται "base DN", όπως "dc=mydomain, dc=org" ή "o=mydomain.org", το πρώτο είναι πιο ευέλικτο και χρησιμοποιείται επίσης στα Windows AD. Υπάρχουν πολλά αρχεία και κατάλογοι κάτω από τον ριζικό κατάλογο και για να διαχωριστούν λογικά αυτές οι μεγάλες ποσότητες δεδομένων, το OpenLDAP χρησιμοποιεί OU (Organization Unit) όπως άλλα πρωτόκολλα υπηρεσιών καταλόγου, τα οποία μπορούν να χρησιμοποιηθούν για την αναπαράσταση εσωτερικών εταιρικών οργανισμών, όπως τμήματα κ.λπ., και μπορούν επίσης να χρησιμοποιηθούν για την αναπαράσταση εξοπλισμού, προσωπικού κ.λπ. Ταυτόχρονα, το OU μπορεί επίσης να έχει υπο-OU, τα οποία μπορούν να χρησιμοποιηθούν για την αναπαράσταση πιο λεπτομερών ταξινομήσεων.
Κάθε εγγραφή στο OpenLDAP έχει ένα μοναδικό όνομα που τη διακρίνει από άλλες εγγραφές, DN (Distinguished Name), και το τμήμα του "φύλλου" ονομάζεται RDN (Relative Identifier of User Entry). Για παράδειγμα, το cn στο dn:cn=tom, ou=animals, dc=ilanni, dc=com είναι RDN και το RDN πρέπει να είναι μοναδικό σε ένα OU.
Από προεπιλογή, το OpenLDAP χρησιμοποιεί το Berkeley DB ως βάση δεδομένων υποστήριξης και η βάση δεδομένων Berkeley DB αποθηκεύει κυρίως δεδομένα με τη μορφή κατακερματισμένων τύπων δεδομένων, όπως ζεύγη κλειδιών-τιμών.
Το BerkeleyDB είναι ένας ειδικός τύπος βάσης δεδομένων βελτιστοποιημένος για ερωτήματα και ανάγνωση, που χρησιμοποιείται κυρίως για αναζήτηση, περιήγηση και ενημέρωση λειτουργιών ερωτημάτων και γενικά έχει καλή επίδραση στη σύνταξη δεδομένων ταυτόχρονα, στην αναζήτηση και στην αναζήτηση πολλές φορές. Το BerkeleyDB δεν υποστηρίζει την υψηλή απόδοση συγχρονισμού και τις πολύπλοκες λειτουργίες συναλλαγών που υποστηρίζονται από βάσεις δεδομένων συναλλαγών (MySQL, MariDB, Oracle κ.λπ.).
|