LDAP hay Lightweight Directory Access Protocol là một giao thức ứng dụng truy cập các cấu trúc thư mục. Nó được thiết kế trên giao thức Internet TCP/IP.

Một cấu trúc thư mục là một tập hợp các đối tượng có các thuộc tính hay đặc điểm tương tự và được sắp xếp theo lôgic thành nhiều cấp bậc. Ví dụ thường thấy nhất là danh bạ điện thoại. Trong đó, mỗi cá nhân hay tổ chức được xấp xếp theo thứ tự tên và có các thuộc tính là địa chỉ và số điện thoại. Vì mẫu cấu trúc một thư mục LDAP tương đối đơn giản nên nó cũng thường được dùng để xác nhận người sử dụng các hệ thống thông tin.

Lịch sử

Vào giữa thập niên 1980, Ủy ban Tư vấn Điện thoại – Điện tín quốc tế (tiếng Anh: International Telegraph and Telephone Consultative Committee – CCITT), tiền thân của Liên minh Viễn thông quốc tế (tiếng Anh: International Telecommunication Union – ITU) và Tổ chức Tiêu chuẩn hóa quốc tế (tiếng Anh: International Organization for Standardization – ISO) đã hợp tác với nhau để tạo ra một chuẩn mới cho dịch vụ thư mục nhằm mục đích thống nhất nỗ lực của 2 tổ chức. Cuối năm 1988, CCITT đã công bố chuẩn dịch vụ thư mục X.500 đầu tiên. Sau đó, chuẩn này đã được cập nhật vào các năm 1993, 1997, và 2001.

Khi mới xuất hiện, X.500 đã mang lại rất nhiều tiện ích cho người dùng. Nhưng dần dà, nó bộc lộ những khiếm khuyết của mình. Một trong những khiếm khuyết đó nằm ở giao thức DAP (tiếng Anh: Directory client Access Protocol – giao thức truy cập thư mục khách) của X.500. Giao thức này tương đối phức tạp, không thích hợp và không có sẵn trên các máy tính thời đó. Bên cạnh đó, DAP cũng khá cồng kềnh và khó hiện thực. Vì những lý do đó, người ta bắt đầu nghĩ đến một cách tiếp cận mới để tránh việc phải hiện thực một giao thức phức tạp như vậy.

Vào khoảng năm 1990, 2 giao thức đơn giản hóa của DAP, gọi là DAS (Directory Assistance Service) và DIXIE (Directory Interface to X.500 Implemented Efficiently) đã được định nghĩa lần lượt trong RFC 1202 và RFC 1249.

Sau sự ứng dụng thành công của DIXIE và DAS, các thành viên của OSI-DS quyết định tăng cường nguồn lực vào việc tạo ra một giao thức truy cập thư mục đơn giản hóa với đầy đủ tính năng cho X.500. Đó chính là LDAP.

Phương thức hoạt động của LDAP

LDAP hoạt động theo mô hình client-server. Một hoặc nhiều LDAP server chứa thông tin về cây thư mục (Directory Information Tree – DIT). Client kết nối đến server và gửi yêu cầu. Server phản hồi bằng chính nó hoặc trỏ tới LDAP server khác để client lấy thông tin. Trình tự khi có kết nối với LDAP:







Connect (kết nối với LDAP): client mở kết nối tới LDAP server
Bind (kiểu kết nối: nặc danh hoặc đăng nhập xác thực): client gửi thông tin xác thực
Search (tìm kiếm): client gửi yêu cầu tìm kiếm
Interpret search (xử lý tìm kiếm): server thực hiện xử lý tìm kiếm
Result (kết quả): server trả lại kết quả cho client
Unbind: client gửi yêu cầu đóng kết nối tới server
Close connection (đóng kết nối): đóng kết nối từ server

Database backend của LDAP

Slapd là một “LDAP directory server” có thể chạy trên nhiều platform khác nhau. Bạn có thể sử dụng nó để cung cấp những dịch vụ của riêng mình. Những tính năng mà slapd cung cấp:



LDAPv3: slapd hỗ trợ LDAP cả IPv4, IPv6 và Unix IPC.
Simple Authentication and Security Layer: slapd hỗ trợ mạnh mẽ chứng thực và bảo mật dữ liệu dịch vụ bằng SASL
Transport Layer Security: slapd hỗ trợ sử dụng TLS hay SSL.

2 database mà SLAPD sử dụng để lưu trữ dữ liệu hiện tại là bdb và hdb. BDB sử dụng Oracle Berkeley DB để lưu trữ dữ liệu. Nó được đề nghị sử dụng làm database backend chính cho SLAPD thông thường. HDB là cũng tương tự như BDB nhưng nó sử dụng database phân cấp nên hỗ trợ cơ sỡ dữ liệu dạng cây. HDB thường được mặc định cấu hình trong SLAPD hiện nay.

Lưu trữ thông tin của LDAP

Ldif (LDAP Data Interchange Format) là một chuẩn định dang file text lưu trữ thông tin cấu hình LDAP và nội dung thư mục. File LDIF thường dùng để import dữ liệu mới vào trong directory hoặc thay đổi dữ liệu đã có. Dữ liệu trong file LDIF phải tuân theo quy luật có trong schema của LDAP.

Schema là loại dữ liệu được định nghĩa từ trước. Mọi thành phần được thêm vào hoặc thay đổi trong directory của bạn sẽ được kiểm tra lại trong schema để đảm bảo chính xác.

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.