Bölüm erişimi ile güvenliği yönetme

Güvenliği yönetmek için veri kod dosyasında bölüm erişimi kullanabilirsiniz. Böylece, çok sayıda kullanıcıya veya kullanıcı grubuna ilişkin verileri tutmak için tek bir dosya kullanılabilir. Qlik Sense, bölüm erişimi içindeki bilgileri kimlik doğrulama ve yetkilendirme amaçlarıyla kullanır ve kullanıcının yalnızca kendi verilerini görmesini sağlamak için verileri dinamik olarak azaltır.

Güvenlik özelliği dosyanın kendi içinde yerleşik olarak bulunur; buradan, indirilen bir dosyanın da bir dereceye kadar korunduğu anlamı çıkar. Ancak güvenlik talepleri yüksekse dosyaların indirilmesi ve çevrimdışı kullanımı önlenmeli ve dosyalar yalnızca Qlik Sense sunucusu tarafından yayınlanmalıdır. Tüm veriler tek bir dosyada tutulduğundan, bu dosyanın boyutu potansiyel olarak çok büyük olabilir.

Warning:

Kısıtlanmış verilerin açığa çıkmasını önlemek için uygulamayı yayınlamadan önce bölüm erişimi ayarlarına sahip ekli dosyaların tümünü kaldırın.

Uygulama yayınlandığında ekli dosyalar dahil edilir. Yayınlanan uygulama kopyalanırsa ekli dosyalar kopyaya dahil edilir. Ancak bölüm erişimi kısıtlamaları ekli dosyalara uygulanırsa, dosyalar kopyalandığında bölüm erişimi ayarları korunmaz, böylece kopyalanan uygulamanın kullanıcıları ekli dosyalardaki tüm verileri görebilir.

Warning: Anlık görüntü, anlık görüntüyü alan kullanıcının erişim haklarına göre verileri gösterir; anlık görüntü daha sonra bir hikayede paylaşılabilir. Ancak, kullanıcılar uygulamadaki canlı verileri görmek için bir hikayeden görselleştirmeye döndüğünde, kendi erişim haklarına göre kısıtlanır.
Warning:

Bölüm erişimini kullanıyorsanız veya hassas verilerle çalışıyorsanız ana boyut değerlerine renk atamamanız gerekir. Bu işlem, verilerin açığa çıkmasına neden olabilir.

Koddaki bölümler

Erişim kontrolü, Qlik Sense uygulamasının normalde verileri yüklediği şekilde yüklenen bir veya birkaç güvenlik tablosu üzerinden yönetilir. Böylece, bu tabloların normal bir veri tabanında depolanması mümkün olur. Güvenlik tablolarını yöneten kod ifadeleri, kod içinde Section Access ifadesiyle başlatılan erişim bölümü dahilinde verilir.

Kodda bir erişim bölümü tanımlanmışsa, kodun uygulama verilerini yükleyen bölümü Bölüm Uygulamasıifadesiyle başlatılan farklı bir bölüme yerleştirilmelidir.

Example:  

Section Access;
LOAD * inline
[ACCESS,USERID
USER,U ];
Section Application;
LOAD... ... from... ...

Bölüm erişimi sistem alanları

Erişim düzeyleri, bölüm erişimi içinde yüklü bir veya birkaç tablodaki kullanıcılara atanır. Bu tablolar, kullanıcıya özel birkaç farklı sistem alanını (genellikle USERID) ve erişim düzeyini 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çıklanmaktadır.

ACCESS

Karşılık gelen kullanıcının ne tür erişime sahip olması gerektiğini tanımlar.

Qlik Sense uygulamalarına erişim için belirli kullanıcılara veya kullanıcı gruplarına yetki verilebilir. Güvenlik tablosunda, kullanıcılar ADMIN veya USER erişim düzeylerine atanabilir. Geçerli bir erişim düzeyi atanmamışsa kullanıcı uygulamayı açamaz.

ADMIN ayrıcalıklarına sahip bir kişi, uygulamadaki tüm verilere erişebilir. USER ayrıcalıklarına sahip bir kişi ise verilere yalnızca güvenlik tablosunda belirtilen şekilde erişebilir.

USERID

Qlik Sense kullanıcı adına karşılık gelen bir dize içerir. Qlik Sense, oturum açma bilgilerini proxy'den alır ve bu alandaki değerle karşılaştırır.

GROUP

Qlik Sense içindeki bir gruba karşılık gelen bir dize içerir. Qlik Sense, proxy tarafından sağlanan kullanıcıyı bu gruba karşı çözümler.

Note: Veri kullanımını azaltmak için grupları kullandığınızda ve Qlik Management Console istediğinizde bile INTERNAL\SA_SCHEDULER hesabı kullanıcısı gereklidir.

OMIT

Bu özel kullanıcı için atlanacak alanın adını içerir. Joker karakterler kullanılabilir ve alan boş olabilir. Bunu yapmanın kolay bir yolu, alt alan kullanmaktır.

Note: Anahtar alanlara OMIT uygulamamanızı öneririz. Atlanan anahtar alanlar veri modeli görüntüleyicisinde görünürken içeriklerin kullanılamaması, kullanıcı için kafa karıştırıcı olabilir. Buna ek olarak, bir görselleştirmede kullanılan alanlara OMIT uygulamak, atlanan alanlara erişim izni bulunmayan kullanıcılar için görselleştirmenin tam olarak görüntülenmemesine neden olabilir.

Qlik Sense, proxy tarafından sağlanan kullanıcıyı UserID ile karşılaştırır ve bu kullanıcıyı tablodaki gruplara karşı çözümler. Kullanıcı erişim izni verilen bir gruba aitse veya kullanıcı eşleşirse, uygulamaya erişim sağlar.

Note:

Bölüm erişimini ayarlayarak kendinizi uygulama dışında kalacak şekilde kilitlerseniz, uygulamayı veriler olmadan açabilir ve veri kod dosyasında erişim bölümünü düzenleyebilirsiniz. Bu, veri kod dosyasını düzenlemenizi ve yeniden yüklemenizi gerektirir.

Daha fazla bilgi için bkz. Bir uygulamayı veri olmadan açma.

Qlik Sense uygulamasını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. Bölüm erişimindeki LOAD veya SELECT ifadelerinde listelenen alanların tümü BÜYÜK HARF kullanılarak yazılmalıdır. Alanı LOAD veya SELECT ifadesi ile okumadan önce, Upper fonksiyonunu kullanarak veri tabanında küçük harf içeren tüm alan adlarını büyük harfe dönüştürün.

Daha fazla bilgi için bkz. Upper - kod ve grafik fonksiyonu.

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üne yüklenmiş bir tablodaki sistem alanlarından birinde (USERID, GROUP) kullanılması durumunda, bu alanın tüm (listelenmemiş olanlar da dahil) 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: 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.

Example:

Bu örnekte, belgeyi yalnızca finans grubundaki kullanıcılar açabilir.

Belgeye erişim
Erişim Grup
KULLANICI Finans

Dinamik veri azaltımı

Qlik Sense, bölüm erişimi oturum açma işlemine bağlı olarak bir uygulamadaki verilerin bir kısmının kullanıcıdan gizlenebilmesini sağlayan dinamik veri azaltımını destekler:

  • Alanlar (sütunlar), OMIT sistem alanı kullanılarak gizlenebilir.
  • Kayıtlar (satırlar), bölüm erişimi verileri gerçek verilere bağlanarak gizlenebilir: Gösterilecek veya hariç tutulacak değerlerin seçimi, bölüm erişiminde ve bölüm uygulamasında ortak adlara sahip bir veya daha fazla alan bulundurularak kontrol edilir. Qlik Sense, kullanıcı oturumu açıldıktan sonra bölüm erişimi içindeki alanlarda bulunan seçimleri, bölüm uygulaması içindeki alanlara tam olarak aynı alan adlarıyla eşlemeyi dener (alan adları BÜYÜK HARF ile yazılmalıdır). Seçimler yapıldıktan sonra Qlik Sense, bu seçimler ile hariç tutulan tüm verileri kalıcı olarak kullanıcıdan gizler.
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 harf olmalıdır.
Note: Qlik Management Console görevinde kodu yeniden yüklemeyi etkinleştirmek isterseniz, ADMIN erişimine sahip INTERNAL\SA_SCHEDULER hesabı kullanıcısı gerekir.

Example: Kullanıcı kimliğine göre veri azaltımı

section access;
LOAD * inline [
ACCESS, USERID,REDUCTION, OMIT
USER, AD_DOMAIN\ADMIN,*,
USER, AD_DOMAIN\A,1,
USER, AD_DOMAIN\B, 2,NUM
USER, AD_DOMAIN\C, 3, ALPHA
ADMIN, INTERNAL\SA_SCHEDULER,*,
];
section application;
T1:
LOAD *,
NUM AS REDUCTION;
LOAD
Chr( RecNo()+ord('A')-1) AS ALPHA,
RecNo() AS NUM
AUTOGENERATE 3;

REDUCTION alanı (büyük harfli) artık, hem bölüm erişimi hem de bölüm uygulaması içinde mevcuttur (tüm alan değerleri de büyük harflidir). Bu iki alan adı normalde tamamen farklı ve ayrı olur; ancak bölüm erişimi kullanıldığında bu alanlar bağlanır ve kullanıcıya gösterilen kayıtların sayısı azalır.

Bölüm erişiminde OMIT alanı, kullanıcıdan gizlenmesi gereken alanları tanımlar.

Sonuç şöyle olur:

  • ADMIN kullanıcısı tüm alanları görebilir ve kayıtlardan ise yalnızca, bu örneğe göre REDUCTION 1, 2 veya 3 olduğunda diğer kullanıcıların görebileceği kayıtları görebilir.
  • A kullanıcısı tüm alanları görebilir, ancak yalnızca REDUCTION=1 öğesiyle ilişkili kayıtları görebilir.
  • B kullanıcısı NUM hariç tüm alanları görebilir ve yalnızca REDUCTION=2 öğesiyle ilişkili kayıtları görebilir.
  • C kullanıcısı ALPHA hariç tüm alanları görebilir ve yalnızca REDUCTION=3 öğesiyle ilişkili kayıtları görebilir.

Example: Kullanıcı gruplarına göre veri azaltımı

section access;

LOAD * inline [

ACCESS, USERID, GROUP, REDUCTION, OMIT

USER, *, ADMIN, *,

USER, *, A, 1,

USER, *, B, 2, NUM

USER, *, C, 3, ALPHA

USER, *, GROUP1, 3,

ADMIN, INTERNAL\SA_SCHEDULER, *, *,

];

section application;

T1:

LOAD *,

NUM AS REDUCTION;

LOAD

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

RecNo() AS NUM

AUTOGENERATE 3;

Sonuç şöyle olur:

  • ADMIN grubunda bulunan kullanıcılar, tüm veri ve alanları görme iznine sahiptir.
  • A grubunda bulunan kullanıcılar, tüm alanlarda REDUCTION=1 ile ilişkili tüm verileri görme iznine sahiptir.
  • B grubunda bulunan kullanıcılar, NUM alanı hariç REDUCTION=2 ile ilişkili tüm verileri görme iznine sahiptir.
  • C grubunda bulunan kullanıcılar, ALPHA alanı hariç tüm alanlarda REDUCTION=3 ile ilişkili tüm verileri görme iznine sahiptir.
  • GROUP1 grubunda bulunan kullanıcılar, tüm alanlarda REDUCTION=3 ile ilişkili tüm verileri görme iznine sahiptir
  • INTERNAL\SA_SCHEDULER kullanıcısı hiçbir grupta bulunmuyor ancak tüm alanlardaki tüm verileri görme iznine sahip.

    Note:

    Bu satırdaki * joker karakteri yalnızca bölüm erişimi tablosu içindeki tüm değerlere başvurur. Bölüm uygulamasında, bölüm erişimindeki REDUCTION alanında kullanılmayan değerler varsa bu değerler azaltılır.

Devralınan erişim kısıtlamaları

İkili yükleme, yeni Qlik Sense uygulamasının erişim kısıtlamalarını devralmasına neden olur.