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 bu bilgileri, kullanıcı uygulamayı açtığında, yani uygulamadaki verilerin bir kısmı, kimliğine bağlı olarak kullanıcıdan gizlendiğinde, verileri uygun kapsama indirgemek için kullanır. Section Access, uygulamadaki verilerle sıkı bir şekilde entegre edilmiştir ve erişimi kontrol etmek için uygulamayı kullanır. Bu dinamik veri azaltma biçimi, tablo satırlarını, sütunlarını veya her ikisinin bir bileşimini hedefleyebilir. Daha fazla bilgi için bkz. Qlik'te Güven ve Güvenlik.
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 komut dosyası ifadeleri, komut dosyasında Section Access ifadesi tarafından başlatılan bir yetkilendirme bölümünde verilir.
Komut dosyasında bir yetkilendirme bölümü tanımlanmışsa komut dosyasının uygulama verilerini yükleyen kısmı, Section Application ifadesi tarafından başlatılan farklı bir bölüme yerleştirilmelidir.
Örnek:
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 düzeyini tanımlayan alan olan 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:
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:
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.
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.
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
Platforma karşılık gelen bir dizeyi içerir. Alan ‘QLIKSENSE’ dizesi veya ‘*’ joker karakteri içeriyorsa, güvenlik tablosundaki diğer alanlara bağlı olarak erişim verilebilir.
OMIT
Bu özel kullanıcı için atlanacak alanın adını içerir. Joker karakterler kullanılabilir ve alan boş 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:
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.
Qlik Sense, Bölüm Erişimi'ndeki azaltma alanını veri modelindeki alanlarla karşılaştırırken, aşağıdaki davranışlar beklenir:
Veri modelindeki bir alan değeri, Bölüm Erişimi'ndeki azaltma alanıyla eşleşirse uygulama, belirtilen kullanıcı için eşleşmeyle ilişkili verileri göstererek açılır. Diğer veriler gizlenir.
Azaltma alanı değeri, veri modelindeki değerlerden hiçbiriyle eşleşmezse uygulama normal bir KULLANICI için açılmaz. Ancak, YÖNETİCİ olarak işaretlenmiş bir kullanıcı için azaltma olmadan açılacaktır.
Amaçlananlardan farklı erişim kombinasyonlarına izin vereceğinden, Bölüm Erişimi'nde birden fazla azaltma alanı kullanılması önerilmez.
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.
Örnek: Kullanıcı kimliğine göre satır seviyesinde veri azaltma
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.
Örnek: Kullanıcı kimliğine göre sütun verisi azaltma
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.
Örnek: Kullanıcı gruplarına göre veri azaltımı
Sonuç şöyle olur:
- REDUCTION, bu örnekte 1, 2 veya 3 olduğunda ADMIN grubuna ait kullanıcıların tüm alanları ve yalnızca diğer kullanıcıların görebileceği kayıtları görmesine izin verilir.
- 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ı UserID ile karşılaştırır ve tablodaki gruplara göre çözer. Kullanıcı, erişim izni verilen bir gruba aitse veya eşleşirse uygulamaya erişebilir.
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).
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. Qlik Cloud 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 Bölüm Erişimi bir bulut ortamında çalışmayacaktır.
Qlik Cloud ile bir OIDC Kimlik Sağlayıcısı (Qlik IdP veya özel IdP) kullanırken, subject claim giriş yaparken kullanıcıları tanımlamak için kullanılır. Bölüm Erişimi ile güvenlik tablosundaki USERID alanının değeri subject claim değeri ile karşılaştırılır. Kiracınızı kurduğunuzda, SAM hesap adının kimlik sağlayıcınızın subject claim değeri ile eşlendiğinden emin olun. Örneğin, SAM hesap adınız is AD_DOMAIN\Dev ise, subject claim değerini AD_DOMAIN\Dev olarak ayarlayın. IdP'nin subject claim 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ı içinde, subject claim değeri 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
|*
|firstname.lastname@example.org
|Access-in-cloud
|Birleşik Devletler
|USER
|ABC\Ursula
|*
|Access-on-prem
|Almanya
|USER
|*
|email@example.com
|Access-in-cloud
|Almanya
|USER
|ABC\Stefan
|*
|Access-on-prem
|İsveç
|USER
|*
|firstname.lastname@example.org
|Access-in-cloud
|İsveç
Yetkilendirme komut dosyası:
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 kullanan uygulamaları Insight Advisor Chat içinde kullanıma sunmak için, aşağıdaki hizmet kullanıcılarının Section Access komut dosyasında yönetici erişimi olduğundan emin olmalısınız:
INTERNAL/sa_repository: Bu, kullanıcı erişimini kontrol etmek için Section Access komut dosyasını depo hizmetinde kullanıma sunar.
INTERNAL/sa_scheduler: Bu, uygulamanın QMC görevlerini kullanarak tekrar yüklenmesine izin verir.
Uygulama adlarında, alan adlarında veya ana öğe adlarında hassas bilgileriniz bulunuyorsa bu bilgiler, Section Access kullanan uygulamalar Insight Advisor Chat için kullanılabilir yapılarak açığa çıkarılabilir. Sorgular için uygulama önerilerinde, uygulama kullanıcıların erişimi olan klasörlerde bulunur. Bu klasörler içinde, uygulamaya ait Section Access içinde kullanıcıların erişimi olmayan uygulamalar bulunabilir. Ancak bu uygulamaları seçmenizin bir etkisi olmaz. Section Access kullanarak uygulamadaki mevcut öğeleri görüntülemek için Boyutlar veya Hesaplamalar'a tıklarken kullanıcılar, erişimleri olmayan öğeleri görebilir. Ancak kullanıcılar bu öğelere tıkladığında herhangi bir veriye ulaşamaz.
Örneğin:
Bu kullanıcılar Section Access komut dosyasına eklendikten sonra, uygulamayı Insight Advisor Chat için kullanıma sunabilirsiniz. Uygulama, yeniden yüklendikten sonra Insight Advisor Chat içinde kullanılabilir.
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 alan adları ve değerler 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.
- 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.
- İkili yükleme, yeni Qlik Sense uygulamasının erişim kısıtlamalarını devralmasına neden olur.