Etiket: security

Dynamics AX’ ta Bir Nesneye Yetkili Olan Rolleri Bulma

Dynamics AX’ ta Bir Nesneye Yetkili Olan Rolleri Bulma

Dynamics AX projelerinde yetkilendirme süreçlerinde çoğu zaman bir nesneye hangi güvenlik nesnelerinin yetkili olduğu bilgisine ihtiyaç duyulur. Buradaki gereksinim, yetki vermek ya da belirli bir nesneye yetkili olan kullanıcıları sınırlandırmak olabilir. Her iki gereksinime de karşılık veren basit bir özellik AOT üzerinde bulunmaktadır. Her ne kadar işlem basit olsa da projelerden tecrübe ettiğim kadarıyla birçok kişi tarafından bu özellik bilinmemektedir.

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.

view-related-security-role

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.

roller-related-to-menu-item

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.

 

 

 

 

Reklamlar
Sistem Kullanıcısı Rolü Yetki Problemi

Sistem Kullanıcısı Rolü Yetki Problemi

Dynamics AX projelerinde kullanıcıların bazı temel işlevleri yerine getirebilmeleri için tüm kullanıcılara Sistem kullanıcısı ve Şirketiçi çalışan rollerinin verilmesi tavsiye edilir. Bu sayede yetki çalışmalarında kolaylık sağlanmış olur. Ancak projemizde karşılaşmış olduğumuz bir sorun bu yetkilerin de canlıya geçmeden önce tekrar kontrol edilmesi gerektiğini ortaya çıkardı.

Projemizde yetkilendirme çalışması yaparken bir genel muhasebe rolüne Finansal boyutlar ve Boyut değerleri formlarına sadece okuma yetkisi vermemize rağmen ilgili role atanan kullanıcının silme yetkisine sahip olduğunu gördük. Detaylı olarak analiz ettik, tüm menü itemları, tablo yetkilerini inceledik. Tüm yetkiler doğru tanımlanmış gözüküyordu. Daha sonra kullanıcıdan Sistem kullanıcısı ve Şirketiçi çalışan yetkilerini kaldırarak denediğimizde boyut formlarında sadece okuma yetkisiyle yani istediğimiz şekilde çalıştığını gördük. İki rolü detaylı inceleyince sorunun Sistem kullanıcısının altında yer alan DimensionEssentials privilege inden kaynaklandığını gördük. DimensionEssentials privilege ini AOT den açıp Permission > Tables nodunun altına bakılırsa birçok tabloya yetki verildiği görülüyor.

sis-1

Bunların birçoğu Read yetkisinde ama aralarında finansal boyutlar ve hesap tablosu gibi bazı önemli tablolarda Create ya da Delete yetkisi verilmiş.

sis-2

Finansal boyut tablolarınının sadece görecek şekilde kısıtlanması için aşağıdaki tablolarda erişim seviyesininin Create den Read e getirilmesi gerekiyor:

  • DimensionAlias
  • DimensionAttribute
  • DimensionAttributeLevelValue
  • DimensionAttributeSet
  • DimensionAttributeSetItem
  • DimensionAttributeValue
  • DimensionAttributeValueCombination
  • DimensionAttributeValueCombinationStatus
  • DimensionAttributeValueConsolidation
  • DimensionAttributeValueCostAccounting
  • DimensionAttributeValueFinancialStmt
  • DimensionAttributeValueGroup
  • DimensionAttributeValueGroupCombination
  • DimensionAttributeValueGroupStatus
  • DimensionAttributeValueSet
  • DimensionAttributeValueSetItem
  • DimensionAttributeValueTotallingCriteria
  • DimensionFinancialTag
  • DimensionAttributeValueConsolidation

Aslında sadece DimensionAttributeValue ve DimensionFinancialTag tablolarını kısıtlayınca sorun çözülüyor. Tedbir amaçlı diğer tabloları da read seviyesine çektim. İhtiyaç duyulursa değiştirilebilir. Ancak bu tabloların yetkilerinin Sistem kullanıcısı yerine spesifik bir rol üzerinden verilmesi gerektiğini düşünüyorum.

Hesap tablolarınının sadece görecek şekilde kısıtlanması için aşağıdaki tablolarda erişim seviyesininin Create den Read e getirilmesi gerekiyor:

  • MainAccount
  • MainAccountControlPosting

Bunların haricinde diğer tablolar da kontrol edilip ihtiyaca göre erişim seviyesi düzenlenebilir.

AX 2012 Güvenlik Mimarisi (Rol Tabanlı Güvenlik)

AX 2012 Güvenlik Mimarisi (Rol Tabanlı Güvenlik)

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.

Continue reading “AX 2012 Güvenlik Mimarisi (Rol Tabanlı Güvenlik)”