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 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.

Not: Insight Advisor Chat, Section Access'i kullanan uygulamaları desteklemez.

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

Veri erişimi kontrolü, verilerin normalde yüklendiği gibi yüklenen bir veya daha fazla 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:  

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 . Başka 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 düzeyi atanmamışsa kullanıcı uygulamayı açamaz.

Section Access bir yeniden yükleme senaryosunda kullanılırsa, zamanlayıcı hizmet kullanıcısı olan INTERNAL \ SA_SCHEDULER yeniden yüklemeleri gerçekleştirmek için ADMIN erişimine ihtiyaç duyar. Ö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 ... ];
Not: 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

Not: NTNAME eski bir QlikView alanıdır ve QlikView aynı güvenlik tablosunu kullanmıyorsa USERID 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

Not: SERIAL 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.

Not: 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.

Not: Anahtar 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;

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ı oturumu açıldıktan sonra Qlik Sense, erişim bölümü içindeki azaltma alanlarında bulunan seçimleri, uygulama bölümü 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ç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.

Not:

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.

Not: Tü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.
Not: Varsayı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 Application'da mevcuttur (tüm alan değerleri de büyük harftir). Bu iki alan adı normalde farklı ve ayrılmıştır; ancak Section Access kullanıldığında bu alanlar bağlanır ve kullanıcıya gösterilen kayıtların 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

Section Access kodundaki güvenlik tablosuna OMIT sistem alanını 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, *, ]; Section Application; 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.
Not: Bazı görselleştirmeler, oluşturmak için karşılanması gereken minimum veri gereksinimlerine sahiptir. Bu nedenle, bir kullanıcının veri görünümünden sütun seviyesinde bir alan çıkarıldığında "Tamamlanmamış görselleştirme" uyarısı görüntülenebilir.

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 grubundaki kullanıcılar tüm alanlarda REDUCTION=1 ile ilişkili verileri görebilir.
  • 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 Access 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. E-posta adresleri farklı ortamlarda aynı kalma eğiliminde olduğundan, güvenlik tablosunda 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. 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.

  • Listelenen Section Access sistem alanı adlarını, veri modelinizde alan adı olarak 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 (*); tabloda bu alanın tüm (listelenen) değerleri 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.