Microsoft’un kimlik yönetim yazılımı Forefront Identity Manager yazılımı çeşitli kaynaklardan topladığı verileri tek bir merkezde buluşturup bu verileri birçok kaynağa senkronize edebilmektedir. Böylelikle MS SQL Server ya da Oracle veri tabanınız ile active directory ya da Exchange gibi çeşitli yapıları birbirlerine sürekli senkronize eder hale getirebilmektedir.
FIM yazılımı ile detaylı bilgiyi daha önceki makalelerimden bulabilirsiniz:
https://ortacdemirel.com/forefront-identity-manager-2010-r2-sp1-kurulumu-bolum-1/
Bu yazımda MS SQL Server üzerindeki bir veri tabanında yer alan bilgilerimizi nasıl FIM portal a aktırabileceğimize değineceğim.
Öncelikle böyle bir işlemi neden yapmak isteriz?
Farz edelim ki insan kaynakları yazılımımız var. Bu yazılım MS SQL Server veri tabanı kullanıyor. IK personeli her işe başlayan personelin girişinden sorumlu. Aynı zamanda işten çıkan personel içinde bu geçerli tabi. IK personeli yeni işe başlayan kişinin verisini girdiğinde sistem yöneticileri de active directory üzerinde kullanıcıyı açmaları, bu kullanıcıya bir email adresi vermeli ve varsa farklı bir kaynak üzerinde de (örneğin telefon defteri yazılımı) bu kullanıcıyı yaratmalıdırlar.
On binlerce kullanıcını olduğu bir ortamda bunu yapmak oldukça güçtür. İşte bu durumda FIM yazılımı bize yardımcı olmaktadır. IK personeli kullanıcıyı girince AD hesabı, email hesabı ve farklı yapılardaki hesapları da otomatik olarak oluşabilmektedir. Aynı zamanda kullanıcı silindiğinde her yerden de silinebilmektedir.
FIM yazılımının bu güçlü yanı öncelikle kullanıcıların FIM portal denilen merkezi bir yönetim ortamına aktarılması ile gerçekleşebilir. FIM portalın kullanılması zorunlu değildir tabi ki de. Fakat kullanıcıların ayarlarının buradan da girilmesi sağlanabilir. FIM, insan kaynakları yazılımının veri tabanından çektiği kullanıcı bilgilerini diğer yapılara (active directory,Exchange, farklı bir MS MSQL server, oracle, ibm lotus notes , azure vb) aktarabilir.
Makale iki bölümden oluşmaktadır. İlk bölümde insan kaynakları veri tabanına bağlanma ve verilerin çekilmesi için yapılandırma ayarları yer alır. İkinci bölümde ise IK dan çekilen verilerin portal a aktarılması için gerekli ayarlar anlatılacaktır.
Yapılacak işlemler sırasıyla; SQL veri tabanındaki bir tablodan verilerin FIM veri tabanına aktarılması ve daha sonra bu verilerin FIM portalına aktarılması şeklindedir.
IK veri tabanında yer alan tablomuzda beş adet kayıt vardır. Tablo ismi dbo.personel dir. Aynı zamanda birde view bulunmaktadır. FIM için ikisini de kullanabiliriz.
Kayıtlarda kullanıcıların personel numarası, adları, soyadları, hesap isimleri, telefon numaraları ve unvanları yer alır. Personel numarası eşsiz bir değerdir ve herkes için farklıdır. Aynı zamanda primary key içerir. Verilerin eşleştirilmesi bu kolona göre yapılacaktır. Sizlerin de bu tür bir kolonunuz mutlaka olmalıdır.
FIM 2010 senkronizasyon hizmeti yönetim aracını açıyoruz. Yeni bir yönetim ajanı (MA) yaratacağız.
Bu MA nın bir SQL Server bağlantısı olacağını belirtiyoruz ve bir isim giriyoruz.
“Primary conenction” bölümüne IK veri tabanı ve sunucu bilgilerini giriyoruz. Bu bölümde tablo ya da view kullanabiliriz.
En alttaki bölümde ise bağlantı için gerekli olan kullanıcı bilgilerini giriyoruz.
Bağlantı başarılı bir şekilde gerçekleşirse eğer tablomuz içerisinde yer alan kolonlar gelecektir.
“Set Anchor” seçeneğini seçiyoruz.
Personel numaralarını içeren kolonu seçiyoruz. Hatırlarsanız bu kolon eşsiz değer içeren primary key i bulunduran bir kolondur.
FIM yazılımı anchor değerini baz alarak işlem yapacak. Her kullanıcıyı buna göre sınıflandıracaktır.
Aynı bölümde en altta yer alan “Object Type” ı seçiyoruz.
“Person” olarak bırakıyoruz. SQL veri tabanında kişiler seçileceği için bu ayarı yaptık. İlerde de bu nesneye göre eşleştirme yapacağız. Bu yüzden oldukça önemlidir.
Bir sonraki bölüm filtreleme bölümüdür. Bir ayar yapmadan geçiyoruz.
“Join and Projection Rules” bölümüne geçiyoruz. Bu bölümde verilerin FIM veri tabanına aktarılması için gerekli olan kuralları belirleyeceğiz.
“New Join Rule” seçeneği ile kuralımızı hazırlıyoruz.
Personel numaralarına göre giriş yapılacağından sol taraftan personelno veri kaynağı başarımını seçiyoruz. Sağ tarafta ise hazır gelen ve FIM tarafından tanınan nesne türleri vardır. Buradan uygun olanı seçmemiz gerekiyor. En uygun seçeneklerden biri “Employee ID” türüdür. Bu nesne türünü de ilerde birçok yerde kullanacağız.
“Add condition” ile ekleme yapıyoruz.
“New projection Rule” ile verilerin bu seferde gönderilmesi ile ilgili bir kural belirleyeceğiz.
“Person” ı seçiyoruz.
İlk yarattığımız kuralı seçip “edit” seçeneği ile değişiklik yapmamız gerekiyor. Çünkü metaverse nesne türü “any” yani herhangi birini göstermektedir. Burası person olmalıdır.
Sağ taraftan “person” ı seçip onaylıyoruz.
“ Configure Attribute FLow” bölümüne geçiyoruz. Bu bölüm SQL server da yer alan tablomuzdaki veriler ile FIM yapımızdaki attibute ları eşleştireceğimiz bölümdür.
Örneğin sizin ad diye bir kolonunuz var ise bunu FIM yapısındaki FirstName ile eşleştirmemiz gerekmektedir. Çünkü FIM tablo isimlerine göre işlem yapamaz. Aynı zamanda bu eşleme farklı veri kaynaklarına (active directory, oracle, Exchange vb) verilerin gönderilmesine de yardımcı olur.
Veri kaynağı ve metaverse kaynağı bölümünde “person” seçili olmalıdır.
Sol tarafta SQL Serverdaki tablomuzdan çekilen kolonlar vardır. Tek tek bunları metaverse nesneleri ile eşleştirmeliyiz.
“Ad” kolonunu seçiyoruz ve sağ taraftan en uygun olan “FirstName” nesne türünü seçiyoruz. “New” seçeneği ile ekleyebilirsiniz.
Aynı yöntem ile diğer kolon isimlerini de eşleştiriyoruz.
Son olarak domain ismini de eklemememiz gerekmektedir. “Mapping Type” ı “advanced” olarak seçiyoruz. Sağ bölümden “domain” nesne türünü seçip “New” seçeneğine tıklıyoruz.
“Constant” bölümüne domain ismini yazıp onaylıyoruz.
Bu bölüm ile ilgili işlemlerimiz bitiyor. Geri kalan iki bölüm ile ilgili herhangi bir değişiklik yapmamıza gerek yoktur. MA mızın oluşturuyoruz.
Birinci kısmı bitirmiş olduk. Diğer kısımda FIM portal için MA oluşturup verilerimizi aktaracağız.
https://ortacdemirel.com/sql-server-dan-forefront-identity-manager-portal-a-veri-aktarimi-bolum-2