Advertisement

header ads

Ldap Server คืออะไร




LDAP (Lightweight Directory Access Protocol) เป็น protocol ที่ใช้สำหรับค้นหาข้อมูลในฐานข้อมูล  ส่วนใหญ่นำเอามาใช้กับข้อมูลจำพวก รายระเอียดพนักงาน เช่น ชื่อ,นามสกุล,ตำแหน่ง,ที่อยู่

ที่มาของ LDAP
LDAP เริ่มต้นคิดค้นที่ University of Michigan และได้รับการรับรองมากกว่า 40 บริษัท ซึ่งทาง Netscape ได้เพิ่มไว้เป็นส่วนหนึ่งของ product และทาง Microsoft เองนำมาใช้กับ Outlook Express ด้วย อีกทั้ง Cisco ก็ support LDAP ในสินค้าด้าน network

การทำงานของ Protocol LDAP
1.เมื่อ Client ทำการเชื่อมต่อ LDAP session เข้ากับ LDAP server จะเรียกว่า Directory System Agent (DSA) ซึ่งปกติจะใช้ TCP port 389 สำหรับ LDAP over SSL จะเป็น port 636


2.โดยทาง client จะส่ง request มาที่ server และทาง server ก็จะตอบ response กลับไป ไม่จำเป็นที่ client ต้องรอ response กลับมาก่อนที่จะส่ง request อันต่อไป รวมถึง server เองก็ไม่ต้องส่ง response เรียกตามลำดับด้วย เพราะข้อมูลทั้งหมดรับส่งโดยใช้ Basic Encoding Rules (BER)

3.ขั้นตอนการทำงานของ Client จะมีได้ดังนี้
StartTLS — Transport Layer Security เพื่อเข้ารหัสข้อมูล
Bind — Auten user/pass กับทาง server
Search — ค้นหาข้อมูลด้วย attribute key
Compare — ทดสอบดูว่าข้อมูลที่ค้นหา ตรงกับ attribute
Add a new entry
Delete an entry
Modify an entry
Modify Distinguished Name (DN) — แก้ไข entry
Abandon — ยกเลิก request
Extended Operation — ใช้เพื่อกำหนด operation อื่น
Unbind — logout เพื่อปิด connection

บางที server อาจจะส่ง “Unsolicited Notifications” ซึ่งไม่ได้ตอบมาทุก request เฉพาะกรณีเกิด timeout



โครงสร้างของ LDAP Directory
ตัว entry (ตำแหน่งข้อมูล) จะประกอบด้วยชุดของ attributes
ทุก attribute จะมีชื่อ (type, description) ซึ่งจะกำหนดใน schema
ทุก entry ต้องไม่ซ้ำกัน ซึ่งเป็น Distinguished Name (DN)
Each entry has a unique identifier: its Distinguished Name (DN)


ตัวอย่าง entry ที่แสดงในรูปแบบ LDAP Data Interchange 
Format (LDIF) 
dn: cn=John Doe,dc=example,dc=com cn: John Doe givenName: John sn: Doe telephoneNumber: +1 888 555 6789 telephoneNumber: +1 888 555 1232 mail: john@example.com manager: cn=Barbara Doe,dc=example,dc=com objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top


dn คือ Distinguished Name ของ entry นี้ ไม่ใช่ attribute “cn= John Doe” เป็น RDN (Relative Distinguished Name)
“cn= John Doe” คือ RDN (Relative Distinguished Name)
“dc= example, dc=c0m” ทั้งหมดคือ DN ของ parent entry

cn คือ Common Name

dc คือ Domain Component





Sever จะเก็บข้อมูลในลักษณะ subtree โดยจะเริ่มหาทีละ entry เช่น “dc=example,dc=com” โดย server อาจจะใช้ server อื่นเป็นตัวอ้างอิง เช่น “ou=department,dc=example,dc=com” อาจจะตอบกลับมาเป็น reference ไปที่ server ที่มีข้อมูลอยู่ในส่วนของ directory tree ซึ่งทาง client สามารถที่จะติดต่อกับ server อื่นได้


Credit: https://saixiii.com,https://en.wikipedia.org

แสดงความคิดเห็น

0 ความคิดเห็น