Active Directory servisi ile ilgili genel konuları, fiziksel ve mantıksal yapı bileşenlerini önceki makalelerimizde ele almıştık. Bu makalemizde de active directory domain servislerinde nesnelerin isimlendirilmesi ve LDAP protokolü üzerinde duracağız.
LDAP (Lightweight Directory Access Protocol), TCP/IP protokol kümesi içerisinde bulunan ve istemci-sunucu mimari modeline göre çalışan dizin hizmetlerini inşa eden, yöneten, güvenliğini ve erişimi sağlayan protokoldür. LDAP genel olarak evrensel bir protokoldür. Farklı üreticilerin kendilerine özgü LDAP implementasyonları ile farklı isimler ve markalar altında modellenerek ve geliştirilerek kullanılmaktadır. Bu alanda Microsoft Active Directory, Linux-tabanlı OpenLDAP, Sun Directory Server, Novell NDS gibi dünya üzerinde kullanılan LDAP implementasyonlarıdır. Bunlar arasında dünya genelinde en yaygın ve kendini ispatlamış LDAP implementasyonu Microsoft Active Directory’dür.
Microsoft Active Directory yapısının altında bulunan çekirdek protokol LDAP’dır. Active directory yapısının kurulumu, oluşturulması, erişimi, güvenliği, nesnelerin isimlendirilmesi vb. faaliyetler LDAP tarafından gerçekleştirilir. Bugünkü makalemizde biz de nesnelerin isimlendirilmesinden bahsedip, Windows Server 2012 active directory yapımızda bunlardan örnekler veriyor olacağız.
Active Directory içerisinde oluşturulan tüm nesne sınıflarının (object classes) ve bu nesneleri tanımlarken kullanılan niteliklerin (attributes) tanımlı olduğu kütüphaneye active directory schema adı verildiğini daha önceki makalelerimizde de detaylı olarak bahsettik. Bir diğer deyişle aslında schema active directory’nin registry’si gibi düşünülebilir. Biz schema içerisinde tanımlı nesneleri ve niteliklerini kullanarak binlerce nesne oluşturabiliyoruz. Örneğin user, computer, group, printer vb. birer nesne sınıfıdır. Herhangi bir nesne sınıfını tanımlayan alt niteliklere de attribute adı verilir. Örneğin, first name ya da last name user nesne sınıfı için bir attribute, location ya da printer name, printer nesne sınıfı için bir attribute örneğidir. Active directory ortamında oluşturulan her nesne sınıfına göre belli bir standartta isimlendirilir.
LDAP, Active Directory yapısında nesneleri isimlendiren ve bu nesnelere erişimi sağlayan protokoldür. Dolayisiyla active directory içerisindeki nesnelerin isimlendirme standardına “LDAP isimlendirme standardı (LDAP Naming Standart) ” adı verilir.
LDAP isimlendirme standardında belli tanımlamalar vardır. Bunlar:
- DC ( Domain Component) : Active Directory yapısında oluşturulan bütün domainler DC ile tanımlanırlar.
- OU (Organizational Unit) : Active Directory yapısında oluşturulan bütün organizational unitler OU ile tanımlanırlar.
- CN (Common Name) : Active Directory yapısında oluşturulan kullanıcı, grup, bilgisayar, printer, mailbox gibi nesneler CN ile tanımlanırlar.
Şimdi bunları birkaç örnek ile açıklayalım.
Siz aşağıdaki şekilde görüldüğü gibi cozumpark.local adında bir active directory domaini kurdunuz.
Şekil olarak bu şekilde kurulan bir domaini active directory kendi veritabanına DC=cozumpark,DC=local şeklinde kaydeder. Yani arka planda olan isim bu formattadır.
Siz aşağıdaki şekilde görüldüğü gibi cozumpark.local isimli ana domain altında sozluk isimli bir child domain kurdunuz.
Şekil olarak bu şekilde kurulan bir domaini active directory kendi veritabanına DC= sozluk, DC=cozumpark,DC=local şeklinde kaydeder.
Siz aşağıdaki şekilde görüldüğü gibi cozumpark.local isimli domain altında mcse isimli bir organizational unit açtınız.
Şekil olarak bu şekilde oluşturulan bir objeyi active directory kendi veritabanına OU=mcse,DC=cozumpark,DC=local şeklinde kaydeder.
Siz aşağıdaki şekilde görüldüğü gibi cozumpark.local isimli domain altında mcse isimli bir OU açtınız. Bu OU altında da student isimli bir kullanıcı açtınız.
Şekil olarak bu şekilde kurulan bir yapıyı active directory kendi veritabanına CN=student, OU=mcse,DC=cozumpark,DC=local şeklinde kaydeder.
LDAP İSİMLENDİRME STANDARTLARI
Active Directory yapısında LDAP protokolü bir nesne için üç farklı tanımlama yapar. Bunlar:
· LDAP distinguished name (Aranan İsim)
· LDAP Relative Distinguished Name (Asil Aranan İsim)
· Canonical Name(Takma İsim)
LDAP Distinguished Name:Bir nesneyi benzersiz bir şekilde bulunduğu konum içerisinde tanımlayan isimdir.Kısaca dn olarak ifade edilir. Örneğin, cozumpark.local isimli bir domain altında olusturdugunuz mcse isimli bir OU içinde açtığınız student3 isimli bir kullanıcı için Distinguished Name(DN)
CN=student3,OU= mcse,DC=cozumpark,DC=local ’dir. Distinguished Name Active Directory Forest yapısında benzersizdir. Yani ayni dn’e sahip iki farklı nesne bulunmaz.
LDAP Relative Distinguished Name: Distinguished Name içerisinde asıl belirtilmek istenen nesne adına Relative Distinguished Name adı verilir. Örneğin distinguished name’i cn=student, OU=mcse,DC=cozumpark,DC=local olan bir objenin relative distinguished name’i cn=student ‘dır. Yani bizim burada asil belirtmek istediğimiz obje olan student RDN(Relative Distinguished Name) ‘dir.
Sistem yöneticileri Relative Distinguished Name ve Disitinguished Name’leri özellikle, yönetimsel scriptler veya komut satırından yönetim yaparken ya da uygulama geliştirme platformlarından active directory içerisindeki nesnelere erişirken kullanırlar.
Canonical Name: LDAP Distinguished Name ile ayni sözdizimine(syntax) sahiptir, fakat gösterim tipi (notation) farklıdır.cozumpark.local domaini içerisinde bulunan egitim isimli bir OU için canonical name, cozumpark.local/egitim seklindedir. Administrator kullanıcıları canonical isimleri bazı yönetimsel araçlarda kullanırlar. Amaç yönetimsel araç içerisinde hiyerarşiyi göstermektir.