Apa itu LDAP ?


Sebelum kita membahas apa itu LDAP (Lightweight Directory Access Protocol), terlebih dahulu 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 brouser Google. 

-- tujuan artikel inii untuk cattan belajar saja
-- kalau ada yang merasa keberatan / complain akan segera saya hapus dari penayangan publik. Terima kasih.

Label: