1. Trang chủ
  2. » Công Nghệ Thông Tin

LDAP và mô hình ứng dụng

77 797 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề LDAP và mô hình ứng dụng
Tác giả Đỗ Hoàng Tuyên, Phạm Phanh Phương, Nguyễn Trung Tín
Người hướng dẫn TS. Phạm Văn Tính
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 77
Dung lượng 1,9 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Network Information System NIS:là hệ thống thông tin mạng  NIS là giao thức tương tự như LDAP nhưng còn khá nhiều hạn chế  Được phát triển bởi Sun MicroSystem ,ban đầu được Sun đặt tê

Trang 1

GVHD:TS.PHẠM VĂN TÍNH

Đỗ Hoàng Tuyên

Phạm Phanh Phương

Nguyễn Trung Tín

Trang 3

Tại sao sử dụng LDAP

 Hiện nay, để xây dựng các hệ thống lớn, đ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 trong

những cái "tối quan trọng" trên

 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 ( Oracle +

AS Portal, có người thì xài DB2 với WebSphere, lão khác thì

MySQL , ông thì xài Wíndow, lão thì cài Linux, Unix), do đó cần có một hệ thống 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 User Name, một mật khẩu 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.

Trang 4

 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.

=>Như Vậy LDAP là gì?

Trang 5

Network Information System

 NIS:là hệ thống thông tin mạng

 NIS là giao thức tương tự như LDAP nhưng còn khá nhiều hạn chế

 Được phát triển bởi Sun MicroSystem ,ban đầu được Sun đặt tên là Yellow Page nhưng lại đụng độ với tên của một số công

ty điện thoại,nên đổi tên lại

 Được tích hợp trong hệ thống Unix trước đây

• Với một nhóm 50 trạm làm việc, khi người điều hành hệ thống thêm vào một người sử dụng mới thì người sử dụng đó phải được thêm vào 50 file password, 50 file thư tín…

Trang 6

Network information system

 NIS ra đời giải quyết phần lớn các vấn đề này bằng cách đặt hầu hết các thông tin quản lý vào một nơi do NIS kiểm soát và mọi trạm làm việc đều tham chiếu đến các file NFS thay vì đến các file riêng của họ

 Khi có một người sử dụng mới, người điều hành chỉ phải thêm người sử dụng đó vào cơ sở dữ liệu NFS được dùng chung, do

đó tức thời làm cho người mới vào có thể làm việc với tất cả các trạm làm việc

Trang 7

Network information system

 Tuy nhiên, thỉnh thoảng nó cũng bị mất đồng bộ (sau khi người quản trị cập nhật các file chính, cần phải thực hiện một số lệnh

để làm phát sinh lại cơ sở dữ liệu NIS và dễ mắc sai lầm)

 Khi NIS không đồng bộ, nó có thể gây ra những kết quả rất kỳ

Trang 8

LDAP là gì

 LDAP - viết tắt của Lightweight Directory Access Protocol, hay dịch ra tiếng Việt có nghĩa là giao thức truy cập nhanh các dịch vụ thư mục

 Nó là giao thức dạng Client/Server dùng để truy cập dịch vụ thư mục

 LDAP chạy trên TCP/IP hoặc các dịch vụ hướng kết nối khác

Trang 9

Nguồn gốc của LDAP

 Bản chất của LDAP là một phần của dịch vụ thư mục

X.500(DAP) LDAP thực chất được thiết kế như một giao thức nhẹ nhàng

 X500 được biết như là một heavyweight 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 là một mô hình chuẩn phù hợp trong thiết kế với giao thức mạng, nhưng khi so sánh với chuẩn TCP/IP thì nó trở nên không còn hợp lý

Trang 10

 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 ( mặc định là cồng 389) của danh sách các giao thức TCP/IP Bởi vì X.500 là một lớp giao thức ứng dụng, nó chứa nhiều thứ hơn ví

dụ như các network header được bao quanh các gói tin ở mỗi layer trước khi nó được chuyển đi trong mạng

 LDAP được coi là lightweight bởi vì nó đã lược bỏ rất nhiều những phương thức ít được dùng của X.500

 Cung cấp một mô hình đơn giản cho người lập trình và quản trị

hệ thống

Trang 12

Cấu trúc LDAP-Khái niệm Directory

 Một thư mục là list thông tin về các đối tượng,được sắp xếp một cách chi tiết về mỗi đối tượng

 Trong Computer thì thư mục là một database đặc biệt,lư u trữ thông tin về các đối tượng

 Thư mục cho phép user và ứng dụng có thể tìm kiếm tài

nguyên để phục vụ cho các task

 Mặc dù thư mục xem như database nhưng thư mục thì thường chứa thông tin tĩnh ,ít thay đổi khác với DB

 Thư mục thường được đọc nhiều hơn là update,written

Trang 13

Cấu trúc LDAP-  Directory Service :Directory Service

 là một loại service có thể nằm trên client hoặc server

 Khái niệm Directory services thì không có gì

mới,nếu chúng ta đã từng làm quen với dịch vụ DNS (phân giải tên miền).Tuy nhiên, một số

người thường nhầm lẫn Directory services giống như một database

Trang 14

Cấu trúc LDAP- Directory Service :

để lấy dữ liệu nhiều hơn là ghi không giống như một Database cung cấp khả năng đọc và ghi dữ liệu với tần số liên tục

Một ví dụ phổ biến của service là :file services,

mail services, print services, Web page services…

Trang 15

Cấu trúc LDAP(cont…)

LDAP (Lightweight Directory Access Protocol) là một chuẩn

mở rộng cho nghi thức truy cập thư mục, hay là một ngôn ngữ

để LDAP client và severs sử dụng để giao tiếp với nhau

LDAP là một giao thức hướng thông điệp

Nó là giao thức dạng Client/Server

LDAP chạy trên TCP/IP hoặc các dịch vụ hướng kết nối khác

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

Là một giao thức mở rộng ,được định nghĩa nhiều phương thức

mở rộng cho việc truy cập và update thông tin trong thư mục

 LDAP một nghi thức thuộc tầng ứng dụng

Trang 16

Cấu trúc LDAP(cont…)

 LDAP tổ chức data theo thư mục phân cấp:

Trang 19

Một entry là tập hợp của các thuộc tính, từng thuộc tính này mô

tả một nét đặt trưng tiêu biểu của một đối tượng Mỗi thuộc

tính có kiểu một hay nhiều giá trị, kiểu của thuộc tính mô tả

loại thông tin được chứa, giá trị là dữ liệu thực sự

Ví dụ: một entry mô tả một người với các thuộc tính: tên họ, tên, số điện thoại, và địa chỉ email

Trang 20

Mô hinh của một Entry

Trang 21

Cấu trúc của entry trong Directory

Trang 22

Cấu trúc LDAP(cont )

 Dịch vụ thư mục LDAP được dựa trên một mô hình server

Trang 23

client-Cấu trúc LDAP(cont )

 LDAP là một giao thức hướng thông điệp:

 Do client và sever giao tiếp thông qua các thông điệp,Client tạo một thông điệp (LDAP message) chứa yêu cầu và gởi nó đến cho server Server nhận được thông điệp và xử lý yêu cầu của client sau đó gởi trả cho client cũng bằng một thông điệp LDAP

Ví dụ:khi LDAP client muốn tìm kiếm trên thư mục, client tạo LDAP tìm kiếm và gởi thông điệp cho server Sever tìm trong

cơ sở dữ liệu và gởi kết quả cho client trong một thông điệp LDA

Trang 26

Cấu trúc LDAP(cont )

 Do nghi thức LDAP là nghi thức thông điệp nên, client được phép phát ra nhiều thông điệp yêu cầu đồng thời cùng một lúc Trong LDAP, message ID dùng để phân biệt các yêu cầu của client và kết quả trả về của server

Trang 27

 LDAP thực hiện theo cách hoàn toàn khác, quản lý tất cả thao tác trên một kết nối.

Trang 28

Các thao tác của trên LDAP

 LDAP có 9 thao tác cơ bản, chia thành 3 nhóm thao tác chính:

 Thao tác thẩm tra (interrogation) : search, compare Hai thao tác này cho phép chúng ta thực hiện thẩm tra trên thư mục

 Thao tác cập nhật (update): add, delete, modify, modify DN ( rename ) Những thao tác này cho phép chúng ta thực hiện cập nhật thông tin trên thư mục.

 Thao tác xác thực và điều kiển(authentiaction and control) : bind,

unbind, abandon Thao tác bind cho phép client tự xác định được

mình với thư mục, thao tác này cung cấp sự xác nhận và xác thực

chứng thư; unbind cho phép client huỷ bỏ phân đoạn làm việc hiện hành; và cuối cùng là thao tác abandon cho phép client chỉ ra các

thao tác mà kết quả client không còn quan tâm đến nữa.

Trang 29

Các thao tác của trên LDAP(cont )

 Ngoài 9 thao tác cơ bản LDAP version 3 được thiết kế mở rộng thông qua 3 thao tác

Thao tác mở rộng LDAP(LDAP extended operations) – đây là một nghi thức thao tác mới Trong tương lai nếu cần một thao tác mới, thì thao tác này có thể định nghĩa và trở thành chuẩn mà không yêu cầu ta phải xây dựng lại các thành phần cốt lõi của LDAP

LDAP control - Những phần của thông tin kèm theo cùng với các thao tác LDAP, thay đổi hành vi của thao tác trên cùng một đối tượng

Trang 30

Các thao tác của trên LDAP(cont )

Xác thực đơn giản và tầng bảo mật (Simple

Authentication and Security Layer SASL) là một mô hình

hổ trợ cho nhiều phương thức xác thực Bằng cách sử dụng mô hình SASL để thực hiện chứng thực LDAP có thể dễ dàng thích nghi với các phương thức xác thực mới khác, SASL còn hổ trợ một mô hình cho client và server

có thể đàm phán trên hệ thống bảo mật diển ra ở các tầng thấp(dẫn đến độ an toàn cao) Mặt dù như vậy nhưng các

mô hình này của SASL đều thích nghi với các nghi thức của internet

Trang 31

Các mô hình của LDAP

 Information Model: Model cho ta biết thông tin hoặc dữ liệu được thể hiện như thế nào trong một hệ thống có kích hoạt

Trang 32

Information Model

 Mô hình LDAP Information định nghĩa ra các kiểu của dữ liệu

và các thành phần cơ bản của thông tin mà bạn có thể chứa

trong thư mục Hay chúng ta có thể nói rằng LDAP

Information mô tả cách xây dựng ra các khối dữ liệu mà chúng

ta có thể sử dụng để tạo ra thư mục

 Thành phần cơ bản của thông tin trong một thư mục gọi là

entry Đây là một tập hợp chứa các thông tin về đối tượng

(Object)

 Thường thì các thông tin trong một entry mô tả một đối tượng thật như là thông tin về người, nhưng đây không phải là qui định bắt buộc với mô hình

Trang 33

LDAP SCHEMA

Thiết lập các rule mô tả những loại data gì được lưu trữ

Giúp quản lí một cách nhất quán và chất lượng của data

Trang 34

LDAP Schema (cont…)

Schema chứa đựng những thông tin sau:

Những thuộc tính yêu cầu

Những thuộc tính được phép

So sánh các thuộc tính đó như thế nào

Giới hạn những thuộc tính gì có thể lưu trữ

Những thông tinh gì thì bị cấm lưu trữ,hay sao lưu

Trang 35

 Sử dụng để nhóm các thông tin lại

 Cung cấp những rule sau đây:

 Thuộc tính yêu cầu

 Thuộc tính được phép

 Dễ dàng lấy được nhóm thông tin

• Entry có thể có nhiều objectclass,nhưng bắt buộc phải có objectclass

• Theo chuẩn LDAP thì có những loại object class sau:

 Groups in the directory

 Locations

 Organizations in the directory

 People in the directory.

Trang 37

 Ví dụ entry trong LDIF

Trang 38

Một Entry thư mục trong LDIF:

dn: uid=bjensen, dc=airius, dc=com objectClass: top

objectClass: person

objectClass: organizationalPerson objectClass: inetOrgPerson

Trang 39

 Các thuộc tính cũng phân thành 2 loại: thuộc tính người dùng,

thuộc tính thao tác

Thuộc tính người dùng (user attributes) là các thuộc tính bình

thường của một entry thư mục, các thuộc tính này có thể được

điều chỉnh bởi user của thư mục(tất nhiên là các thao tác sữa chữa được phép

Thuộc tính thao tác (operational attributes) đây là các thuộc tính đặc biệt và chỉ có thể được điều chỉnh bởi directory server hay là các thuộc tính cho biết trạng thái của thư mục

Trang 41

Naming Model

 Mô hình LDAP Naming định nghĩa ra cách để chúng ta có thể sắp xếp và tham chiếu đến dữ liệu của mình Hay chúng ta có thể nói rằng mô hình này mô tả cách sắp xếp các entry của

chúng vào một cấu trúc có logical, và mô hình LDAP Naming chỉ ra cách để chúng ta có thể tham chiếu đến bất kỳ một entry thư mục nào nằm trong cấu trúc đó

 Mô hình LDAP Naming cho phép chúng ta có thể đặt dữ liệu vào thư mục theo cách mà chúng ta có thể dễ dàng quản lý nhất

Trang 42

Naming Model (cont )

 Ví dụ như chúng ta có thể tạo ra một container(khái niệm vật thể chứa đựng) chứa tất cả các entry mô tả người trong một tổ chức, và một container chứa tất cả các group của bạn, hoặc bạn

có thể thiết kế entry theo mô hình phân cấp theo cấu trúc tổ

chức của bạn Việc thiết kế tốt cần phải có những nghiên cứu thoả đáng

Trang 43

Distinguished names

 Distinguished names (DNs) trong LDAP đây là tên của một entry chỉ ra cách bạn có thể tham chiếu đến các entry trên thư mục, hai entry khác nhau trên thư mục hai DNs cũng khác nhau

 Giống như đường dẫn của hệ thống tập tin, tên của một entry LDAP được hình thành bằng cách nối tất cả các tên của từng entry cấp trên (cha) cho đến khi trở lên root, như hình dưới ta thấy node có màu đậm sẽ có tên là uid=bjensen, ou=people, dc=airius, dc=com nếu chúng ta đi từ trái sang phải thì chúng

ta có thể quay ngược lại đỉnh của cây

Trang 45

Relative Distingguished name

 Kí hiệu là :RDN

 Thành phần trái nhất được gọi là relative distingguished name (RDN)

 RDN là tên phân biệt các entry

 DN là tên duy nhất cho mỗi entry trên thư mục, do đó các

entry có chùng cha thì RDN cũng phải phân biệt

 Ví dụ hình sau ta thấy

Trang 46

Mặc dù cho có hai entry có cùng RDN cn=Joohn Smith như hai entry ở hai nhánh khác nhau

Trang 49

Bí Danh(Alias)

 Để tạo ra một alias entry trong thư mục trước tiên bạn phải tạo

ra một entry với tên thuộc tính là aliasedOjecctName với giá trị thuộc tính là DN của entry mà chúng ta muốn alias entry này chỉ đến

Trang 50

 LDAP version ngoài 3 nhóm thao tác trên, còn có thao tác LDAP extended thao tác này cho phép nghi thức LDAP sau này có thể mở rộng một cách có tổ chức và không làm thay đổi đến nghi thức

Trang 51

Các thao tác thẩm tra-Interrogation

 Hai thao tác thẩm tra cho phép client có thể tìm và nhận lại

thông tin từ thư mục Nhưng LDAP không có thao tác đọc một entry thư mục,do đó khi đó chúng ta muốn đọc một entry thì ta phải thực hiện tìm kiếm và dừng tìm kiếm ngay khi nhận được kết quả đầu tiên Thao tác tìm kiếm (LDAP search operation) yêu cầu 8 tham số:

Tham số đầu tiên :là đối tượng cơ sở mà các thao tác tìm kiếm

thực hiện trên đây tham số này là DN chỉ đến đỉnh của cây mà chúng ta muốn tìm

Trang 56

Các thao tác thẩm tra-Interrogation

(cont…)

Tham số thứ ba :derefAliases cho server biết rằng liệu bí danh

aliases có bị bỏ qua hay không tham khảo đến khi thực hiện tìm

kiếm, có 4 giá trị mà derefAliases có thể nhận được:

 nerverDerefAliases - nghĩa là thực hiện tìm kiếm và không bỏ qua bí danh (aliases) trong lúc thực hiện tìm kiếm và áp dụng với cả đối

 derfAlways - bỏ qua cả hai nếu việc tìm kiếm thấy đối tượng cơ sở hay là các entry cấp thấp là các entry aliases

Trang 57

Ví dụ 2:Nếu tham số này 0,thì server trả về toàn bộ kết quả

Tham số thứ năm: qui định thời gian tối đa cho việc thực hiện

tìm kiếm

Trang 58

Các thao tác thẩm tra-Interrogation

(cont…)

Tham số thứ sáu: attrOnly – là một tham số kiểu bool

Nếu attrOnly=true ,thì server sẽ trả về các thuộc tính của entry

Nếu attrOnly=false ,thì server sẽ trả về các thuộc tính và giá trị của entry

Tham số thứ bảy: là bộ lọc tìm kiếm(search filter) đây là một

biểu thức mô tả các loại entry sẽ được giữ lại

Tham số thứ tám :và đây là tham số cuối cùng đây là một

danh sách các thuộc tínhđược giữ lại với mỗi entry Bạn có thể chỉ định các thuộc tính được giữ lại

Trang 60

Các thao tác thẩm tra-Interrogation

(cont…)

 Trong hình trên chỉ có LDAP version 3 hổ trợ cho bộ lọc này: đây là một bộ lọc thiết kế cho các thao tác tìm kiếm phát triển trong tương lai Bộ lọc này mang tính dễ dàng mở rộng của LDAP khi các thao tác tìm kiếm phát triển

 Cú pháp của bộ lọc mở rộng này khá phức tạp, gồm có 5 phần

và 3 trong đó là các tuỳ chọn

Trang 61

Cú pháp ldapsearch

Trang 62

Thao tác cập nhật

 Có 4 thao tác cập nhật:add,delete,rename,modify:

Add :Thao tác add tạo ra một entry mới với tên DN và danh sách

các thuộc tính truyền vào, khi thực hiện add một entry mới vào thư mục phải thoả các điều kiện sau :

Entry là nút cha của entry mới phải tồn tại

Chưa tồn tại một entry nào có cùng tên DN với entry mới trên thư mục

Delete :Thao tác xoá (delete) chỉ cần truyền vào tên của entry cần

xoá và thao tác thực hiện được nếu như:

Entry tồn tại với tên là DN truyền vào

Entry bị xoá không có các entry con

Trang 63

Thao tác cập nhật (cont )

Rename:Thao tác rename hay modify DN sử dụng để đổi tên

hay dùng để di chuyển các entry trong thư mục, các tham số cần truyền vào là DN của entry cần đổi tên, RDN mới của

entry và một số tham số tuỳ chọn dành cho các entry là cha mới của entry di chuyển đến, và cuối cùng là một cờ cho phép xoá hay không xóa với RDN cũ Cũng như trên thao tác thực hiện được nếu như thoả :

 Các entry bị đổi tên phải tồn tại

Tên mới của entry phải chưa tồn tại

Ngày đăng: 06/10/2014, 13:23

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w