İçerikleri sosyal medya üzerinden paylaşarak daha fazla kişiye ulaşmasına yardımcı olabilirsiniz.




Fırat Boyan 11.07.2018 1

Active Directory Schema'da TC. Kimlik No Attribute Bilgisi Ekleme

Active Directory'de Schema genişletmesi, Domain ortamınızda yönetilmesi gereken özel veri türlerini ve gereksinimleri karşılamak için kritik bir adımdır. Özellikle Türkiye'de yaygın olarak kullanılan TC Kimlik No gibi bir Attribute bilgisini Schema içindeki User Class içine eklemek, hem veri yönetimi hem de kimlik doğrulama süreçleri açısından büyük önem taşır.

Schema'daki her Class ve Attribute, Active Directory'nin nasıl çalıştığını belirleyen temel bileşenlerdir. User Class'ı, Active Directory'de her kullanıcı hesabının temsil edildiği temel yapıdır. Bu Class, kullanıcılara ilişkin verilerin nasıl saklanacağı ve erişileceği konusunda önceden tanımlanmış bir dizi Attribute içerir. Ancak, standart Attribute'lar her zaman tüm kurumsal ihtiyaçları karşılayamayabilir. Örneğin, Türkiye'de kullanıcıları benzersiz bir şekilde tanımlamak için yaygın olarak kullanılan TC Kimlik No'yu yönetmek istiyorsanız, bu veriyi User Class'ına eklemeniz gerekir.

Schema'da TC Kimlik No Eklemek Neden Önemlidir?

Domain ortamındaki User Class'ına TC Kimlik No gibi bir Attribute eklemek, kullanıcı kimlik doğrulama süreçlerini yerel gereksinimlere uygun hale getirir. Bu Attribute, her kullanıcıya atanmış benzersiz bir kimlik numarası olarak işlev görür ve bu sayede kimlik doğrulama, erişim denetimi ve yetkilendirme süreçlerinde daha hassas bir yönetim sağlar. Özellikle kamu kurumları veya finansal kuruluşlar gibi yüksek güvenlik gerektiren ortamlarda, TC Kimlik No gibi benzersiz bir Attribute'un varlığı, veri güvenliği ve uyumluluk açısından kritik olabilir.

Bu işlemi gerçekleştirirken, ilk adım olarak Schema'daki mevcut yapıların iyi anlaşılması gerekir. Schema'nın genişletilmesi geri döndürülemez bir işlemdir; bu yüzden Schema'ya yeni bir Attribute eklemeden önce ayrıntılı bir planlama ve test süreci yürütülmelidir. TC Kimlik No gibi bir Attribute eklemek için, öncelikle yeni bir OID (Object Identifier) belirlemeniz ve bu OID'yi Schema'da doğru bir şekilde kaydetmeniz gerekir. OID'ler, her Attribute'u küresel olarak benzersiz kılan tanımlayıcılardır ve Schema'da çakışmalara neden olmamak için doğru bir şekilde yönetilmelidir.

Yeni Attribute'un tanımlanmasında dikkat edilmesi gereken diğer önemli bir nokta, veri türüdür. TC Kimlik No'nun sayısal ve belirli bir uzunluğa sahip olması gerekmektedir. Bu tür veri özellikleri, Active Directory'nin veri tutarlılığını ve doğruluğunu sağlamak için kritik öneme sahiptir. Attribute tanımlarken, syntax türü olarak Numeric String veya Integer gibi bir seçim yapılabilir. Ancak, Türkiye'deki TC Kimlik No'nun standart yapısı göz önünde bulundurulduğunda, Numeric String syntax türü daha uygun olabilir. Bu, Attribute'un yalnızca sayısal değerleri kabul etmesini sağlar ve veri girişi sırasında hataları en aza indirir.

Replikasyon ve Performans Etkileri

Yeni bir Attribute eklemenin en önemli teknik zorluklarından biri, bu değişikliğin Domain Controller'lar arasında replikasyon yönetimidir Active Directory, Schema, değişikliklerini tüm Domain Controller'lara yayar ve bu süreç zaman alıcı olabilir. Özellikle geniş ve dağınık bir Domain ortamında, replikasyon süresi uzayabilir ve bu durum performans üzerinde geçici bir etkiye neden olabilir. Bu nedenle, değişikliklerin en az kullanıcı etkisi yaratacak şekilde planlanması önemlidir. Replikasyon sürecinde, yeni Attribute'un doğru şekilde dağıtıldığından ve her Domain Controller'da düzgün çalıştığından emin olunmalıdır.

Güvenlik ve Erişim Denetimi

Yeni bir Attribute eklerken güvenlik açısından da dikkatli olunmalıdır. TC Kimlik No gibi hassas bir bilginin Schema'ya eklenmesi, bu veriye erişim yetkisinin kimlere verileceği konusunda titiz bir planlama gerektirir. Active Directory'deki her Attribute için özel erişim denetimleri tanımlanabilir ve bu sayede yalnızca yetkili kullanıcıların veya sistemlerin bu bilgilere erişmesine izin verilir. Ayrıca, Attribute'un yalnızca gerekli olduğu yerlerde kullanılmasını sağlamak için Group Policy yapılandırmaları veya özel ACL'ler (Access Control List) uygulanabilir. Bu, verinin kötüye kullanımını ve yetkisiz erişimleri önlemeye yardımcı olur.

Pratik Uygulama ve Yönetim

Yeni bir Attribute'un Schema'ya eklenmesi, sonrasında bu Attribute'un nasıl kullanılacağını da belirler. TC Kimlik No Attribute'u eklendikten sonra, bu Attribute'un her kullanıcı hesabına doğru bir şekilde atanması ve yönetilmesi gerekir. Kullanıcı hesabı oluşturma veya düzenleme süreçlerinde bu Attribute'un zorunlu hale getirilmesi, veri tutarlılığını sağlamak için faydalı olabilir. Ayrıca, mevcut kullanıcı hesapları için toplu bir güncelleme yapılarak bu bilginin tüm hesaplara eklenmesi sağlanabilir.

Sonuç olarak, Active Directory'de Schema genişletmesi ve TC Kimlik No gibi özel bir Attribute'un eklenmesi, Domain ortamınızda kullanıcı verilerini daha etkin ve güvenli bir şekilde yönetmenize olanak tanır. Bu süreç, dikkatli bir planlama, test ve uygulama gerektirir, ancak doğru adımlar atıldığında sisteminize önemli avantajlar kazandıracaktır.

Mevcut Active Directory yapım aşağıdaki gibidir.

Active Directory Schema Attribute EKleme

Active Directory TC. Kimlik No Attribute'u Oluşturma

1- Atrribute ayarlarını görmek ve yenisini oluşturmak için Active Directory Schema konsoluna ihtiyacımız var. Active Directory Schema konsolu, varsayılan olarak görünür durumda değildir. Bu nedenle de Schema Master rolünü barındıran Domain Controller'a bağlanıyoruz ve RUN (çalıştır) üzerinde regsvr32 schmmgmt.dll yazarak iligli DLL'i tetikletilerek Schema konsolunu görünür hale getiriyoruz.

Active Directory Schema Attribute EKleme
Active Directory Schema Attribute EKleme

1.1- Bu işlemden sonra, MMC konsolunu açarak Schema Master konsolunu ekliyoruz. Yazımın başında Active Directory Schema yapısının, Class (Sınıf) ve Attribute (öznitelik)'lerden oluştuğundan bahsetmiştim.

2- Attribute üzerinde sağ tıklıyor, açılan menüden New > Attribute... seçeneğini seçiyorum.

Active Directory Schema Attribute EKleme

Uyarı!: Bir kez oluşturulan Attribute, pasif edilebiliyor ancak silinemiyor. Sadece üzerine yazma şansınız olduğu için oluştururken çok dikkatli olun!

Active Directory Schema Attribute EKleme

Devam etmeden önce, Root OID (Object Identifier)'nizi öğrenmek zorundayız. Bu Root OID (Object Identifier) bilgisini Attribute oluştururken kullanacağız.

Active Directory Schema Attribute EKleme

Aşağıdaki Script'i, server C:\ ana dizinine kopyalıyor, daha sonrasında da Script'imi çalıştırıyorum. Oluşan Root OID (Object Identifier) değerini bir yere not edin.

İlgili VB Script'i güvenli bir şekilde aşağıdaki butondan indirebilirsiniz.
İNDİR

2.1- Common Name alanına TCkimlikNo yazıyorum.
LDAP Display Name de Common Name ile birlikte otomatik yazılıyor.
Bu, görünür isim olmayacaktır. Sadece Attribute'a ait olan ismidir. Bu ismi daha sonra birçok ayarda ve Script içerisinde kullanacağız. Bir yere not edebilirsiniz. Kesinlikle Türkçe karakter kullanmayın!

2.1.1- Unique X500 IbjectID ise Script'ten aldığınız Root OID (Object Identifier) değeridir.

2.1.2- Son olarak da Syntax'ı belirliyoruz. Burası önemli bir alandır. Nasıl değer gireceğimizi burada belirliyoruz. TC. Kimlik numarası gibi uzun bir sayı için Case Insensitive String kullanılması uygundur. Menu'de farklı ihtiyaçlar için bir çok Syntax da yer almaktadır.

Active Directory Schema Attribute EKleme

2.1.3- tCKimlikNo isimli Attribute'umuzu oluştuduktan sonra, OK butonuna basarak işlemi sonlandırıyorum. Görüldüğü gibi ilgili Attribute oluşturuldu.

Active Directory Schema Attribute EKleme

3- Class için Attribute ekleme işleminden sonra sıra, oluşturmuş olduğumuz Attribute'u user Class'ına atama işlemine geldi.

3.1- Bunun için Classes'a tıklayıp, sağ bölümde user Class'ını bulup, çift tıklıyorum.

Active Directory Schema Attribute EKleme

3.2- Açılan user Properties penceresinde Attributes sekmesine tıklıyorum. Oluşturmuş olduğumuz Attribute'u user Class'ına atama işlemini bu sekmede gerçekleştireceğiz.

3.3- Attributes sekmesi altında Optinal bölümündeki liseteye oluşturmuş olduğumuz Attribute'u eklemek için sağdaki Add... butonuna tıklıyorum.

Active Directory Schema Attribute EKleme

3.4- Add... butonuna tıkladıktan sonra açılan Select Schema Object penceresinde oluşturmuş olduğumuz tCKimlikNo isimli Attribute'u seçip, OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

3.5- Oluşturmuş olduğumuz tCKimlikNo isimli Attribute, user Class'a eklendi. Shema Master üzerinde yapılacak işlemlerimiz bu kadar.

Active Directory Schema Attribute EKleme

4- Yapılan şema değişiklikler; Intra-site Domain Controller'larda varsayılan olarak 15 dakika, Inter-site Domain Controller'larda varsayılan olarak 180 dakika içerisinde güncellerler ancak beklemek istemiyorsanız, bu işlemi Reaload the Schema menü seçeneğini kullanarak elle de tetikleyebilirsiniz.

Active Directory Schema Attribute EKleme

TC Kimlik No Menu Item Ekleme

5- Oluşturduğumuz yeni Attribute, Active Directory User Properties üzerinde Attribute Editor sekmesi altında ilgili Attribute oluşmuş olup, artık değer girilebilecek hale gelmiştir.

Active Directory Schema Attribute EKleme

5.1- Dilerseniz, kullanımını biraz daha kolaylaştırmak amacıyla kullanıcının üzerine sağ tıkladığınızda açılan menü üzerine de yeni Attribute'müzü ekleyebiliriz. Bu işlem için bir Script'e ihityacınız var. Aşağıdaki Script'i, içerisinde kendinize uygun olarak gerekli değişiklikleri yaptıktan sonra server'da C:\ ana dizinine kopyalıyor ve çalıştırıyorum.

İlgili VB Script'i güvenli bir şekilde aşağıdaki butondan indirebilirsiniz.
İNDİR

Aşağıdaki Script satırlarında Attribute için kullandığım isimler yer almaktadır. Siz de kendi Attribute isminizi, ilgili Script kodlarını içinde bularak bu alanları değiştirebilirsiniz.


● oDisp.PutEx 3,"AttributeDisplayNames" , Array("TCKimlik,TC Kimlik No")

● sOutFile.WriteLine "MsgBox " & Chr(34) & "TC Kimlik No" & Chr(34) & " & vbCRLF & " & Chr(34) & "TC Kimlik No: " & Chr(34) & " & oUser.TCKimlik"

● sOutFile.WriteLine "temp = InputBox(" & Chr(34) & "Mevcut No: " & Chr(34) & " & oUser.TCKimlik & vbCRLF & " & Chr(34) & "Yeni Numara" & Chr(34) & ")"

● sOutFile.WriteLine "if temp <> " & Chr(34) & Chr(34) & " then oUser.Put " & Chr(34) & "TCKimlik" & Chr(34) & ",temp"

 

Aşağıdaki satırda, menüde gözükecek isim yer alır. Yine bu kısmı da istediğiniz şekilde değiştirebilirsiniz.

sNewMenu = CStr(iCount) & ",&TC Kimlik No...,hrshell.vbs"

5.2- C:\ dizinindeki Script üzerine tıkladığınızda ilgili Script çalışacaktır.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

5.3- İşlem sonunda da %SYSTEMROOT%\System32 klasörüne iki adet dosya oluşturulacaktır. Menu'den her tıkladığında bu Script'ler çalıştırılmaktadır.

Active Directory Schema Attribute EKleme

6- Active Directory Users and Computers konsolunu açıp, kullanıcı nesneleri üzerinde sağ tıkladığımda, TC. Kimlik No... isimli menü elemanının oluştuğunu göreceksiniz.

Active Directory Schema Attribute EKleme

6.1- TC Kimlik No... isimli menü elemanını tıkladığınzda da karşınıza, ilgili kullanıcının TC. Kimlik bilgilerini girebileceğiniz bir kutucuk açıkacaktır. Girişi yapıp, OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

6.1- Girilen örnek TC Kimlik Numarası, User Properties (Kullanıcı Özellikleri) üzerinde Attribute Editor sekmesi altındaki tCKimlikNo Attribute alanına kaydedildi.

Active Directory Schema Attribute EKleme

TC Kimlik No Bilgilerini Active Directory Users and Computers'ta Listeleme

7- Girdiğim TC Kimlik No bilgilerinin Active Directory Users and Computers konsolunda da Name, Type, Description alanları gibi görünmesini isterseniz, ADSI Edit üzerinde yapmamız gereken işlem, oluşturduğumuz Attiribute'u burada tanımlamak olacak. Bunun için;

7.1- ADSI Edit'i açıyor, sırası ile CN=Configuration,DC=firatboyan,DC=com > CN=DisplaySpecifiers > CN=409 > CN=organizationalUnit-Display kaydına çift tıklayarak açıyorum.

Active Directory Schema Attribute EKleme

7.2- CN=organizationalUnit-Display Attribute Editor sekmesinde extraColumns Attribute'una çift tıklıyorum.

Active Directory Schema Attribute EKleme

7.3- Value to add alanına tCKimlikNo,TC Kimlik No,1,150,0 yazıp Add butonuna tıklayarak ekliyorum. Bu belirttiğim değer, Attribute'u referans alıp, belirlediğim isim altında Active Directory Users and Computers konsolunda görünecek.

Active Directory Schema Attribute EKleme

Active Directory Schema Attribute EKleme

Active Directory Schema Attribute EKleme

8- Girdiğim TC. Kimlik No bilgileri artık Active Directory Users and Computers konsolunda da görünür halde olacaktır.

Active Directory Schema Attribute EKleme

Active Directory yapısına TC Kimlik No gibi özel bir Attribute eklemek, organizasyonların kullanıcı verilerini daha özelleştirilebilir ve güvenilir bir şekilde yönetmesine olanak tanır. Bu süreç, Active Directory Schema'sının dikkatli ve doğru bir şekilde genişletilmesini gerektirir, zira yanlış yapılan bir değişiklik, tüm dizin yapısının işleyişini etkileyebilir. Makalede ele alınan adımlar, bu tür kritik değişikliklerin nasıl güvenli bir şekilde yapılabileceğini detaylı bir biçimde sunmaktadır.

Bu noktada, dikkat edilmesi gereken en önemli husus, Schema üzerinde yapılan değişikliklerin geri alınamaz ve kalıcı olduğudur. Dolayısıyla, sistemde yapılan her adımın test edilmiş ve doğrulanmış olması büyük önem taşır. Ayrıca, eklenen Attribute'un kullanım amacına uygun bir şekilde tanımlanması ve yapılandırılması, ileride doğabilecek güvenlik ve uyumluluk sorunlarının önüne geçer. Organizasyonlar, bu tür özelleştirilmiş yapılarla, sistemde daha fazla kontrol ve takip imkânı sağlayarak, güvenlik ve yönetim süreçlerini daha verimli hale getirebilirler.

Sonuç olarak, bu makalede açıklanan yöntemler, Active Directory altyapısında özelleştirme yapmanın doğru yollarını ve potansiyel risklerini gözler önüne sermektedir. Bu tür bir değişikliğin uygulanması, ancak yeterli bilgi ve tecrübeye sahip bir ekip tarafından dikkatli bir şekilde gerçekleştirilmelidir. 

Faydalı olması dileğiyle...


Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.



Yazar Hakkında

firatboyan.com


1985 yılında Alanya'da doğdum. İlk, orta ve lise öğrenimimi Alanya'da tamamladım. Liseden mezun olduktan sonra Akdeniz Üniversitesi Bilgisayar Teknolojisi Ön Lisans programına yerleştim ve bu programdan mezun oldum. Ön Lisans programından mezun olduktan bir süre sonra Dikey Geçiş Sınavı (DGS) ile İstanbul Teknik Üniversitesi (İTÜ) Bilgisayar Mühendisliği Lisans programına yerleştim.

2003 yılından beri Bilgi Teknolojileri sektöründe Sistem ve Network alanlarında çalışıyorum. Bir çok firma bünyesinde onlarca farklı projelerde yer alarak bu alanda yıllar içinde ciddi bir bilgi birikimi ve deneyimler kazandım. Bilgi Teknolojileri sektöründeki profesyonel çalışma hayatımın uzunca bir dönemini entegratör firma bazında, ağılıklı olarak Microsoft ürünleri üzerine danışman olarak sürdürüyor ve yüksek seviyeli projeler geliştiriyorum. Uzunca bir süredir de Türkiye'nin önde gelen entegratör firmalarından olan Data Market bünyesinde Senior Cloud Engineer olarak çalışıyorum.

Ek olarak, 2015 yılında Network Akademi bünyesinde Microsoft Certified Trainer (MCT) ünvanı ile Sistem ve Network Uzmanlık eğitimleri vermeye başladım. Sistem ve Network Uzmanlığı alanındaki eğitmenlik serüvenime Network Akademi bünyesinde devam etmekteyim.

YORUMLAR
Bu makaleye 1 yorum yapıldı.
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.

   
   
  750 karakter yazabilirsiniz.
 
Captcha
Güvenlik kodunu BÜYÜK harflerle giriniz.
* Yorumlar, onaylandıktan sonra yayınlanmaktadır.
* E-posta, yorum onay bildirimi için gereklidir. Yayınlanmaz.


09.07.2019 Ayhan ZOR
Çok güzel ve anlaşılır bir çalışma olmuş. Bu kadar emeğe yorum yapmadan geçemedim. Emeğine sağlık...