CHƯƠNG I: TỔNG QUAN
1.1 Giới thiệu cơ bản
Hiện
nay, để xây dựng các hệ thống lớn như (Google, Yahoo…) điều tối quan trọng là
phải làm cách nào để có thể tích hợp dữ liệu để từ đó có thể dùng chung giữa
các hệ thống khác nhau. Trong đó, tích hợp tài khoản của người sử dụng là vấn đề
cần thiết nhất.
Hãy
tưởng tượng một hệ thống với khoảng 5 - 6 mô đun khác nhau, mỗi mô đun lại được
thiết kế trên một nền tảng khác nhau (có người thì dùng Oracle + AS Portal, có
người thì dùng DB2 với WebSphere, người khác thì dùng MySQL với Phpnuke, người
thì dùng Window, người thì cài Linux, người sử dụng MacOS), do đó cần có một hệ
thống cung cấp và quản lý người dùng khác nhau. Vậy thì với mỗi mô đun, người sử
dụng cần phải có một username và một password khác nhau, đó là điều không thể
chấp nhận được. Người dùng chẳng mấy chốc mà chán ghét hệ thống.
Làm
cách nào để có thể tích hợp được người dùng giữa các hệ thống trên? Câu trả lời
đó là LDAP. Vậy LDAP là gì?
1.2 Định nghĩa về LDAP
LDAP
(Lightweight Directory Access Protocol – giao thức truy cập nhanh các dịch vụ
thư mục) là một ngôn ngữ để LDAP client và server giao tiếp với nhau, là giao
thức hướng thông điệp dạng client/server dùng để truy cập dịch vụ thư mục (Port
mặc định: 389).Là một mô hình thông tin cho phép xác định cấu trúc và đặc điểm
của thông tin trong thư mục.
LDAP
nằm ở tầng ứng dụng (Application) trong mô hình OSI, chạy trên TCP/IP.
Hình 1. X.500 thông qua mô hình OSI – LDAP thông qua TCP/IP
X.500: được biết như là
một heavyweight, là một tập các chuẩn. Nó yêu cầu client và server liên lạc với
nhau sử dụng theo mô hình OSI. Mô hình 7 tầng của OSI - mô hình chuẩn phù hợp
trong thiết kế với giao thức mạng.
1.3 Giải thích cụm từ “Lightweight Directory
Access Protocol”
1.3.1 Lightweight
LDAP
được so sánh với lightweight vì nó sử dụng gói tin overhead thấp, nó được xác định
chính xác trên lớp TCP, và lược bỏ rất nhiều phương thức ít được dùng của X.500
(heavyweight).
Có
các Server LDAP như openLDAP, OpenDS, Ative Directory, 389-directory…..
1.3.2 Directory
Dịch
vụ thư mục không được nhầm với cơ sở dữ liệu, nó được thiết kế đọc nhiều hơn
nghi,còn đối với cơ sỡ Dữ liệu nó thiết kế phù hợp cho cả việc đọc và nghi một cách thường xuyên và lặp đi lặp lại.
LDAP
chỉ là một giao thức, nó là tập thông tin cho việc xử lý các loại dữ liệu. Một
giao thức không thể biết dữ liệu được lưu trữ ở đâu. LDAP không hỗ trợ xử lý và
những đặc trưng khác như của cơ sở dữ liệu.
Client
sẽ không bao giờ thấy được hoặc biết rằng có một bộ máy lưu trữ backend. Vì lý
do này, LDAP client cần liên tác với LDAP server theo mô hình chuẩn sau:
Hình
2. Mối quan hệ giữa LDAP client, LDAP server và nơi chứa dữ liệu
1.3.3 Access
LDAP
là một giao thức truy cập. Nó đưa ra mô hình dạng cây của dữ liệu, và mô hình dạng
cây này được nhắc tới khi bạn truy cập một LDAP server.
Giao
thức truy cập client/server, một client có thể đưa ra một loạt những yêu cầu và
những trả lời cho những yêu cầu đó lại được trả lời theo những cách sắp xếp
khác nhau.
1.3.4 Protocol
LDAP
là một giao thức hướng thông điệp. Client tạo ra một thông điệp LDAP chứa một
yêu cầu và gửi nó đến server. Server xử lý yêu cầu đó và gửi trả kết quả lại
cho client theo một chuỗi gồm một hoặc nhiều thông điệp LDAP
1.4 Lịch sử phát triển
Phát
triển 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ế (International Telegraph and Telephone
Consultative Committee - CCITT), tiền thân của Liên minh Viễn thông quốc tế (International
Telecommunication Union - ITU) và Tổ chức Tiêu chuẩn hóa quốc tế (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 về
sau, 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 (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.
1.5 Các phiên bản LDAP
Gồm
3 phiên bản
-
LDAPv1: được định nghĩa trong RFC 1487.
Phiên bản này đã sớm bị loại bỏ vì không thể giao tiếp giữa các server, không
sao chép được hay vấn đề bảo mật không đủ mạnh.
-
LDAPv2: được định nghĩa trong RFC 1777
và 1778. LDAPv2 bị giới hạn bởi vấn đề bảo mật kém, nó không hỗ trợ các giao thức
mở rộng, không quốc tế hóa và nó đã không đẩy mạnh phát triển một chuẩn
internet đầy đủ.
-
LDAPv3: được thiết kế để khắc phục
những hạn chế trước đó và có thêm các tính năng mới: tăng cường bảo mật, hỗ trợ
ký tự Unicode, giao thức mở rộng, định nghĩa sơ đồ dữ liệu. LDAPv3 được phát triển vào cuối những năm 1990 để thay thế LDAPv2. LDAPv3 thêm các
tính năng sau đây:
§ Xác thực và dịch vụ dữ liệu
bảo mật mạnh mẽ thông qua SASL
§ Chứng thực bảo mật
dữ liệu thông qua TSL (SSL)
§ Quốc tế hóa thông
qua sử dụng Unicode
§ Referrals and Continuations (chuyển
tiếp)
§ Schema Discovery (khám phá sơ đồ).
§ Mở rộng (điều khiển, và nhiều hoạt
động mở rộng khác)
1.6 Khi nào sử dụng
LDAP
Nói
tóm lại, ta nên sử dụng LDAP Server khi ta đòi hỏi dữ liệu phải quản lý tập
trung, thông tin được lưu trữ và truy cập thông qua phương pháp phổ biến.
Một
số ứng dụng trong đời sống thực tế hay sử dụng:
-
Machine
Authentication
-
User
Authentication
-
User/System
Groups
-
Address
book
-
Organization
Representation
-
Asset
Tracking
-
Telephony
Information Store
-
User
resource management
-
E-mail
address lookups
-
Application
Configuration store
-
PBX
Configuration store
-
…
No comments:
Post a Comment