Yönetim konsolundan Custom Properties alanından UserName, Data connections alanına giriş yapılır. Values alanında hangi kullanıcılar için yetki verilecekse seçilerek Apply edilir.
Sonrasında ürün entegrasyonları menüsünden yetkilendirilecek entegrasyon düzenle modunda açılır.
Visible, Yes olarak seçiliyse tüm kullanıcılar veritabanı bağlantılarını görebileceği, yetkisi olduğu anlamındadır. Visible, No olarak seçilip UserName alanından hangi kullanıcılar için yetki verilecekse seçim yapılabilir. Belirtilen kullanıcılar için veritabanı bağlantıları kod düzenleyicisinde görünür olacaktır. Diğer kullanıcılar bu veri tabanı bağlantılarına erişemez.
Klasör yetkisi Yönetici Konsolu üzerinden Security Rules başlığı altından verilebileceği gibi, Streams menüsü üzerinden de verilebilir. Yeni yaratılan her klasör (Stream) için kaydet butonuna basıldığında otomatik olarak yetki penceresi açılır. İlk kayıt anında hangi kullanıcıların bu klasöre hangi yetki tipiyle erişimi belirlenebilir ya da bu işlem sonraya bırakılabilir.
Örneğin Stream menüsü altından SATIS adında yeni bir Stream oluşturulur. Kaydet dediğimizde gelen yetki ekranıyla kullanıcı adı logoadmin veya logo olan kullanıcıların Read, Update ve Publish yetkileri verilir.
Klasör yetkisi Yönetici Konsolu üzerinden Security Rules başlığı altından verilebileceği gibi, Streams menüsü üzerinden de verilebilir. Yeni yaratılan her klasör (Stream) için kaydet butonuna basıldığında otomatik olarak yetki penceresi açılır. İlk kayıt anında hangi kullanıcıların bu klasöre hangi yetki tipiyle erişimi belirlenebilir ya da bu işlem sonraya bırakılabilir.
Örneğin Stream menüsü altından SATIS adında yeni bir Stream oluşturulur. Kaydet dediğimizde gelen yetki ekranıyla kullanıcı adı logoadmin veya logo olan kullanıcıların Read, Update ve Publish yetkileri verilir.
Detaylı yetkilendirme bilgisi için aşağıdaki webinar takip edilebilir.
https://register.gotowebinar.com/recording/2111694944731488001
Veri yetkilendirmesi sorgunun arkasında yapılan Section Access düzenlemesi ile yapılır. Bu yetkilendirme tipiyle uygulamaya yüklenen veri, login olan kullanıcının Id’sine göre filtrelenerek gösterilir.
Örnek olarak SEYDA ve CAN kullanıcılarının kendi yetkileriyle bir görüntüleme yapabileceği bir örnek tasarlanacak olursa;
Load * INLINE [
PERSONEL,ULKE,TUTAR
SEYDA,TURKIYE,20000
CAN,ALMANYA,30000
];
Sorgusu yazılarak yükleme yapılır. Tasarım olarak ekrana bir tablo ve bir parametre seçimi eklenir. Bu sayfadaki tasarımda giriş yapan kullanıcı Seyda ise SEYDA’nın, can ise CAN’ın kayıtlarını görmesi sağlanır.
Bunun için sorgu aşağıdaki hale getirilir.
SECTION ACCESS;
LOAD * INLINE [
ACCESS, USERID,PERSONEL
ADMIN,LOGO\logoadmin,*
USER,LOGO\seyda0001,’SEYDA’
,USER,LOGO\can0001,’CAN’
];
SECTION APPLICATION;
Load * INLINE [
PERSONEL,ULKE,TUTAR
SEYDA,TURKIYE,20000
CAN,ALMANYA,30000
];
Bu tip bir yetkilendirme yapılacaksa dikkat edilecek hususlar şöyledir;
- Section Access tablosu mutlaka ACCESS ve USERID bilgilerini içermelidir. Bunun dışında kendinden sonra gelen sorgudaki hangi alan ya da alanlarla ilgili yetkilendirme yapılacaksa bu kolon adları yazılmalıdır.
- Yetkilendirilecek alan adları ve içlerindeki veriler mutlaka büyük harfle yapılandırılmalıdır. Eğer sorgudan küçük harfle gelen veriler ve alanlar varsa bunlar UPPER fonksiyonu kullanılarak ve Alias’ları büyük harfle isimlendirilerek kurala uygun hale getirilmelidir.
[SECTION]:
LOAD
*;
SQL SELECT "PERSONEL",
"TUTAR",
Upper(ULKE) AS ULKE1
FROM "DATABASE_ADI"."dbo"."TABLO_ADI";
Section Access tablosuna kırmızı ile gösterilen satır eklendikten sonra görevin çalışıp çalışmadığı kontrol edilir.
SECTION ACCESS;
LOAD * INLINE [
ACCESS, USERID,PERSONEL
ADMIN,LOGO\logoadmin,*
ADMIN, INTERNAL\SA_SCHEDULER,*
USER,LOGO\seyda0001,’SEYDA’
USER,LOGO\can0001,’CAN’
];
Kullanıcı uygulama Ana sayfasına erişiyor fakat herhangi bir app’i görüntüleyemeden ekranda ‘Uygulama yöneticiniz ile iletişime geçin’ uyarısı beliriyorsa, kullanıcının terminal üzerinden sunucuya gerekli erişim yetkisi olmayabilir. (VPN bağlantısı yapılarak dışarıdan erişim gerekiyorsa, VPN bağlantısı kontrol edilebilir.)
Reload buton yetkisi, reload buton Extension’unu indirilen sayfada detaylandırılmıştır. Eğer linkteki Extension kullanıyorsa sayfanın altında yönlendirme bulunmaktadır. (https://github.com/mhamano/Qlik-Sense-Reload-Button)
Aşağıdaki ekran görüntüsündeki gibi, Security Rules’ın altında yeni bir kural tanımlayıp, Name alanına ReloadRule, Resource filter alanına App_*, App.Object_*, Conditions kısmına da ekran görüntüsündeki kuralı yazdıktan sonra Read ve Update yetkisini verebilirsiniz.
Sonrasında “Everyone” Yazan klasör adları yerine de istenilen klasör adı büyük harf küçük harf ayrımına dikkat edilerek değiştirildiğinde veri yenileme yetkisi tanımlanır.
(((resource.resourcetype = "App" and resource.stream.name="Everyone") or
(resource.resourcetype = "App.Object" and resource.app.stream.name="Everyone")))
Örnek1:
NETSIS Stream içerisinde bulunan Mali Tablo Analizi App'inin yetkilendirmesi ile ilgili aşağıdaki adımlar yapılabilir.
Yönetim Konsolu/Stream/Create New diyerek hangi kullanıcıların bu streami görebileceği tanımlanmalıdır.
NETSIS entegrasyonundaki Mali Tablo Analizi appi yeni oluşturulan Mali Tablo Analizi streamine taşınmalıdır.
Yetki verilmek istenen kullanıcı ile sisteme giriş yapıldığında, oluşturulan Stream ve içerisindeki app görülebilmektedir.
Yönetim Konsolu – Security Rule – Create App yetkisine düzenle ile girilir. Condition alanına app oluşturma yetkisini vereceğiniz kullanıcıları ekleyebilirsiniz.
Ekleme işlemi sonrası Validate Rule butonu ile kuralın doğruluğu kontrol edilir. Uyarı vermediği takdirde kural kaydedilir.