ERP sistemlerinde veri güvenliği büyük önem arz eder. Her kullanıcının bütün formlara ve veriler ulaşması istenmez. Örneğin maaş verilerinin sadece İK departmanında belirli kişilerce görüntülenmesi ve işlemleri sadece izin verilen kullanıcıların yapması istenir. Bunun yanında kullanıcılar ihtiyaç duyduğu form, buton ve raporlara da sorunsuz olarak erişebilmeli ve işlem yapabilmelidir. AX’ ta da ilk versiyondan beri yetkilendirmeye büyük önem verilmiş ve her yeni versiyonda bir yenilik getirilmiştir.
AX 2012’ de yeni bir güvenlik yapısı geliştirildi. Rol tabanlı güvenlik ismi verilen yeni sistemde AX’a bağlanan her kullanıcının bir role bağlanması gerekiyor. Bir role atanan kullanıcı o role verilmiş görev ve ayrıcalıklar üzerinden form ve tablolara erişebiliyor. Kullanıcı herhangi bir role atanmazsa hiçbir tablo ve forma erişim yetkisi olmuyor.
Rol tabanlı güvenlik yapısı iş süreçlerine uyumlu bir şekilde çalışır. Kullanıcılar şirketteki sorumluluklarına ve iş süreçlerindeki yerlerine göre rollere atanırlar. Sistem yöneticisi erişim izinlerini programdaki bir element yerine rol içindeki tanımlı bir göreve verir. Görev üzerinden tanımlama daha parametrik bir yapı sağlar. Yetki değişikliklerinde teker teker kullanıcı veya roller üzerinden değiştirmek yerine görev üzerinden yetki değiştirmek çok daha kolaydır.
Rol tabanlı güvenlik yapısı hiyerarşik bir yapıdadır. Hiyerarşideki her bir element farklı bir detay seviyesini temsil eder. Güvenlik izinleri (Permissions) hiyerarşinin en alt kısmındadır ve tablo, menü öğesi gibi nesnelere erişim izinleri güvenlik izinleri ile yönetilir. Güvenlik ayrıcalıkları (Previleges) AX içindeki işlemleri yapabilmek için güvenlik izinlerinin birleşiminden oluşan yapıdır. Görevler (Duties) ayrıcalıkların birleşimidir ve belirli bir departmanın iş süreçlerini temsil eder. Görevler de daha düzenli bir çalışma için Süreç döngüleri (Process cycles) altında toplanır ve bu sayede daha iyi yönetim sağlanır. Tanımlanan görev ya da ayrıcalıklar rollere verilerek o role bağlı kullanıcıların formlara ve tablolara erişmesi sağlanır. Rol tabanlı güvenlik yapısı ve öğeleri aşağıdaki şekilde görselleştirilebilir.
Güvenlik Rolleri
AX’ a bağlanabilmek için her kullanıcı en az bir role bağlanmalıdır. Kullanıcının bağlandığı rol ile hangi formlara erişeceği ve hangi işlemleri yapabileceği belirlenmiş olur. Erişim yetkilerinin rol üzerinden yapılması sistem yöneticileri önemli zaman tasarrufu sağlar. Teker teker her kullanıcının yetkisini belirlemektense rol bazında tanımlama yapmak çok daha pratiktir. Örneğin insan kaynakları uzmanı isimli bir rol tanımlandığında bu işi yapan kişi değiştiğinde yeni kişiye tekrar yetki tanımlamak yerine bu kişi ilgili role atanarak yetkisi tanımlanmış olabilir.
Güvenlik rolleri hiyerarşik bir yapıda da tanımlanabilir. Örneğin Yönetici rolünden Satış yöneticisi rolü tanımlanarak Yönetici rolünün görev ve ayrıcalıklarını otomatik olarak alması sağlanır. İstenen ek görev ve ayrıcalıklar Satış yöneticisi rolüne eklenebilir.
Sistemde varsayılan olarak birçok rol tanımlanmıştır. Standart form, tablo ve raporlar için bir çok alanda rol bulunmaktadır. Yeni geliştirilen formlar için ya yeni roller tanımlanmalı ya da mevcut rollerin görev ve ayrıcalıklarına eklenmelidir.
Süreç Döngüleri
İş süreçleri, çalışan ya da birimlerin organizasyonlarını amaca ulaştırmak için ekonomik kaynakları kullandıkları, ürettikleri, tükettikleri koordine edilmiş bir dizi aktivitelerdir.
Sistem yöneticilerine yetki tanımlarken kolaylık sağlamak amacıyla görevler bağlı oldukları iş süreçlerine göre gruplandırılmıştır. İş süreçlerinin güvenlik yapısındaki karşılığı döngü süreçleridir. Örneğin Satınalma döngüsünde Satınalma talebi onaylama, Satınalma siparişi oluşturma gibi görevler vardır.
Süreç döngüleri sadece görevlerin mantıksal gruplandırması için kullanılır. Doğrudan bir role süreç döngüsü atanamaz.
Görevler
Görevler iş süreçlerinin bir parçasıdır. Sistem yöneticisi tanımlanan görevleri rollere atar. Bir görev birden fazla role atanabilir.
Dynamics AX güvenlik yapısında roller güvenlik ayrıcalıklarını içerir. Örneğin “Satınalma siparişi onaylama” görevi “Sipariş onaylama” , “iş akışını iptal etme” , “Sipariş ayrıntılarını görüntüleme” gibi güvenlik ayrıcalıklarını içerir. Görevler de güvenlik ayrıcalıkları da rollere atanabilir. Ama doğru olan görevlerin rollere atanmasıdır.
Güvenlik Ayrıcalıkları
Dynamics AX güvenlik modelinde güvenlik ayrıcalıkları, bir işlemi gerçekleştirmek, bir problemi çözmek ya da bir atamayı yapmak için ihtiyaç duyulan erişim düzeyini belirler. Yani formlara ve menü öğelerine erişim ayrıcalıklar üzerinden tanımlanır.
Güvenlik ayrıcalıkları, tablolar, arayüz elementleri, formlar gibi uygulama nesnelerine erişimi sağlayan İzinleri içerir. Örneğin Sipariş onaylama ayrıcalığı bir siparişi onaylamak için gereken menü itemlar ve butonlara erişimi sağlayan izinleri içerir.
Sistemde standart form ve tablolar için tanımlanmış birçok Güvenlik ayrıcalığı hazır olarak bulunmaktadır. Yeni tablo ve formlar için güvenlik ayrıcalıkları tanımlanmalıdır.
İzinler
Dynamics AX’ taki form, servisi gibi her fonksiyona bir giriş noktası ile erişilir. Menü itemlar, web içerik öğeleri ve servis operasyonları birer giriş noktasıdır.
Güvenlik yapısında izinler, bir fonksiyonu gerçekleştirmek için gerekli olan erişim seviyelerini ve güvenli nesneleri içerir. İzinler hiyerarşinin en altında yer alan yapıdır. Tablo, form, alan, buton gibi nesnelere giriş noktaları aracılığıyla ulaşılır.
Buraya kadar anlatmış olduğumuz güvenlik yapılarının birbiriyle ilişkisi aşağıdaki şekilde genel olarak gösterilmiştir.
AX 2012’ de kullanılan güvenlik mimarisinin genel yapısından bahsettik. Sonraki yazılarımızda her bir güvenlik yapısını detaylı olarak ele alacağız.