SAP raporlarında alan bazlı yetki kontrolü

Ücret, maliyet veya organizasyon verisi taşıyan bir raporda karar her zaman aynı noktada verilir: hassas kolon ne olacak? İki yol var ve ikisi de toplantıda “çözüldü” diye raporlanır.

Gizlenen kolonun geri döndüğü yerler

Birinci yol kolonu çıktı düzeninden kaldırmaktır. Rapor yayına alınır, kolon görünmez, dosya kapanır. Oysa veri hâlâ okunuyordur; yalnızca ekranda gösterilmiyordur.

Bu yüzden aynı veri üç yerden geri gelir: çıktı Excel’e aktarıldığında, tanım bir giden API servisine ya da SQL aktarım projesine dönüştürüldüğünde ve biri çıktı düzenini değiştirdiğinde. Üçüncüsü için özel bir erişim bile gerekmez; düzen kullanıcı tarafında değiştirilebilir bir ayardır.

Bu yolun bedeli bugün ödenmez. Rapor çalışır, kimse şikâyet etmez ve kontrolün nerede olduğu sorusu ancak denetimde ya da veri dışarı çıktığında sorulur.

Alanı yetki nesnesine bağlamak kimin kararı?

İkinci yol, REP’te iDataView alanlarını SAP yetki nesneleriyle ve bu nesnelerin alanlarıyla eşleştirmektir. Eşleme, üretilen ABAP raporunun içine çalışma zamanı kontrolü olarak girer: raporu çalıştıran kullanıcı ilgili yetkiye sahip değilse veri gelmez. Kontrol artık çıktı düzeninin değil, kurumsal yetki kataloğunun kararına bağlıdır.

Bu yolun bedeli önden ödenir. Hangi alan hangi yetki nesnesine, hangi alan değerleriyle bağlanacak sorusunun cevabı süreç sahibinden gelir; yani alan seçimi teknik değil iş kararıdır. Yanlış nesneyi seçmek kolonu gizlemekten daha risklidir: kontrol var görünür, beklenen kısıtı uygulamaz.

Yetkili ve kısıtlı kullanıcıyla aynı raporu çalıştırmak

Kontrolün çalıştığını tek kullanıcıyla göremezsiniz. Raporu hem yetkili hem kısıtlı bir test kullanıcısıyla çalıştırıp iki sonucu karşılaştırmak gerekir. Beklentiyi testten önce yazın: kısıtlı kullanıcıda satır hiç gelmeyecek mi, alan boş mu dönecek? Bu cümle yazılı olmadığında test sonucu tartışmaya açık kalır.

AccessGuard bulgusu ile çalışma anı kontrolü

Karıştırılan iki kontrol var ve ikisi farklı soruya cevap verir. Rapor içindeki kontrol çalışma anında, o kullanıcı için işler: “bu kişi bu veriyi şimdi görebilir mi?” AccessGuard ayrı bir katmanda çalışır; SAP’den senkronize ettiği kullanıcı, rol, profil ve yetki verisini kritik erişim ve görevler ayrılığı kurallarıyla karşılaştırıp bulgu listesi üretir: “kimde hangi erişim birikmiş?”

Birini diğerinin yerine koymak sık yapılan bir hata. AccessGuard bulgusu bir ihlalin gerçekleştiğini kanıtlamaz; incelenmesi gereken bir durumu işaret eder ve rolleri kendiliğinden değiştirmez. Rapor içindeki kontrol de rol tasarımını düzeltmez, yalnızca o raporda ne görüneceğini belirler.

Kontrolün gücü sonuçta kurumun rol tasarımı kadardır. Yetki nesnesi eşlemesi kötü kurulmuş bir rol yapısını iyileştirmez; ama raporun hangi kararla veri gösterdiğini açıklanabilir kılar. Denetimde sorulan soru genellikle tam olarak budur.

Denetim sorusu gelmeden yapılacak iş şu: hassas alan taşıyan raporlarınızdan üçünü seçin, her birinin alan listesini süreç sahibinin önüne koyun ve hangi alanın hangi yetki nesnesine bağlanacağını yazın. O liste hazır olduğunda eşlemeyi kurup iki kullanıcıyla sınamak kısa bir teknik oturumun işi.