Ana içeriğe geç
Bölüm erişimi ile güvenliği yönetme

BU SAYFADA

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

Satır düzeyinde veri erişimini yönetmek için, veri yükleme komut dosyasında bölüm erişimini kullanabilirsiniz. Böylece, kullanıcılara veya kullanıcı gruplarına ilişkin verileri tutmak için tek bir dosya kullanılabilir. Qlik Sense, satır düzeyinde yetkilendirme için bölüm erişimindeki bilgileri kullanır ve verileri dinamik olarak azaltır; böylece kullanıcılar yalnızca görme iznine sahip oldukları verileri görü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ı önlenmelidir. 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.

Bölüm erişim denetimleri uygulanmadan önce uygulama yayınlanmalıdır. Uygulama yeniden yüklendiğinde, yeni veya değiştirilen bölüm erişim kodları uygulanmaz.

Uyarı notu Kısıtlanmış verileri göstermekten kaçınmak için, uygulamayı yayınlamadan önce, bölüm erişimi ayarları olan tüm eklenmiş dosyaları kaldırın. Eklenmiş dosyalar, uygulama yayınlandığında 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.
Uyarı notuAnlı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.
Uyarı notu Değerler, renk yapılandırması tarafından gösterilebileceğinden, bölüm erişimi kullanıyor veya hassas verilerle çalışıyorsanız ana boyut değerlerine renk atamayın.

Koddaki bölümler

Satır düzeyinde erişim kontrolü, verilerin normalde yüklendiği gibi yüklenen bir veya birkaç güvenlik tablosu üzerinden yönetilir. Böylece bu tabloların standart bir veritabanında veya elektronik tabloda depolanması mümkün olur. Güvenlik tablolarını yöneten kod deyimleri, bir yetkilendirme bölümü içinde sunulur ve bu bölümde de kod, Bölüm Erişimi deyimi tarafından başlatılır.

Kodda bir yetkilendirme bölümü tanımlanırsa Bölüm Uygulaması deyimi tarafından başlatılan ve uygulama verilerini yükleyen kod bölümü, farklı bir bölüme yerleştirilmelidir.

Example:  

Bölüm Erişimi;

AuthorizationTable:

Load ACCESS, USERID, REGION From ... ;

 

Bölüm Uygulaması;

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.

Şablon uygulamasındaki isteğe bağlı uygulama oluşturma (ODAG) senaryosunda bölüm erişimi kullanılıyorsa INTERNAL\SA_API kullanıcısı, bölüm erişimi tablosuna ADMIN olarak dahil edilmelidir. Örneğin:

Bölüm Erişimi; LOAD * inline [ ACCESS, USERID ADMIN, INTERNAL\SA_API ];

NTNAME

Windows NT Etki Alanı kullanıcı adı veya grup adına karşılık gelen dize içermesi gereken bir alan. Farklı bir kimlik doğrulama sistemi kullanılıyorsa kimliği doğrulanan kullanıcının adını içermelidir.

Qlik Sense, işletim sisteminden oturum açma bilgilerini getirir ve bu alandaki değerle karşılaştırır.

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.

Bilgi notu USERID ve NTNAME, aynı kimlik doğrulama bilgilerini kullanır; bu nedenle kimlik doğrulama tablosunda aynı satırda her ikisinin kontrol edilmesi gerekmez. İki alan arasındaki fark, NTNAME uygulamasının grupları da denetlemesidir.

USER.EMAIL

Şu anda desteklenmemektedir, Qlik Sense uygulamasında yalnızca joker karakterle eşleşecektir.

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.

Bilgi notuVerileri azaltmak için grupları kullandığınızda ve Qlik Management Console olanağına erişmek istediğinizde bile INTERNAL\SA_SCHEDULER hesap kullanıcısı gereklidir.

SERIAL

Platforma karşılık gelen bir dizeyi içerir. Alan, ‘QLIKSENSE’ dizesini veya ‘*’ joker karakterini içeriyorsa yetkilendirme tablosundaki diğer alanlara bağlı olarak erişim yetkisi verilebilir.

Bilgi notu SERIAL alanı bir lisans numarası içeriyorsa Bölüm Erişimi satırı belgeye erişimi reddeder. Bu ayar yalnızca QlikView içinde geçerlidir.

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.

Bilgi notuAnahtar alanlara OMIT uygulamamanız önerilir. Atlanan anahtar alanlar veri modeli görüntüleyicisinde görünür ancak içerik kullanılamaz. Bu durum kullanıcı açısından kafa karışıklığına neden 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, kullanıcıyı Kullanıcı Kimliği ile karşılaştırır ve tablodaki gruplara karşı kullanıcıyı çözümler. Kullanıcı, erişim izni verilen bir gruba aitse veya kullanıcı eşleşirse uygulamaya erişebilir.

Bilgi notu

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 deyimlerinde listelenen tüm alanlar büyük harfle yazılmalıdır. Alanı LOAD veya SELECT deyimi ile okumadan önce, Upper işlevini kullanarak veritabanı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.

Bilgi notuBir QVD dosyasından veriler yüklenirken Upper işlevi, yükleme hızını düşürür.
Bilgi notuBö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 Finance

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. Kullanıcı oturumu açıldıktan sonra Qlik Sense, 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 harfle yazılmalıdır). Seçimler yapıldıktan sonra Qlik Sense, bu seçimler ile hariç tutulan tüm verileri kalıcı bir şekilde kullanıcıdan gizler.
Bilgi notuTü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.
Bilgi notuQlik 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 farklı ve ayrılmıştır; 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 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.

    Bilgi notu

    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.