Güvenlik

QlikView içindeki bir güvenlik mekanizması iki farklı şekilde ayarlanabilir: QlikView belge koduna yerleşik olarak eklenebilir veya QlikView Publisher kullanılarak ayarlanabilir.

Kimlik Doğrulama ve Yetkilendirme

Kimlik doğrulama, bir kişinin iddia ettiği kişi olduğunun doğrulandığı herhangi bir işlemdir. QlikView, Windows işletim sisteminin kimlik doğrulamasını gerçekleştirmesine izin verebilir veya bir Kullanıcı Adı ve Parola (Windows Kullanıcı Adı ve Parolası'ndan farklı) isteyebilir veya QlikView lisans anahtarını basit bir kimlik doğrulama yöntemi olarak kullanabilir.

Yetkilendirme, tanımlandıktan sonra kişinin kaynağa sahip olma izni olup olmadığını belirleme işlemidir. QlikView, Windows işletim sisteminin yetkilendirme işlemini yapmasına izin verebilir veya yetkilendirme işlemini kendisi yapabilir. İkinci seçenek için, koda yerleşik olarak bir güvenlik tablosu eklenmelidir.

QlikView Publisher Kullanma Yoluyla Güvenlik

QlikView Publisher güvenliği üstlenecek şekilde ayarlanmışsa, her QlikView dosyası, her biri ilgili kullanıcı veya kullanıcı grubuna yönelik verileri içeren birkaç dosyaya bölünür. Bu dosyalar doğru işletim sistemi güvenlik ayarlarıyla klasörlerde depolanır; yani QlikView, işletim sisteminin Kimlik Doğrulama ve Yetkilendirme işlemlerini üstlenmesine izin verir.

Ancak dosyanın kendisine yerleşik olarak eklenmiş güvenlik mevcut değildir; bu nedenle, indirilen bir dosya üzerinde koruma yoktur.

Tek bir dosya birkaç dosyaya bölündüğünden ve kullanıcı yalnızca kendi verilerini içeren dosyayı açtığından, dosya boyutları genellikle daha küçüktür. Ancak bu aynı zamanda, bazen aynı verileri içeren birkaç dosya yükleneceğinden, QlikView Server olanağının tüm verilerin tek dosyada tutulması durumundan daha fazla bellek kullanma olasılığı taşıdığı anlamına gelir.

Daha fazla bilgi için, QlikView Publisher belgelerine bakın.

QlikView Kodunda Bölüm Erişimini Kullanma Yoluyla Güvenlik

QlikView kodundaki Bölüm Erişimi güvenliği üstlenecek şekilde ayarlanmışsa, tek bir dosyanın birkaç kullanıcı veya kullanıcı grubuna yönelik verileri barındırması sağlanabilir. QlikView, Bölüm Erişimi içindeki bilgileri Kimlik Doğrulama ve Yetkilendirme için kullanır ve kullanıcının yalnızca kendi verilerini görmesini sağlamak için verileri dinamik olarak azaltır.

Güvenlik dosyanın kendisine yerleşik olarak eklenmiştir; böylece indirilen bir dosya bir dereceye kadar korumalıdır. Ancak güvenlik talepleri yüksekse, dosyaların indirilmesi ve çevrimdışı kullanım engellenmelidir. Dosyalar yalnızca QlikView Server tarafından yayımlanmalıdır.

Tüm veriler bir dosyada tutulduğundan, bu dosyanın boyutu potansiyel olarak çok büyük olabilir.

QlikView belgeleri çevrimdışı modda görünmez hale getirilebilir. Çevrimdışı bir kullanıcı belgesini görünmez hale getirmek için aşağıdaki özniteliği QMC'yi kullanarak kullanıcı belgesinin belge bilgileri bölümüne ekleyin.

  • Ad: Görünmez
  • Değer: True

Aşağıdaki bilgilerin tümü, QlikView kodunda Bölüm Erişimi kullanma güvenlik yöntemine referansta bulunmaktadır.

Koddaki Bölümler

Erişim kontrolü, QlikView olanağının normalde verileri yüklediği şekilde yüklenen bir veya birkaç güvenlik tablosu üzerinden yönetilir. Bu nedenle, söz konusu tabloların normal bir veritabanında depolanması mümkündür. Güvenlik tablolarını yöneten kod deyimleri, kod içinde section access deyimiyle başlatılan erişim bölümü dahilinde verilir.

Kodda bir erişim bölümü tanımlanmışsa, kodun "normal" verileri yükleyen bölümü, section application deyimiyle başlatılan farklı bir bölüme yerleştirilmelidir.

Örnek:  

Section Access;

Load * inline

[ACCESS,USERID,PASSWORD

ADMIN, A,X

USER,U,Y ];

Section Application;

Load... ... from... ...

Bölüm Erişiminde Erişim Seviyeleri

QlikView belgelerine erişim, belirli kullanıcılar veya kullanıcı grupları için yetkilendirilebilir. Güvenlik tablosunda, kullanıcılar ADMIN veya USER erişim seviyelerine atanabilir. Bir erişim seviyesi atanmamışsa, kullanıcı QlikView belgesini açamaz.

ADMIN erişimine sahip bir kişi, belgenin tüm içeriğini değiştirebilir. ADMIN erişimine sahip bir kişi, Belge Özellikleri ve Sayfa Özellikleri diyalog penceresindeki Güvenlik sayfasını kullanarak kullanıcıların belgeyi değiştirme olasılıklarını sınırlayabilir. USER ayrıcalıklarına sahip bir kişi, Güvenlik sayfalarına erişemez.

Note: ADMIN hakları yalnızca yerel belgeler için geçerlidir! Bir Sunucu üzerinde açılan belgelere her zaman USER haklarıyla erişilir.

Bölüm Erişimi Sistem Alanları

Erişim seviyeleri, bölüm erişimi içinde yüklü bir veya birkaç tablodaki kullanıcılara atanır. Bu tablolar, normalde USERID ve PASSWORD olan birkaç farklı kullanıcıya özel sistem alanını ve erişim seviyesini tanımlayan ACCESS alanını içerebilir. Tüm Bölüm Erişimi sistem alanları, kimlik doğrulama veya yetkilendirme için kullanılır. Bölüm erişimi sistem alanlarının tamamı aşağıda açıklanmıştır.

Güvenlik alanlarının hiçbiri, tümü veya herhangi bir bileşimi, erişim bölümüne yüklenebilir. Bu nedenle, USERID kullanımı gerekli değildir; örneğin yalnızca seri numarası gibi diğer alanlar kullanılarak kimlik doğrulama gerçekleştirilebilir.

 

ACCESS Karşılık gelen kullanıcının hangi erişime sahip olması gerektiğini tanımlayan bir alan.
USERID Kabul edilen bir kullanıcı adını içermesi gereken bir alan. QlikView, bir Kullanıcı Adı belirtilmesini ister ve bunu bu alandaki değerle karşılaştırır. Bu kullanıcı adı, Windows kullanıcı adıyla aynı değildir.
PASSWORD Kabul edilen bir parolayı içermesi gereken bir alan. QlikView bir Parola belirtilmesini ister ve bunu bu alandaki değerle karşılaştırır. Bu parola, Windows parolasıyla aynı değildir.
SERIAL QlikView seri numarasına karşılık gelen bir sayı içermesi gereken bir alan.
Örnek: 4900 2394 7113 7304
QlikView, kullanıcının seri numarasını denetler ve bunu bu alandaki değerle karşılaştırır.
NTNAME Bir Windows NT Etki Alanı kullanıcı adı veya grup adına karşılık gelen bir dize içermesi gereken bir alan.
QlikView, oturum açma bilgilerini işletim sisteminden alır ve bunları bu alandaki değerle karşılaştırır.
NTDOMAINSID Bir Windows NT Etki Alanı SID'sine karşılık gelen bir dize içermesi gereken bir alan.
Örnek: S-1-5-21-125976590-4672381061092489882
QlikView, oturum açma bilgilerini işletim sisteminden alır ve bunları bu alandaki değerle karşılaştırır.
NTSID Bir Windows NT SID'si içermesi gereken bir alan.
Örnek: S-15-21-125976590-467238106-1092489882-1378
QlikView, oturum açma bilgilerini işletim sisteminden alır ve bunları bu alandaki değerle karşılaştırır.
OMIT

Bu belirli kullanıcı için atlanması gereken alanı içermesi gereken alan. Joker karakterler kullanılabilir ve alan boş olabilir. Bunu yapmanın kolay bir yolu bir alt alan kullanmaktır.

Note: Temel veri yapısını değiştireceğinden, anahtar alanlar üzerinde OMIT uygulamamalısınız. Bu, mantıksal adalar ve hesaplama tutarsızlıkları oluşturabilir.

QlikView, QlikView seri numarasını SERIAL alanıyla, Windows NT Kullanıcı adı ve gruplarını NTNAME ile, Windows NT Etki Alanı SID'sini NTDOMAINSID ile ve Windows NT SID'sini NTSID ile karşılaştırır. Ayrıca, Kullanıcı Adı ve Parola belirtilmesini ister ve bunları USERID ve PASSWORD alanlarıyla karşılaştırır.

Kullanıcı adı, parola ve ortam özelliklerinin bulunan bileşimi ayrıca bölüm erişimi tablosunda da bulunuyorsa, belge karşılık gelen erişim seviyesiyle açılır. Aksi takdirde, QlikView, belgeye yönelik kullanıcı erişimini reddeder. Kullanıcı Adı ve/veya Parola üç denemede doğru şekilde girilmezse, oturum açma adımlarının tamamının yinelenmesi gerekir.

QlikView'ün ayırıcı özelliği olan dahili belleğin aynısı erişim bölümünde de kullanıldığından, güvenlik alanları farklı tablolara yerleştirilebilir. (Bu nedenle, bir sistem yöneticisinin güvenlik tablolarından bir QlikView belgesi yapması mümkündür. Bu durumda doğru bir seri numarası, parola vb. için karşılık gelen alan değerine tıklamayla benzetim gerçekleştirilir.)

Oturum açma aşamasında, QlikView bu bilgilerin kullanıcıya belge için erişim vermek üzere yeterli olup olmadığını belirlemek için ilk olarak SERIAL, NTNAME, NTDOMAINSID ve NTSID öğelerini denetler. Bu durumda, QlikView, Kullanıcı Adı ve Parola belirtilmesini istemeden belgeyi açar.

Erişim alanlarından yalnızca bazıları yüklüyse, yukarıdaki gereksinimlerden uygun olanlar kullanılır.

Bölüm erişimindeki Load veya Select deyimlerinde listelenen alanların tümü, BÜYÜK HARF kullanılarak yazılmalıdır. Veritabanındaki küçük harf içeren herhangi bir alan adı, Load veya Select deyimi tarafından okunmadan önce upper fonksiyonu kullanılarak büyük harfe dönüştürülmelidir.

Bkz. Upper - kod ve grafik fonksiyonu

Ancak, QlikView belgelerini açan son kullanıcı tarafından kullanılan kullanıcı adı ve parola büyük/küçük harf duyarlı değildir.

* biçimindeki bir joker karakter, bu alanın tüm (listelenen) değerleri, yani bu tablonun başka bir yerinde listelenen bir değer olarak yorumlanır. Kodun erişim bölümünde yüklenmiş bir tablodaki sistem alanlarından birinde (USERID, PASSWORD, NTNAME veya SERIAL) kullanılması durumunda, bu alanın tüm (ayrıca listelenmemiş) olası değerleri olarak yorumlanır.

Note: Bir QVD dosyasından veri yüklerken, upper fonksiyonunun kullanımı yükleme hızını düşürür.
Note: Satır içi deyimlerde erişim tabloları oluşturmak için Erişim Kısıtlama Tablosu Sihirbazı'nı kullanın.
Note: Bölüm erişimini etkinleştirdiyseniz, burada listelenen bölüm erişimi sistem alanı adlarını, veri modelinizde alan adı olarak kullanamazsınız.

Örnek 1:  

Yalnızca seri numarası denetlenir. Belirli bir bilgisayar, ADMIN erişimi alır. Geri kalan herkes USER erişimi alır. Yıldızın "herhangi bir seri numarası" olanağını işaretlemek üzere kullanılabileceğini unutmayın.

ACCESS SERIAL
ADMIN 4900 2394 7113 7304
USER *

Örnek 2:  

Yönetici ve QlikView'ün bir toplu iş olarak çalıştırıldığı sunucu, ADMIN erişimi alır. Etki Alanı içindeki geri kalan herkes, kullanıcı adı ve parola olarak "USER" girdiğinde USER erişimi alır.

ACCESS SERIAL NTDOMAINSID USERID PASSWORD
ADMIN * S-1-5-21-125976590-467238106-1092489882 ADMIN ADMIN
ADMIN 4900 2394 7113 7304 * * *
USER * S-1-5-21-125976590-467238106-1092489882 USER USER

QlikView Fonksiyonları Üzerindeki Kısıtlamalar

Belge Özellikleri: Güvenlik sayfasında ve Sayfa Özellikleri: Güvenlik sayfasında bulunan kontroller, belirli menü öğelerine erişim iznini kaldırmayı ve düzende değişiklik yapılmasını yasaklamayı mümkün kılar. Bu ayarlar gerçek anlamda koruyucu bir önlem olarak kullanılacaksa, belge kullanıcılarının USER olarak oturum açması önemlidir. ADMIN olarak oturum açan herhangi bir kişi istediği zaman güvenlik ayarlarını değiştirebilir.

Belgeyi USER haklarıyla açmış olan bir kullanıcının Özellikler diyalog pencerelerinde Güvenlik sayfaları mevcut değildir.

Dinamik Veri Azaltımı

QlikView ve QlikView Server, bir belgedeki verilerin bir kısmının section access oturum açma işlemine bağlı olarak kullanıcıdan gizlenebilmesini sağlayan bir özelliği destekler.

İlk olarak, alanlar (sütunlar), OMIT sistem alanı kullanılarak gizlenebilir.

İkinci olarak, kayıtlar (satırlar), Bölüm Erişimi verileri gerçek verilerle bağlanarak gizlenebilir. Gösterilecek/hariç tutulacak değerlerin seçimi, section access ve section application içinde ortak ada sahip bir veya daha fazla alana sahip olunması yoluyla kontrol edilir. Kullanıcı oturum açtıktan sonra QlikView, section access içindeki alanlarda bulunan seçimleri, section application içindeki belirli olmayan alanlara tam olarak aynı alan adlarıyla kopyalamayı dener (alan adları BÜYÜK HARF kullanılarak yazılmalıdır). Seçimler yapıldıktan sonra QlikView, bu seçimler tarafından hariç tutulan tüm verileri kullanıcıdan gizler.

Bu aşamanın gerçekleşmesi için, Bölüm Erişimi’ne Göre İlk Veri Azaltımı seçeneğinin (Belge Özellikleri: Açılış sayfasında) seçilmesi gerekir. Bu özellik, QlikView Server dışındaki diğer yollarla dağıtılacak belgelerde kullanılıyorsa, veri korumasını sürdürmek için Belge Özellikleri olanağının aynı sayfasındaki İkili Yüklemeyi Yasakla seçeneği seçilmelidir.

Note: Tüm alan adları ve alan değerleri, bölüm erişimi içinde varsayılan olarak büyük harfe dönüştürüldüğünden, yukarıda açıklanan aktarımda kullanılan tüm alan adları ve bu alanlardaki tüm alan değerleri büyük harfle yazılmalıdır.

Örnek:  

section access;

load * inline [

ACCESS, USERID,REDUCTION, OMIT

ADMIN, ADMIN,*,

USER, A,1

USER, B, 2,NUM

USER, C, 3, ALPHA

];

section application;

T1:

load *,

NUM AS REDUCTION;

load

Chr( RecNo()+ord(‘A’)-1) AS ALPHA,

RechNo() AS NUM

AUTOGENERATE 3;

REDUCTION alanı (büyük harfli) artık hem bölüm erişimi hem de section application içinde mevcuttur (tüm değerler de büyük harflidir). Bu iki alan normalde tamamen farklı ve ayrıdır, ancak Bölüm Erişimi’ne Göre İlk Veri Azaltımı seçeneği seçilirse, bağlanır ve kullanıcıya görüntülenen kayıtların sayısını azaltır.

section access içindeki OMIT alanı, kullanıcıdan gizlenmesi gereken alanları tanımlar.

Sonuç aşağıdaki gibi olur:

A Kullanıcısı tüm alanları görebilir, ancak yalnızca REDUCTION=1 öğesine bağlı olan kayıtları görebilir.

B Kullanıcısı NUM hariç tüm alanları görebilir ve yalnızca REDUCTION=2 öğesine bağlı olan kayıtları görebilir.

C Kullanıcısı ALPHA hariç tüm alanları görebilir ve yalnızca REDUCTION=3 öğesine bağlı olan kayıtları görebilir.

Devralınan Erişim Kısıtlamaları

İkili yükleme, yeni QlikView belgesinin erişim kısıtlamalarını devralmasına neden olur. Bu yeni belge için ADMIN haklarına sahip olan bir kişi, yeni bir access bölümü ekleyerek bu yeni belgenin erişim haklarını değiştirebilir. USER haklarına sahip bir kişi, kodu çalıştırabilir ve kodu değiştirebilir; böylece kendi verilerini ikili yüklü dosyaya ekler. USER haklarına sahip bir kişi, erişim haklarını değiştiremez. Bu, bir veritabanı yöneticisinin ikili yüklü QlikView belgeleri için kullanıcı erişimini de kontrol etmesini mümkün kılar.

Şifreleme

Bir QlikView Server ve bir QlikView Windows istemcisi arasındaki iletişim şifrelidir. Bununla birlikte, AJAX istemcisi kullanılıyorsa, iletişim şifreli değildir.

Ayrıca, tüm QlikView belgeleri, bilgileri görüntüleyiciler, hata ayıklayıcılar vb. ile okunamaz duruma getirecek şekilde şifrelenir.