LDAP
İngilizce: Lightweight Directory Access Protocol veya kısaca LDAP (Türkçe: Basit İndeks Erişim Protokolü) TCP/IP üzerinde çalışan indeks servislerini sorgulama ve değiştirme amacıyla kullanılan uygulama katmanı protokolü.
Bu protokol, İngilizce: OpenLDAP, Sun Directory Server, Microsoft Active Directory gibi indeks sunucuları tarafından kullanılmaktadır.
Tanımı
LDAP terimi şu hizmetleri kapsamaktadır:
- TCP/IP protokolü üzerinde çalışan, istemci-sunucu modeline dayanan dağıtık bir indeks hizmet protokolü.
- Lightweight Directory Access Protocol; indeks hizmetlerine (İngilizce: directory services) erişebilmek için kullanılan, standart, genişletilebilir bir Internet protokolü.
- Bir indeksi kullanmakta rehberlik edecek dört model içerir:
- Bir indeks (directory) içine verinin nasıl ekleneceğini tanımlayan bilgi modeli (İngilizce: information model)
- İndeks içinde bulunan verinin nasıl referanslandırılacağını ve düzenleneceğini belirleyen adlandırma modeli (İngilizce: naming model)
- İndeks verisi ile ne yapılacağını belirleyen fonksiyonel model (İngilizce: functional model)
- İndeks verilerini yetkisiz kullanıcılardan koruyacak emniyet modeli (İngilizce: security model)
- LDAP Data Interchange Format (LDIF); indeks verilerini değiş-tokuş etmek için standart metin şekli.
- LDAP sunucu yazılımı; Ticari veya açık-kaynaklı implemantasyonlar (İngilizce: OpenLDAP, Sun Directory Server, Microsoft Active Directory)
- LDAP sunucularla ya da LDAP–tabanlı programlarla bir arada gelen komut-satırı araçları
- LDAP istemci uygulamaları geliştirebilmek için kullanılacak LDAP UPA’ları.
LDAP protokolü message-oriented (mesaj kaynaklı) bir protokoldür. Bunun anlamı şudur: istemci istek içeren bir LDAP iletisi oluşturur ve mesajı sunucuya gönderir, sunucu ise bu istemi işler ve sonucu bir veya birden fazla LDAP mesajı olarak istemciye yanıtı gönderir.
LDAP mesaj tabanlı bir protokol olduğu için, istemci bir anda birden fazla istemde bulunabilir. Örneğin bir istemci aynı anda iki arama işlemini aynı anda yapabilir. Birden fazla işlemi aynı anda yababilmeyi mümkün kılması LDAP protokolünü buna izin vermeyen HTTP ve benzeri protokollere göre daha esnek ve verimli bir protokol yapmaktadır.
Amacı ve kullanım alanları
LDAP tüm kullanıcılarının en hızlı şekilde ve sürekli olarak bilgiye ulaşmalarını sağlayabilmek için, hızlı, ölçeklenebilir ve yönetilebilir bir ağ altyapısı kurmak için oluşturulmuştur. Bilgisayarların yoğun olarak kullanıldığı ağ üzerindeki IP (İngilizce: Internet Protocol) adres ayarlarının otomatik olarak gerçekleştirilebilmesi amacıyla LDAP kayıtlarını kullanan bir otomatik IP atama sistemi kullanılır.
Protokole genel bakış
İstemci LDAP oturumunu, DSA (İngilizce: Directory System Agent) olarak adlandırılan LDAP sunucusuna bağlanarak, varsayılan olarak TCP'nin 389. portundan başlatır. Daha sonra istemci, sunucuya bir işlem talebi gönderir ve sunucu da cevap döndürür. Bazı istisnai durumlar haricinde, istemci bir sonraki talebi göndermek için cevabı almayı beklemeye gerek duymaz; ve sunucu cevaplarını herhangi bir sırada gönderebilir.
İstemcinin aşağıdaki işlemleri talep edebilir:
- TLS'i başlatır - güvenli bağlantı için LDAPv3 TLS (İngilizce: Transport Layer Security) kullanılır
- Bağlanır - LDAP protokol versiyonunu belirlenir ve yetkilendirme gerçekleştirilir
- Araştırılır - İndeks girişleri alınır ve araştırılır
- Karşılaştırılır - Girilen değerin, verilen özellik değerini içerip içermediği test edilir
- Yeni giriş eklenir
- Giriş silinebilir
- Giriş değiştirilebilir
- DN (İngilizce: Distinguished Name) değiştirilebilir - giriş yeniden isimlendirilebilir veya taşınabilir
- Bırakılabilir - Önceki talep iptal edilebilir
- İşlem genişletilebilir - jenerik işlemler diğer işlemleri tanımlamak için kullanılabilir
- Bağlantı kesilebilir/kapatılabilir (2. maddedeki "Bağlanır"'ın ters işlemi değildir)
Ayrıca; sunucu hiçbir talebe cevap vermeyen "İstenmeyen Bildirim (İngilizce: Unsolicited Notifications)" gönderebilir. Örneğin bağlantı zaman aşımına uğramadan önce...
LDAP bağlantısının güvenliğini sağlamanın bir diğer alternatifi ise SSL tüneller kullanmaktır. Bu, "ldaps" URL şemalarının kullanılarak, LDAP URLlerinde gösterilir. SSL üzerinden varsayılan LDAP portu 636'dır. SSL üzerinden LDAP kullanımı genelde LDAP Versiyon 2'de gerçekleştirilir, ama bu durum resmi bir standart olarak belirtilmemiştir. Bu kullanım, resmi olarak 2003'te bırakılan LDAPv2 süresince kabul edilmemiştir.
LDAP, ASN.1 'de tanımlanmıştır ve protokol mesajları BER ikili (İngilizce: binary) formatında kodlanmıştır. Yine de, bazı ADN.1 alanları/tipleri için metin sunumunu kullanır.
LDAP operasyonları
LDAP üç kategori içinde tanımlanabilecek 9 temel protokol operasyonuna sahiptir:
- Sorgulama Operasyonları: arama ve karşılaştırma (search, compare)
- Güncelleme Operasyonları: ekleme, silme, güncelleme, yeniden isimlendirme (İngilizce: add, delete, modify, modify DN (rename))
- Kimlik doğrulama (authentication) ve kontrol operasyonları: bağlanma, bağlantıyı kesme ve bağlantı iptali (İngilizce: bind, unbind, abandon.)