MIM MPR WorkFlows ve Sets

MIM MPR WorkFlows ve Sets yazımızda sizlere detaylı olarak bu üç kavramın önemi ve detaylarından bahsedeceğim. MIM Service yani Portal ortamında verilerin düzgün şekilde oluşturulması ayrıca verileri customize etmemize olanak sağlayan bu kavramlar bizler için önemlidir. Haydi geçelim bu kavramlara.

Sets

Sets aslında group olarak düşenebilirsiniz. Belli kurallara göre dinamik veya manuel oluşturabilecek portalda bulunan objelerin gruplanmasını sağlamaktadır. MIM açısından bakıldığında bazı gruplara giriş yapan veya çıkan userların kural uygulanması için ilk aşamadır. Örnek olarak aktif olan kullanıcılar , employee end date olan kullanıcılar , email hesabı olmayan kullanıcılar gibi düşünebilirsiniz. Bu aşamada sizlere dinamik set oluşturmayı göstereceğm.

Portalde Management Policy Rules altında bulunan Sets kısmına gelerek , New seçeneği ile set oluşturmaya başlıyoruz. İlk aşamada Set adını Display Name giriş yapıyoruz. Sonrasında Next ile devam ediyoruz.

MIM MPR WorkFlows ve Sets

Sonraki aşamada Criteria-based Members kısmı aslında bizlere dinamik grup olarak karşımıza çıkmaktadır. Burada enable butona tıklarsak dinamik grup oluşturabiliriz. Eğer manual oluşturmak istersek enable tick kaldırıp manuel olarak oluşturabiliriz. Bizler genellikle criteria göre grup oluştururuz. Resoruce type istenilen type seçilmektedir user için ise user seçilir.

MIM Create Sets

Sizlere tek örnekte bütün özelliklerini anlatmak istedim.

Select user match “all” veya “any” following conditions kısmında all veya any ile and/or gibi kullanabiliriz. Sonrasında aşağıdaki örnekte;

  • Account Name starts with % ile , account name herhangi bir karakter bulunmasıdır. Bunun tersi ise not starts with ile boş olması demektedir.
  • Display Name is, is not, ends with gibi birçok eşitleme parametresi kullanabiliriz. Örnekte Display Name koray olanı filtreledik.
  • Boolen olan attribute larda true/false gibi parametreleri kullanabiliriz. Örnekte _ActiveDirectoryExist attribute’unda true olması yani ticklenmiş olması filtreledik.
  • Bir üst kısmında ise Sub condition örneği oluşturabiliriz. Yani Job title ve departmant beraber eşleşmesi gerekir gibi bir durum oluşmuştur.
Set Details

Sets’leri aslında veri customizationda neye göre oluşturuyoruz. Örnekler olarak Portala yeni gelen bir kullanıcının accountname bulunmamaktadır. Bu bizim için önemlidir. AccountName olmayan kullanıcı aslında AD ye senkronize olamayacağı için bunun setini oluşturup belli kurallar ile bu user’a accountname create ediyoruz. Ya da Employee Status aktif veya pasif kullanıcıları listeleyerek kullanıcının disable edilmesi veya enable edilmesi sağlanabilmektedir. Şimdi diğer kavramımıza geçelim.

Workflows

MIM MPR WorkFlows ve Sets yazımızın ikinci aşaması Workflows kısmı bizim action merkezimizdir. Burada attributelara actionlar uygulanarak veri şekillendirmesi gibi birçok işlem yapmaktayız. Aşağıdaki resimde Workflow create aşamasına nasıl gelindiğini göstermektedir. Bir sonraki resimde her şeyi çok daha iyi anlayacağız. Buradaki Run on Policy Updates kısmı MPR ile beraber tekrar anlatacağım.

MIM MPR WorkFlows ve Sets

Aşağıda action olarak birçok madde gözükmektedir. Unique value oluşturmaktadan , Powershell scripts, Attributeların update gibi birçok tip action vardır. Bizlerin senaryolarına göre uygun olan seçilmektedir. Örnek olarak accountname unique bir değer olacağı için Generate Unique Value kullanılmaktadır. Belli koşullarda Herhangi bir attribute update edilecekse Update Resource gibi. WAL yazan actionlar bizlere MIM WAL sağladığı action tipleridir. MIM Wall deployu github üzerinden indirerek yapabilirsiniz.

MIM Create Workflow

Sizlere örnek olması için 3 adet Workflow göstereceğim.

Country Attribute TR olarak Güncelleme

WAL: Update Resources seçimini yaparak başlıyoruz. Value Expression kısmına “TR” olarak giriş yaptım. Target kısmına [//Target/Country] peki bu targetları veya expressiondaki ifadeleri nasıl yazacaksınız. Bunun için MIM WALL Wiki’de tüm expressionlar için açıklama vardır.

Unique Account Name Oluşturma

Account Name benzersiz olması bizler için önemlidir. Bu aşamada benzersiz bir AccountName oluşturmayı göstereceğim.

Target for Generated Value: Hangi attribute oluşacağı seçiyoruz tabiki de accountname kısmınadır.

Conflict Filter: Bu saşamada XPATH kullanılarak Portalda bulunan accountname’leri kontrol sağlatabiliriz.

Uniqueness Key Seed: Benzersiz olması için rakam eklemesi yapabiliriz.

En önemli Kısmı Value Expression kısmında Benzersizliği yakalamak için denemeleri giriyoruz.

  1. LowerCase(NormalizeString([//Target/FirstName] +”.”+ [//Target/LastName])) kısmında İlk olarak küçük harfler kullanılarak firstname.lastname denemesi yapılmaktadır.
  2. LowerCase(NormalizeString([//Target/FirstName] +”.”+ [//Target/LastName]) + [//UniquenessKey]) kısıma geçilirse firstname.lastname2 olarak denenecektir.

Burada value expression değerleri attırılabilmektedir. Ben sizlere örnek olması için paylaştım. 1. denenir eğer unique değilse 2. expression geçiş yapılır en son unique bulunursa orada durur ve attribute’a yazar.

Random Password Oluşturmak

Yine update action kullanılarak GenerateRandomPassword fonksiyonu kullanılarak random password oluşturulabilmektedir. Benim ortamımda Custom _TMPPass attribute’na yazmaktayım.

GenerateRandomPassword(x): x kaç karakter olacaksa giriş yapılmaktadır.

MIM  WorkFlows Example 3

Workflows tarafında çok fazla örnek verilebilir fakat bunları bu makaleye yazmakla bitmez. O yüzden sizlere örnek olması için bir kaç tane paylaşım yaptım. Ama ilerdeki birçok yazımda sizlerde örnekler bulacaksınız. Sıra geldi MPR kısmına.

Management Policy Rules

Management Policy Rules aslında bizim için Policy Merkezidir. Çok farklı amaçlar için kullanılmaktadır. Bunlar;

  • Portaldaki attributelara , kaynaklara erişim yetkilendirilmesi
  • Senkronizasyon attribute yetkilendirmesi
  • Administrator kullanıcıların yetkileri
  • En En çok kullanılan Workflow ile Setlerin birleştirilmesi. Bu sayede belli setlere dahil olan veya çıkan objelere workflowlar uygulanabilmesi
  • Yine çok kullanılan özelliği Attribute değişikliklerine bağlı olarak workflow uygulanmasıdır. bunun gibi birçok aşamada kullanılmaktadır.

MPR Oluşturmak için Management Policy Rules kategorisinden New olarak işaretlemekteyiz. Karşımıza 2 adet Type çıkmaktadır.

  1. Request: Herhangi bir attribute değişikliği gibi gelen isteğe göre
  2. Set Transition: Daha önce gösterdiğimiz Sets lere herhangi bir giriş veya çıkış için kullanılmaktadır.
MIM MPR WorkFlows ve Sets

Bu iki type’da yazıda detaylı olarak göstermeye çalışacağım.

Request

Request gelen isteğe göre Workflows ların uygulanması olarak düşünülebilir.

  • Requestor: Bu isteği yapacak olan set belirlenmesidir.
  • Operation kısmında: aslında bu rule sonuç olarak neler yapabilir bu belirlenmektedir. Örnekte read ve modify etme yetkisi verildi.
MIM MPR Details

Target resource kısmında ise ;

Before Request ‘de öncesinde hangi set içerisinde , After Request sonrası hangi set gireceği belirlenmektedir. Aynıda olabilmektedir. Aşağıdaki Resource Attributes kısmında hangi attribute’da değişiklik olursa bu kuralın işleneceğini gösterir. Örnekte EmployeeAktif değeri değişirse gibi düşünebilirsiniz.

MIM MPR Request

Son olarak workflow seçimi yapılmaktadır.

Set Transition

Set Transition ile beraber herhangi bir set içerisine giriş veya çıkışla uygulanacak policy’in berlirlenmesidir. Transition Type set’e giriş yani in veya set’den çıkışı out belirlenmektedir. Diğer request’e göre olduça basittir. Bu aşamadan sonra yine workflows seçilir ve tamamlanmaktadır.

MIM MPR Sets

Önemli Notlar:

Öncellikle Workflowda olan Run on Policy Update: Aslında mevcut olan setteki memberlera uygulanması istenildiğinde seçilmektedir.

Diğer bir not ise önce set sonra workflow oluşturduğunuz ve en son MPR oluşturduğunda mevcut memberlara bunu uygulamaz. Bu sebepten dolayı MPR disable enable etmek gerekir.

MIM MPR WorkFlows ve Sets yazımız tüm bu süreçleri sizlere detayları anlatmak için yazıldı. Çok fazla örnek verilebilmektedir fakat diğer yazılarımı aşağıdaki linklerden takip edebilirsiniz.