Ana içeriğe geç

Section Access ile veri güvenliğini yönetme

Section Access, bir uygulamanın güvenliğini kontrol etmek için kullanılır. Temelde, kimin neyi göreceğini tanımlamak için bir güvenlik tablosu eklediğiniz veri yükleme komut dosyasının bir parçasıdır. Qlik Sense, kullanıcı uygulamayı açtığında verileri uygun kapsama azaltmak için bu bilgileri kullanır, yani uygulamadaki bazı veriler kullanıcı kimliğine bağlı olarak kullanıcıdan gizlenir. Section Access, uygulamadaki verilerle sıkı bir şekilde entegre edilmiştir ve erişimi kontrol etmek için onu kullanır. Bu dinamik veri azaltma biçimi, tablo satırlarını, sütunlarını veya her ikisinin bir bileşimini hedefleyebilir.

Bilgi notuInsight Advisor Chat, Section Access'i kullanan uygulamaları desteklemez.

Yükleme komut dosyasındaki bölümler

Veri erişim kontrolü, verilerin normalde yüklendiği şekilde yüklenen bir veya daha fazla güvenlik tablosu aracılığıyla 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 komut dosyası deyimleri, komut dosyasında Section Access deyimiyle başlatılan bir yetkilendirme bölümünde verilmiştir.

Komut dosyasında bir yetkilendirme bölümü tanımlanmışsa, komut dosyasının uygulama verilerini yükleyen kısmı, Section Uygulaması deyimiyle başlatılan farklı bir bölüme yerleştirilmelidir.

Example:  

Section Access; Load * INLINE [ ACCESS, USERID, REDUCTION USER, AD_DOMAIN\ADMIN, * USER, AD_DOMAIN\A, 1 USER, AD_DOMAIN\B, 2 USER, AD_DOMAIN\C, 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;

Komut dosyasında değişiklik yaptıktan sonra, değişikliklerin etkili olması için her zaman verileri yeniden yüklemeniz gerektiğini unutmayın.

Section Access sistem alanları

Erişim seviyeleri, komut dosyasının Section Access bölümünde yüklenen bir veya daha fazla güvenlik tablosunda kullanıcılara atanır. Bu tablolar en az iki sistem alanı içermelidir: Erişim seviyesini tanımlayan ACCESS ve USERID veya USER.EMAIL . Diğer isteğe bağlı sistem alanları kullanım durumuna göre eklenebilir. Section Access 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 belirli kullanıcılar için yetkilendirilebilir. Güvenlik tablosunda, kullanıcılar ADMIN veya USER erişim düzeylerine atanabilir. ADMIN ayrıcalıklarına sahip bir kullanıcı, güvenlik tablosu ile sınırlandırılmadıkça uygulamadaki tüm verilere erişebilir. USER ayrıcalıklarına sahip bir kullanıcı, yalnızca güvenlik tablosunda tanımlanan verilere erişebilir. Geçerli bir erişim seviyesi atanmamışsa, kullanıcı uygulamayı açamaz.

Eğer Section Access, zamanlayıcı hizmet kullanıcısı olan ve yeniden yüklemeleri gerçekleştirmek için YÖNETİCİ erişimine ihtiyaç duyan INTERNAL \ SA_SCHEDULER adlı bir yeniden yükleme senaryosunda kullanılır. Örneğin:

Section Access; LOAD * inline [ ACCESS, USERID ADMIN, INTERNAL\SA_SCHEDULER ];

INTERNAL \ SA_SCHEDULER hesabını kullanmak istemiyorsanız alternatif bir yöntem için bkz. Verileri yeniden yüklemek için kimliğe bürünmeyi kullanma.

Section Access, şablon uygulamasındaki isteğe bağlı bir uygulama oluşturma (ODAG) senaryosunda kullanılıyorsa INTERNAL\SA_API kullanıcısı Section Access tablosuna ADMIN olarak dahil edilmelidir. Örneğin:

Section Access; LOAD * inline [ ACCESS, USERID ADMIN, INTERNAL\SA_API ];

USERID

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

Bir joker karakter (*), güvenlik tablosunda belirtilen diğer koşullara göre, tüm kullanıcılar olarak yorumlanır. Örneğin, aşağıdaki güvenlik tablosunda, Qlik Sense Kiracı Yöneticilerinde bulunan kullanıcılar listelenen tüm AZALTMA değerlerini görebilir.

Section Access; LOAD * INLINE [ ACCESS, USERID, GROUP, REDUCTION ADMIN, *, Qlik Sense Tenant Admins, * USER, QLIK-POC\SOMEOTHERUSER1, *, 1 USER, QLIK-POC\SOMEOTHERUSER2, *, 2 ... ];
Bilgi notu USERID ve NTNAME, aynı kimlik doğrulama bilgilerini kullanır; bu nedenle güvenlik tablosunda aynı satırda her ikisinin işaretlenmesi gerekmez. İki alan arasındaki fark, NTNAME uygulamasının grupları da denetlemesidir.

NTNAME

Bilgi notuNTNAME eski bir QlikView alanıdır ve QlikView aynı güvenlik tablosunu kullanmıyorsa USERID'nin kullanılması önerilir.

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.

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 grupla çözümler.

SERIAL

Bilgi notuSERIAL eski bir QlikView alanıdır ve sadece Qlik Sense kullanmanız halinde kullanılmaz.

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

Bilgi notu SERIAL alan bir lisans numarası içeriyorsa Section Access 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.

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.

Bir uygulamaya yönelik kullanıcı erişimini yönetme

Section Access en basit şekliyle belirli kullanıcıların bir uygulamaya erişimini kısıtlamak için kullanılabilir. Kullanıcıların bir uygulamaya erişimi hariç tutma yoluyla reddedilir. Başka bir deyişle, güvenlik tablosunda belirli bir kullanıcı kimliği listelenmemişse uygulamaya erişemez. Bu kuralın tek istisnası, güvenlik tablosundaki satırlardan birinde USERID alanına bir joker karakter (*) atanmasıdır. Bu durumda joker karakter, kimliği doğrulanmış tüm kullanıcıların uygulamaya erişebileceği anlamına gelir. Kullanıcı kimliklerinin bir listesini içeren bir güvenlik tablosu örneği:

Section Access; LOAD * inline [ ACCESS, USERID ADMIN, AD_DOMAIN\ADMIN USER, AD_DOMAIN\A USER, AD_DOMAIN\B ]; Section Application;

USERID AD_DOMAIN \ C'ye sahip bir kullanıcı uygulamayı hiç açamaz, çünkü bu kullanıcı kimliği güvenlik tablosunda listelenmemiştir.

Bir uygulamadaki belirli verilere yönelik kullanıcı erişimini yönetme

Dinamik veri azaltma, bir kullanıcının uygulamanın kendisine erişmesine izin verildikten sonra Qlik Sense uygulamalarındaki veri tablolarında bulunan satırlar ile sütunlara erişimi sınırlar.

Satır seviyesinde verilere erişimi yönetme

Yükleme komut dosyasının erişim bölümündeki güvenlik tablosuna bir veri azaltma sütunu ekleyerek satır seviyesinde verilere erişimi kısıtlayın. Belirli kayıtlar (satırlar), Section Access verileri gerçek verilere bağlanarak kullanıcılardan gizlenebilir. Gösterilecek veya hariç tutulacak verilerin seçimi, komut dosyasının Section Access ve Section Application kısımlarında ortak adlara sahip bir veya daha fazla azaltma alanı bulundurularak kontrol edilir. Kullanıcı oturum açtıktan sonra, Qlik Sense erişim bölümündeki azaltma alanlarında bulunan seçimleri, uygulama bölümündeki herhangi bir alanla, tamamen aynı alan adlarını (alan adları büyük harfle yazılmalıdır) kullanarak eşleştirir. Seçimler yapıldıktan sonra, Qlik Sense bu seçimlerle hariç tutulan tüm verileri kalıcı bir şekilde kullanıcıdan gizler. Veri azaltma sütununda alan değeri olarak bir joker karakter (*) kullanılırsa, kullanıcının güvenlik tablosundaki tüm seçili indirim alanlarıyla ilişkili kayıtlara erişmesine izni verildiği şeklinde yorumlanır.

Bilgi notu

Veri azaltma sütunundaki * joker karakteri yalnızca güvenlik tablosundaki tüm değerleri ifade eder. Section Access'te, güvenlik tablosunun azaltma sütununda bulunmayan değerler varsa, bunlar azaltılır.

Bilgi notuTüm alan adları ve alan değerleri, erişim bölümü 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 notuVarsayılan olarak, bir Qlik Management Console görevinde komut dosyasını yeniden yüklemeyi etkinleştirmek isterseniz, ADMIN erişimine sahip INTERNAL\SA_SCHEDULER hesap kullanıcısı gerekir. INTERNAL \ SA_SCHEDULER hesabını kullanmak istemiyorsanız alternatif bir yöntem için bkz. Verileri yeniden yüklemek için kimliğe bürünmeyi kullanma.

Example: Kullanıcı kimliğine göre satır seviyesinde veri azaltma

Section Access; Authorization: LOAD * inline [ ACCESS, USERID, REDUCTION ADMIN, AD_DOMAIN\ADMIN, * USER, AD_DOMAIN\A, 1 USER, AD_DOMAIN\B, 2 USER, AD_DOMAIN\C, * ADMIN, INTERNAL\SA_SCHEDULER, * ]; Section Application; T1: LOAD *, NUM AS REDUCTION; LOAD RecNo() AS NUM AUTOGENERATE 3;

Bu örnekte, REDUCTION alanı (büyük harf) artık hem Section Access hem de Section Aplication'da mevcuttur (tüm alan değerleri de büyük harftir). İki alan normalde farklı ve ayrı olacaktır, ancak Sectin Access kullanıldığında bu alanlar bağlanır ve kullanıcıya görüntülenen kayıt sayısı azalır.

Sonuç şöyle olur:

  • ADMIN kullanıcısı tüm alanları ve yalnızca REDUCTION = 1 veya REDUCTION =2 olduğunda diğer kullanıcıların görebileceği kayıtları görebilir.
  • A kullanıcısı tüm alanları, ancak yalnızca REDUCTION=1 ile ilişkili kayıtları görebilir.
  • B kullanıcısı tüm alanları, ancak yalnızca REDUCTION=2 ile ilişkili kayıtları görebilir.
  • C kullanıcısı tüm alanları ve yalnızca REDUCTION = 1 veya REDUCTION =2 olduğunda diğer kullanıcıların görebileceği kayıtları görebilir.

Sütun seviyesinde verilere erişimi yönetme

OMIT sistem alanını Section Access komut dosyasındaki güvenlik tablosuna ekleyerek sütun seviyesinde verilere erişimi kısıtlayın. Aşağıdaki örnekte, satır verisi azaltmanın kullanıldığı önceki örnek temel alınmıştır.

Example: Kullanıcı kimliğine göre sütun verisi azaltma

Section Access; LOAD * inline [ ACCESS, USERID, REDUCTION, OMIT ADMIN, AD_DOMAIN\ADMIN, *, USER, AD_DOMAIN\A, 1, USER, AD_DOMAIN\B, 2, NUM USER, AD_DOMAIN\C, 3, ALPHA ADMIN, INTERNAL\SA_SCHEDULER, *, ]; Bölüm Uygulaması; T1: LOAD NUM AS REDUCTION; LOAD Chr( RecNo()+ord('A')-1) AS ALPHA, RecNo() AS NUM AUTOGENERATE 3;

Section Access'te OMIT alanı kullanıcıdan gizlenmesi gereken alanları tanımlar.

Sonuç şöyle olur:

  • ADMIN kullanıcısı tüm alanları 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ı, ancak yalnızca REDUCTION=1 ile ilişkili kayıtları görebilir.
  • B kullanıcısı, NUM hariç tüm alanları ve yalnızca REDUCTION=2 ile ilişkili kayıtları görebilir.
  • C kullanıcısı, ALPHA hariç tüm alanları ve yalnızca REDUCTION=3 ile ilişkili kayıtları görebilir.

Kullanıcı gruplarına erişimi yönetme

Section Access size grup üyeliği aracılığıyla kullanıcıların görebileceği verilerin kapsamını sınırlama seçeneği sunar. Kullanıcı gruplarını kullanarak verilerinizi kısıtlamak için GROUP alan adını erişim bölümündeki güvenlik tablosuna ekleyin ve GROUP alanı için değerler tanımlayın.

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 grubuna ait kullanıcıların tüm alanlarda REDUCTION=1 ile ilişkili verileri görmesine izin verilir.
  • B grubundaki kullanıcılar REDUCTION=2 ile ilişkili verileri görebilir, ancak NUM alanındaki verileri göremez
  • C grubundaki kullanıcılar REDUCTION=3 ile ilişkili verileri görebilir, ancak ALPHA alanındaki verileri göremez
  • GROUP1 grubundaki kullanıcılar tüm alanlarda REDUCTION=3 ile ilişkili verileri görebilir

Qlik Sense, kullanıcıyı Kullanıcı Kimliği ile karşılaştırır ve tablodaki gruplarla kullanıcıyı çözümler. Kullanıcı, erişim izni verilen bir gruba aitse veya kullanıcı eşleşirse uygulamaya erişebilir.

Verileri yeniden yüklemek için kimliğe bürünmeyi kullanma

Varsayılan olarak, dahili sistem hesabı SA_SCHEDULER yeniden yükleme görevlerini çalıştırmak için kullanılır. Bu hesap yükseltilmiş ayrıcalıklara sahiptir ve teknik olarak her veri kaynağını kullanabilir. Bununla birlikte, QMC'de, yeniden yükleme görevlerini dahili sistem hesabı yerine uygulama sahibinin izinleriyle çalıştırmak için kimliğe bürünmeyi kullanan bir ayar vardır. Bu ayarı yapılandırdığınızda, yeniden yüklemeler için SA_SCHEDULER yerine uygulama sahibi kullanılır; bu, Section Access tablosuna SA_SCHEDULER'ı değil, bunun yerine uygulama sahibini eklemeniz anlamına gelir. Bir görev zinciri içinde uygulamalarda, her sahibin erişim haklarına bağlı olarak kaynaklar için izinleri olan farklı sahipler olabilir. Daha fazla bilgi için bkz. Hizmet kümesi (yalnızca İngilizce).

Çoklu bulut ortamında kullanıcı erişimini yönetme

Bir Qlik Sense çoklu bulut ortamı, kullanıcı kimlik doğrulama mekanizmalarından oluşan bir karışımı içerir. Tipik olarak Qlik Sense Enterprise on Windows ile, Section Access güvenlik tablosundaki USERID , proxy hizmeti tarafından doğrulanır. SaaS editions of Qlik Sense içinde bir Kimlik Sağlayıcısı, kimlik doğrulama rolünü üstlenir. Sonuç olarak, Qlik Sense Enterprise on Windows gibi şirket içi bir ortam için kurulan Section Access bir bulut ortamında çalışmayacaktır.

Bir OIDC Kimlik Sağlayıcısı (Qlik IdP veya özel IdP) SaaS editions of Qlik Sense ile birlikte kullanıldığında, konu talebi oturum açarken kullanıcıları tanımlamak için kullanılır. Section Accessi ile, güvenlik tablosundaki USERID alanının değeri konu talebinin değeri ile karşılaştırılır. Kiracınızı ayarlarken, SAM hesabının kimlik sağlayıcınızın konu talebiyle eşleştirildiğinden emin olun. Örneğin, SAM hesap adınız AD_DOMAIN\Dev ise, konu talebini AD_DOMAIN\Dev olarak ayarlayın. IdP'nin Konu talebinin değerini görmek istiyorsanız tarayıcıda kiracı URL'sine /api/v1/diagnose-claims ifadesini ekleyin; örneğin, kiracınız.us.qlikcloud.com/api/v1/diagnose-claims. JSON yanıtında konu talebi sub olarak adlandırılır.

SAM hesap adını kullanamıyorsanız bir kullanıcının kimliğini doğrulamak için alternatif bir yol da vardır. Kullanıcı e-posta adresleri farklı ortamlarda genellikle aynı kalır. Bu durumda, güvenlik tablosundaki USERID yerine USER.EMAIL alanını kullanabilirsiniz. Güvenlik tablosunun nasıl görünebileceğine dair bir örnek:

ACCESS USERID USER.EMAIL Yorum COUNTRY
USER ABC\Joe * Access-on-prem Birleşik Devletler
USER * joe.smith@example.com Access-in-cloud Birleşik Devletler
USER ABC\Ursula * Access-on-prem Almanya
USER * ursula.schultz@example.com Access-in-cloud Almanya
USER ABC\Stefan * Access-on-prem İsveç
USER * stefan.svensson@example.com Access-in-cloud İsveç

Yetkilendirme komut dosyası:

Section Access; LOAD * INLINE [ ACCESS, USERID, USER.EMAIL, COUNTRY USER, ABC\Joe, *, United States USER, *, joe.smith@example.com, United States USER, ABC\Ursula, *, Germany USER, *, ursula.schultz@example.com, Germany USER, ABC\Stefan, *, Sweden USER, *, stefan.svensson@example.com, Sweden ];

Her kullanıcının iki kaydı olduğunu unutmayın: Biri şirket içi erişim, diğeri bulut erişimi için. Joker karakterler, yalnızca ilgili kimlik doğrulama alanlarının kullanılmasını sağlar. Bu örnekte, COUNTRY bir veri azaltma alanı olarak kullanılmıştır.

Section Access'i kullanma yönergeleri ve ipuçları

Aşağıda Section Access hakkında bilinmesi gereken bazı önemli bilgiler ve faydalı ipuçları verilmiştir.

  • Erişim bölümündeki LOAD veya SELECT deyimlerinde listelenen tüm alanlar büyük harfle yazılmalıdır. Upper fonksiyonunu kullanarak (alanı LOAD veya SELECT deyimiyle okumadan önce) 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.

  • Veri modelinizde alan adları olarak listelenen Section Access sistem alan adlarını kullanamazsınız.
  • Uygulamalar, Section Access denetimleri uygulanmadan önce yayınlanmalıdır. Uygulama yeniden yüklendiğinde, yeni veya değiştirilen Section Access komut dosyaları uygulanmaz.
  • 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.
  • 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.
  • 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.
  • 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.
  • Güvenlik alanları farklı tablolara konabilir.
  • Bir QVD dosyasından veriler yüklenirken Upper işlevi, yükleme hızını düşürür.
  • Section Access'i 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.

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