Etiket: dynamics ax 2012

Dynamics AX 2012 Yetkilendirme Best Practiceleri

Dynamics AX 2012 Yetkilendirme Best Practiceleri

Önceki yazılarda Dynamics AX 2012’ nin yetkilendirme mimarisinde yer alan kavramlar detaylı olarak anlatılmıştı. Bu yazımızda ise yetkilendirme sürecinde izlenmesi gereken best practiceler hakkında bilgi vermeye çalışacağım.

Rol tabanlı güvenlik mimarisinin en güçlü yönlerinden birisi de ayrıcalık ve görev gibi yetkilendirme nesnelerinin farklı görev ve rollerde tekrar tekrar kullanılabilmesidir. AX’ ın standartlarına göre hareket edip ayrıcalık ve görev tanımları doğru kapsamda yapılırsa ciddi anlamda iş gücü ve zaman tasarrufu sağlanacaktır. Aksi taktirde tek rol, tek görev ve tek ayrıcalık tanımlanarak kolaya kaçılırsa her yeni rol ihtiyacında tekrar bütün nesnelere yetki verilecek olan ayrıcalık ve görev tanımlaması yapılmak zorunda kalınacaktır. Aynı zamanda fonksiyon ve ekran bazlı farklı ayrıcalıkların tanımlanması ve bunların mantıksal olarak gruplanarak anlamlı görevlerin oluşturulması yetki atama işlerinin kolayca sistem yönetimi ekiplerine aktarılmasını sağlayacaktır. Bununla birlikte denetim faaliyetlerinde de şeffaflık ve hesap verilebilirlik yönünden tatmin edici sonuçlar ortaya çıkaracaktır.

AX’ ta yetkilendirme sürecinde best practiceleri anlama noktasında standartta gelen rol, görev ve ayrıcalıkları incelemek işleri ciddi anlamda kolaylaştırmaktadır. Standart bir rol ve altındaki görev ve ayrıcalıklar incelenirse AX’ ın nasıl bir yapıda yetkilendirme ile verimli olacağı kolayca anlaşılabilir. Bu yüzden zorlanılan noktalarda standartı incelemek her zaman çözüm hakkında fikir verecektir.

Örneğin standartta yer alan “Maliyet muhasebeci” rolü altında yer alan görevler incelenirse görevlerin nasıl tanımlanması ve ayrıştırması gerektiği anlaşılabilir.

Maliyet_muhasebeci

Yine bu rolün altında yer alan “Maliyet muhasebesi hesaplama durumunu sorgula” görevinin altında yer alan ayrıcalıklar incelenirse ayrıcalık tanımlarının nasıl yapılacağı ve hangi detayda ayrıştırılacağı görülebilir.

görev

Yetkilendirme sürecinde best practiceler açısından dikkat edilmesi gereken en önemli husus standartta yer alan rol, görev ve ayrıcalıkların mümkün olan her yerde kullanılmasıdır. Mümkün olduğu halde standart nesneleri kullanmayıp yeni nesneler oluşturmak gereksiz efor ve nesne kirliliğine yol açacaktır.

İş birimleri tarafından yetkilendirme ile ilgili bir ihtiyaç iletildiğinde ya da bir ekran ya da fonksiyona yetki talebi iletildiğinde izlenmesi gereken adımlar şu şekilde olmalıdır:

1. Bir Nesneye Yetkili Olan Rolleri Bulma

Yetkilendirme nesnelerini oluşturmaya başlamadan önce mevcutta ilgili nesneye yetkili olan bir rol var mı mutlaka kontrol edilmelidir. Mevcutta ihtiyacı karşılayan bir rol var ve rolün o kullanıcıya atanmasında bir sakınca yoksa mevcut rol kullanılmalıdır.

Herhangi bir nesneye yetkili olan rolleri, görev ve ayrıcalık detayında görüntülemek için AOT üzerinde ilgili nesne üzerine sağ tıklanarak Add-Ins > Güvenlik Araçları > İlgili güvenlik rollerini görüntüleme tıklanır.

rolbulma

Açılan formda sorgulanan menu itema hangi yetki nesnelerinin erişebildiği rol, alt rol, görev, ayrıcalık ve erişim tipi detayında listelenir.

sorgulama

Bu sorgulama formu sayesinde kullanıcılardan gelen yetki taleplerinde ilgili nesneye yetkili olan roller görüntülenerek uygun olan bir rol seçip ataması yapılabilir. Aynı şekilde herhangi bir form ya da fonksiyon özellikle bazı kullanıcılar haricinde kısıtlanmak istendiğinde yine bu sorgulama formundan faydalanılarak hangi rollerin erişim yetkisine sahip olduğu görüntülenir ve olmaması gereken bir erişim yetkisi tespit edilirse ilgili güvenlik nesnesi güncellenerek istenen kısıtlama yapılabilir.

2. Mevcut Rol İlgili Kullanıcıya Atanabilir mi Kontrolü

Yetki istenen nesneye erişebilen güvenlik rollerini görüntüledikten sonra ilk olarak mevcutta olan bir rol seçilmeli ve bu rol Security development tool üzerinden test workspaceinde açılarak ya da test ortamında rol kendi kullanıcınıza atanarak açılmalıdır. Rolün erişebildiği menuler, formlar, fonksiyonlar kontrol edilerek yetki talep eden kullanıcıya atanmasında bir sakınca var mı değerlendirilmelidir. Eğer rol kullanıcıya atamak için uygunsa atanmalı ve yeni nesne geliştirilmemelidir. Eğer rolün kullanıcıya atanmasında sakınca var ise bir sonraki kontrol adımına geçilmelidir.

3. Mevcut Görev Mevcut Bir Role Ya da Yeni Bir Role Atanabilir mi Kontrolü

Yetki talep edilen nesneye mevcutta erişebilen bir rol tespit edildi ancak bu rolün kullanıcıya verilmesi uygun görülmediyse rolün altındaki görevler incelenmelidir. Seçilen bir görev kullanıcının hali hazırda sahip olduğu bir role eklenebilir mi kontrol edilmelidir. Görevin içerisinde kullanıcının erişmemesi gereken bir ayrıcalık, form, tablo var mı detaylı olarak analiz edilmelidir. Eğer bir olumsuzluk tespit edilmediyse ve halihazırda sahip olduğu bir role eklenmesi de uygunsa herhangi yeni bir nesne geliştirilmemeli mevcut görev istenen role eklenmelidir.

Tespit edilen görevin mevcut role atanmasında sakınca görülürse yeni bir rol tanımlanmalı ve mevcut görev yeni role atanmalıdır.

Eğer ilgili nesneye erişebilen görevilerin kullanılmasında sakınca var ise bir sonraki kontrol adımında geçilmelidir.

4. Mevcut Ayrıcalık Mevcut Bir Göreve Ya da Yeni Bir Göreve Atanabilir mi Kontrolü

Yetki talep edilen nesneye mevcutta erişebilen bir görev tespit edildi ancak bu görevin mevcut ya da yeni bir role eklenmesi uygun görülmediyse görevin altındaki ayrıcalıklar incelenmelidir. Seçilen bir ayrıcalık kullanıcının hali hazırda sahip olduğu rollerin altındaki görevlerden birine eklenebilir mi kontrol edilmelidir. Ayrıcalıkların içerisinde kullanıcının erişmemesi gereken bir form, tablo var mı detaylı olarak analiz edilmelidir. Eğer bir olumsuzluk tespit edilmediyse ve halihazırda sahip olduğu bir rolün altında yer alan göreve eklenmesi de uygunsa herhangi yeni bir nesne geliştirilmemeli mevcut ayrıcalık mevcut bir göreve ya da yeni bir göreve eklenmelidir.

Tespit edilen ayrıcalığın mevcut göreve atanmasında sakınca görülürse yeni bir görev tanımlanmalı ve mevcut ayrıcalık yeni göreve atanmalıdır.

Eğer ilgili nesneye erişebilen ayrıcalıkların kullanılmasında sakınca var ise yeni bir ayrıcalık geliştirilmeldir. Ancak bu noktada yeni bir ayrıcalık oluşturulmadan önce önceki adımlar iyice kontrol edilmelidir. Çünkü AX’ ta yer alan neredeyse her form ve fonksiyon için en az bir ayrıcalık standart pakette sunulmuştur. Birçok formda ise hem görme hem de silme için ayrı ayrı ayrıcalık tanımlanmıştır. Standart nesneler için bu kadar ayrıcalık tanımlanmışken ihtiyaç duyulan nesneye uygun bir ayrıcalık bulunamadıysa tekrar kontrol edilmelidir.

5. Yeni Yetki Nesneleri Oluşturmak

Yetki talep edilen nesneye mevcutta erişebilen rol, görev ya da ayrıcalık bulunamadıysa yeni bir ayrıcalık oluşturulmalıdır. Bu noktada standart ayrıcalıklar referans alınarak best practicelere uygun hareket edilmelidir. Ayrıcalık oluştururken kişi bazlı düşünüp o kişinin ihtiyaç duyduğu tüm nesneleri tek bir ayrıcalığa vermek doğru değildir. Ayrıcalık oluştururken ekran, form ya da fonksiyon bazlı düşünülmelidir. Mümkün mertebe her form, ekran, rapor, fonksiyon için en az bir ayrıcalık oluşturulmalıdır. Görüntüleme ve tam kontrolün ayrılabileceği yerlerde iki ayrı ayrıcalık oluşturulmalıdır. Bu sayede custom nesnelere yetki verilmek istendiğinde her seferinde yeniden geliştirme yapılmasına gerek kalmayacaktır. Custom nesne için yapılan ayrıcalık ve görevler tekrar tekrar kullanılabilecektir. Ayrıcalık, görev ve rol oluşturulurken de her birinin ayrı ayrı anlamlı ve kullanılabilir olmasına dikkat edilmelidir.

Reklamlar
Task Recorder AX 2012- Kurulum ve Konfigürasyon

Task Recorder AX 2012- Kurulum ve Konfigürasyon

ERP projelerinde analiz, tasarım, geliştirme ve test süreçleri tamamlandıktan sonra en önemli aşama son kullanıcı eğitimleridir. Son kullanıcıların yeni sistemi iyi anlayıp benimsemeleri ERP projesinin başarısı için büyük önem arz eder. Ne kadar güzel analiz edilmiş olursa olsun, ne kadar iyi bir çözüm geliştirilmiş olursa olsun kullanıcılar tarafından benimsenip kullanılmadıktan sonra yeni sistemin şirkete bir faydası olmaz.

Microsoft, Dynamics AX projelerinde danışmanların daha hızlı, daha anlaşılır ve daha kaliteli eğitim dokümanları hazırlayabilmeleri amacıyla Görev Kaydedici ismini verdiği bir uygulamayı kullanıma sunmuştur. Görev kaydediciyi kullanarak son kullanıcılara AX’ ta bir işi nasıl yapacaklarını anlatan Microsoft Word dokümanı ve videolar oluşturabilirsiniz. Aynı zamanda dokümanlar için şablonlar oluşturarak Görev kaydedici aracılığıyla ürettiğiniz dokümanların aynı formatta olmasını sağlayabilirsiniz.

Görev kaydedicinin ilk sürümünde sadece tek bir mod yer alırken Haziran 2013’ te yayınlanan güncellenmiş versiyonunda temel ve gelişmiş olmak üzere iki mod kullanıma sunulmuştur. Gelişmiş modda sadece Word dokümanı ve video değil süreci anlatan akış şemalarını da içeren ek materyaller sunmaktadır. Oluşturulan süreç akış diyagramları Lifecycle Services’ ta yer alan Business process modeler uygulamasına yüklenebilir.

Task Recorer İndirilmesi ve Kurulumu

Microsoft Dynamics AX 2012 R3 versiyonunda güncellenmiş versiyon halihazırda kurulu olarak gelmektedir. R2 ve öncesi versiyonlar için bir hotfix olarak indirilmeli ve yüklenmelidir. İlgili versiyonlar için linkler:

Basic ve Advanced Mod

Görev kaydedicinin güncellenmiş versiyonu iki mod içerir:

Basic mod: Tanımlanan süreç için bir Word dokümanı ve video dosyası oluşturur.

Advanced mod: Word dokümanı ve videonun yanında Lifecycle Services’ e yüklenebilecek bir paket oluşturur. Oluşturulan pakette hiyerarşi, proses, AOT metadatası, Word dokümanı ve video yer alır. Bu paketteki en önemli detay Business process modeler’ a yüklenebilen süreç akış diyagramıdır.

Ön Koşullar

Görev kaydedicinin güncel versiyonunu kullanabilmek için çalıştığınız makinede aşağıdaki uygulamaların yüklü olması gerekir:

  • Windows Media Player
  • Word
  • Microsoft Dynamics AX Client ve Application Object Server (AOS):
    • Temel modda: AX client ve AOS server farklı makinelerde yüklü olabilir.
    • Gelişmiş modda: AX client ve AOS server aynı makinede yüklü olmalıdır. Yani AOS’un yüklü olduğu makinede çalışıyor olmanız gerekir.

Ek olarak, task recorder kullanan kullanıcıların oluşturulan dosyaların kaydedildiği klasöre yazma yetkisinin olması gerekmektedir. Yine advanced modda bunlara ek olarak Microsoft Office yüklü olmalı ve AOS servis hesabı ilgili klasöre yazma yetkisine sahip olmalıdır.

Task Recorder Basic Mod Konfigürasyonu

Task recorderı temel modda kullanabilmek için öncelikle aşağıdaki adımları izleyerek parametreleri ayarlamanız gerekiyor.

Ana ekranın sol üst kısmında yer alan File menüsü açılarak Tools > Task recorder tıklanır.

tr-1

Task recorder formu açılır. Bu form task recorderın ana formudur. Çoğu işlem bu form üzerinden yapılır. İki sekmesi bulunan formun Record sekmesinde seçilen Framework ve Industry için tanımlanan süreçler listelenir. ActionPane kısmında da bu süreçler ile ilgili işlem yapmak için kullanılan butonlar bulunur.

tr-2

Task recorderı kullanmadan önce parametreler tanımlanmalı ve gerekli diğer tanımlamalar yapılmalıdır. Bunun için Task recorder formunun Settings sekmesine geçmeliyiz.

tr-3

Parametreleri tanımlamak için Settings sekmesinde Setup alan grubunda yer alan Parameters butonuna tıklanır.

tr-4

Task recorder parametrelerinde öncelikle kaydedilen Word ve video dosyalarının yazılacağı klasör belirlenmelidir. Bunun için Recording file path alanında dosyaların kaydedileceği dizin seçilir.

Oluşturulan Word dokümanlarının belirli bir formatta olması isteniyorsa şablon olarak kullanılacak bir doküman Template file path alanında belirtilen dizine yüklenir.

Task recorder formunda süreçler bir Framework-Industry kombinasyonunda oluşturulur. Ve bu kombinasyonların parametreleri Hierarchy levels detayında ayarlanır. Framework’ ü herhangi bir alanda bir kurum standartları gibi düşünebiliriz. Industry ise sektörü temsil etmektedir. Bunlar tamamen mantıksal sınıflandırmalardır. Siz belli bir sektör standartları kullanmak istemiyorsanız tek bir Framework-Industry yapısı tanımlayabilirsiniz. Şimdi Industry, Framework ve Hierarchy Levels kavramlarını açıklayalım.

Industry

Task recorderı kullanabilmek için öncelikle en az bir Industry tanımlamalısınız. Ya da daha önce oluşturulmuş olan packagelardan veya  Lifecycle Services’teki Business process modeler toolunda yer alan hazır packagelerdan import edebilirsiniz.

Industry tanımlamak için Task recorder formunun Settings sekmesinde Setup alan grubunda yer alan Industry butonuna tıklanarak Industry parameters formu açılır.

tr-5

Industry parameters formunda Task recorder industry code alanında bir kod ve Name alanında bir isim girilerek Industry tanımlanmış olur.

Framework

Task recorderı kullanabilmek için öncelikle en az bir Framework tanımlamalısınız. Ya da daha önce oluşturulmuş olan packagelardan veya  Lifecycle Services’teki Business process modeler toolunda yer alan hazır packagelerdan import edebilirsiniz.

Framework tanımlamak için Task recorder formunun Settings sekmesinde Setup alan grubunda yer alan Framework butonuna tıklanarak Framework parameters formu açılır.

tr-6

Framework parameters formunda Framework alanına tanımlayıcı bir kod, Framework name alanına bir isim, Publisher alanına bu frameworku resmi olarak yayınlayan kuruluş ve Release date alanına da frameworkün yayınlanış tarihi girilerek Framework tanımlanmış olur.

Hierarchy Levels

Industry ve Framework tanımladıktan sonra bunların kombinasyonları ile yönetilen parametreler tanımlanmalıdır. Birçok özellik Industry-Framework kombinasyonuyla tanımlanan hiearchy levels detayında belirlenir.

tr-7

Hierarchy levels formunda tanımlamalar Framework-Industry kombinasyonuyla yapılır. Örneğin yukarıdaki ekran görüntüsünde APQC – Cross-Industry eşleşmesinin tanımları görüntülenmektedir.

Recording mode alanında bu hiearchy level tanımında kaydedilecek görevlerin Basic ya da Advanced modda olacağı belirtilir.

Hierarchy level alanında bir ağaç kırılımı şeklinde tanımlanan süreç ve alt süreçlerin seviye bazlı isimleri belirlenir. Seviyeler Sequence alanında belirtilir. En düşük numaralı seviye en üstte yer alandır.

Task Recorder Advanced Mode Konfigürasyonu

Advanced mode konfigürasyonu büyük ölçüde temel mode ile aynıdır. Yine aynı şekilde Framework ve Industry tanımlamaları yapılmalıdır. Aynı tanımlar advanced mode için de kullanılabilir. Farklı olarak Hierarchy levels formunda tanımlama yaparken Framework-Industry kombinasyonu tanımı için Recording Mode alanında Advanced seçilmelidir.

tr-17

Buraya kadar Task recorerın kurulumunu ve konfigürasyonunu anlatmaya çalıştık. Bir sonraki yazımızda Task recorder kullanarak temel ve gelişmiş modda kayıt yapılışını anlatacağız.