Subscribe:

Main Menu

Rabu, September 03, 2008

Open LDAP

LDAP. apa itu LDAP?, sebenernya aku udah lama sech denger teknologi ini :D. cuman gak pernah megang atau melajari. Jadi ya gak ngerti sama sekali :D. tapi sekarang di paksa untuk mengerti LDAP :(. karna project kali ini make LDAP :(. setelah sdikit2 mempelajarinya. aku pengen nulis pengertiannya di sini. biar aku gak lupa :D.

Sebelum arti dari LDAP sendiri aku rasa kita perlu mengerti apa itu Directory Service.

Sebuah direktori merupakan sebuah database, yang pengelolaan informasinya di dasarkan pada atribut setiap item datanya. Informasi pada direktori lebih banyak akan dibaca daripada operasi update (add, modify, ataupun delete). Sehingga pada suatu directory service tidak menerapkan transaksi atau skema roll-back yang komplek seperti halnya yang kita temui pada database service.

Pengubahan informasi pada direktori terjadi pada semua atau beberapa atribut suatu
item direktori. Dengan sifatnya yang sebagian besar diterapkan operasi pembacaan,
maka suatu directory service akan menerapkan suatu model replikasi untuk dapat
memberikan kehandalan yang lebih baik.

Suatu directory service akan menerapkan protokol LDAP (Lightweight Directory Access
Protocol) dengan format atribut untuk tiap itemnya di dasarkan pada format standard
X.500. LDAP disepakati dengan RFC 1777.







Secara prinsip struktur database pada directory service adalah hierarchy seperti yang
ditunjukkan pada gambar di atas. Seperti pada struktur hirarki pada umumnya, pada
suatu database directory service akan memiliki suatu item yang dijadikan sebagai root.
Untuk sebuah titik root, secara umum ditunjukkan dengan suatu atribut dc (Domain
Component), namun dapat juga langsung ditunjuk dengan atribut cn (Common Name)
atau ou (Organization Unit) ataupun o (Organization). Kemudian pada titik daun (leaf)
biasanya akan berisi suatu item denga atribut uid (User ID) ataupun cn. Berikut
beberapa atribut untuk sebuah titik pada directory service (lihat RFC 2256) :

uid User id
cn Common Name
sn Surname
l Location
ou Organisational Unit
o Organisation
dc Domain Component
st State
c Country

Lalu sekarang pertanyaannya adalah bagaimana caranya kita menunjuk ke suatu item
dari database directory service? Cara penunjukkan suatu item titik pada directory
service sama seperti kita memperlakukan struktur hirarki DNS. Sebuah item titik pada
directory service diberi suatu alamat baik secara relatif maupun absolut.
Untuk suatu alamat relatif sering disebut sebagai RDN (Relative Distinguish Name),
sedangkan alamat yang absolut disebut sebagai DN (Distinguish Name). Pengalamatan
ini disepakati dengan RFC 1779. Contoh pada gambar di atas DN untuk uid=jparker
adalah “dn=uid=jparker, ou=People, dc=pisoftware, dc=com”.
Secara keseluruhan, sebuah item dapat diakses dari directory client dengan mematuhi
aturan URI (Uniform Resource Identifier) seperti yang tertulis pada RFC 1959. Berikut
beberapa sintak URI :


>ldapurl< ::= "ldap://" [ >hostport< ] "/" >dn< [ "?" >attributes<[ "?" >scope< "?" >filter< ] ]
>hostport< ::= >hostname< [ ":" >portnumber< ]
>dn< ::= a string as defined in RFC 1485
>attributes< ::= NULL | >attributelist<
>attributelist< ::= >attributetype<
| >attributetype< [ "," >attributelist< ]
>attributetype< ::= a string as defined in RFC 1777
>scope< ::= "base" | "one" | "sub"
>filter< ::= a string as defined in RFC 1558

Scope :
– base : pencarian dilakukan dimulai dari titik yang ditunjuk
– one : pencarian dilakukan hanya pada satu level saja
– sub : pencarian dilakukan hanya pada subtree dari titik yang ditunjuk
Contoh :
ldap://foo.bar.com/dc=bar,dc=com
ldap://argle.bargle.com/dc=bar,dc=com??sub?uid=barney

-- kata-kata diatas aku ambil dari tutorialnya pak Budi santoso, S. Kom --- :D

2 komentar: