Ana içeriğe geç Tamamlayıcı içeriğe geç

Karışık dosyaları geçirme

Tüm karışık dosyalar aynı şekilde uygulanmaz. Aşağıdaki içeriği, karışık dosyaların geçiş sürecindeki bazı konuları özetleyen bir kılavuz olarak görebilirsiniz. Karışık dosyaları geçirmeyi denemeden önce aşağıdakileri tamamladığınzdan emin olun:

  • Bir Qlik Cloud kiracısı dağıtma ve yapılandırma.

  • Kullanıcılar, IdP üzerinden kimlik doğrulaması yapabilir; gerekli uygulamalar, kullanıcıların en düşük "Görüntüleyebilir" izinlerine sahip olduğu, uygun, paylaşılan veya yönetilen alanlara taşınmıştır. Alan izinleri hakkında bilgi için bkz. Paylaşılan alanlarda izinleri yönetme ve Yönetilen alanlarda izinleri yönetme.

  • Kiracıya, kiracı yöneticisi rolüyle erişim (bir web entegrasyonu oluşturmak için gereklidir).

Ayrıca, nesneleri yalnızca IFrame'ler veya Qlik Capability API'leriyle yerleştiriyor olsalar da Qlik Sense karışık dosyalarının JavaScript ve HTML kullanılarak genelde nasıl uygulandığına aşina olmalısınız.

Açık olması adına, yeni karışık dosyalar Qlik Cloud içinde bulunanlar ve eski karışık dosyalar Qlik Sense Client-Managed içinde bulunanları ifade edecektir.

Web entegrasyonları

Qlik Cloud içindeki yeni karma dosyalarınız, Qlik Sense Client-Managed yerine Qlik Cloud kiracınızdan içeriği yükleyecek ve ekleyecektir. Karışık dosya web sitenizi (orijin) tanımlayabilmesi için Qlik Cloud içinde bir web entegrasyonu yapılandırmalısınız.

Web entegrasyonları, bir URL dahil etme listesi ile bağlantılı bir geçerli kimlik sunan web sitelerinin ekli görselleştirmeler oluşturmasına izin veren bir güvenlik mekanizmasıdır. Qlik Cloud ile etkileşime giren herhangi bir web uygulaması, kiracınızda yapılandırılacak bir web entegrasyonu gerektirir.

Qlik Cloud içinde web entegrasyonu oluşturma

Bir web entegrasyonu oluşturmak için Qlik Cloud içinde bir kiracı yöneticisi olmalısınız.

Aşağıdakileri yapın:

  1. Yönetim Konsolu'da Web bölümüne gidin ve sağ üst köşedeki Yeni oluştur seçeneğine tıklayın.
  2. Diyalog penceresinde web entegrasyonuna bir ad verin.

  3. Kaynağın adresini şu biçimde yazın: https://domain.com. Ardından Ekle'ye tıklayarak kökeni izin verilenler listesine ekleyin.

    Bilgi notuBirden fazla köken ekleyebilirsiniz.
  4. Oluştur'a tıklayın.
Bir web entegrasyonu oluşturma

Web entegrasyonunu oluşturduğunuzda, size bir kimlik verilir. Bu, yeni karışık dosya kodunda gereki bir öznitelik veya parametre olan karışık dosyanız için qlik web entegrasyonu kimliğidir.

Web entegrasyonu kimliği

Örnek web entegrasyonu kimliği

Web entegrasyonları oluşturma hakkında daha fazla bilgi için, bkz. Web entegrasyonlarını yönetme.

Kimlik doğrulaması

Qlik Sense Client-Managed içindeki karışık dosyalar genelde kimlik doğrulaması mekanizmasının önceden yapılandırıldığı sanal bir ara sunucu aracılığıyla kimlik doğrulamasını gerçekleştirir. Seçenekler arasında, diğerlerinin yanı sıra Başlık, Bilet, SAML, JWT, OpenID Connect (OIDC) ve Anonymous bulunur. Daha fazla bilgi için, bkz. Kimlik doğrulaması çözümleri (yalnızca İngilizce).

Qlik Sense Client-Managed eski karışık dosyalarınızda, kimlik doğrulaması genellikle, gerekli statik Qlik dosyaları ve kitaplıkları dahil, herhangi bir kaynak bu sanal ara sunucu aracılığıyla yüklenmeden önce, kodda işlenir.

Örneğin,

  • Bilet ve JWT konusunda; güvenli olarak bir Qlik bileti veya bir JWT belirteci oluşturmak için genellikle arka uç kimlik doğrulaması modülüne bir çağrı yapılır.

  • Başlık konusunda; bir temel modül veya ters ara sunucu, uygun başlığı ayarlar.

  • OIDC ve SAML konusunda; kaynakların yüklenebilmesi ve içeriğin eklenmeye başlanabilmesi için, ilgili kimlik sağlayıcıya, sonunda Qlik Sense ile oturumu başlatmak üzere kimlik doğrulaması akışını tetikleyen bir ilk yönlendirme olmalıdır.

Qlik Cloud bir sanal ara sunucu kullanmıyor. Bunun yerine, kiracıda oluşturmuş olduğunuz bir web entegrasyonunu kullanıyor. Kimlik doğrulaması için aşağıdaki iki mekanizma kullanılabilir: 

  • Etkileşimli oturum açma—Bu mekanizma, kiracınızın düzenli erişim için kullandığı yapılandırılmış IdP'yi temel alır. Bu varsayılan olarak Qlik Account IdP'si veya Okta, Auth0, ADFS, AzureAD, Salesforce, Generic ve Keycloak gibi herhangi bir kullanılabilir seçenektir.

  • JSON Web Belirteçleri (JWT)—Bu kimlik doğrulaması mekanizması, genellikle bir arka uç hizmeti tarafından güvenli bir şekilde oluşturulan imzalı JWT belirteçlerini temel alır. Bu durumda, kiracınızda JWT türünde yapılandırılmış bir Kimlik Sağlayıcısı bulunmalıdır.

Karışık dosyaları, Yetenek API'leri ile eklenen Qlik nesneleriydi

Etkileşimli oturum açma kullanarak kimlik doğrulaması

HTML potansiyel kod güncellemeleri

Qlik Sense Client-Managed karma ortamınızda olduğu gibi, html'deki <head> bölümüne iki Qlik statik dosya yüklemelisiniz (qlik-styles.css ve require.js). Ancak Qlik Cloud söz konusu olduğunda, bu dosyalar, kimlik doğrulaması gerektirmeden, doğrudan erişilebilirdir.

HTML potansiyel kod güncellemeleri

JavaScript potansiyel kod güncellemeleri

Qlik Sense Client-Managed karışık dosyanız Qlik Sense Client-Managed üzerindeki nesneleri yerleştirmek ve bunlarla etkileşim kurmak için Yetenek API'lerini kullanıyorsa, aşağıdaki, bu örnekte Yetenek API'si Qlik kitaplığını kullanarak çeşitli görselleştirmeleri ekleyen kodu inceleyin.

JavaScript potansiyel kod güncellemeleri

Gereklilik için yapılandırma değişkeni ve baseUrl

Yeni Qlik Cloud karışık dosyanızda, yapılandırma değişkeni, kiracı ana bilgisayarı ve webIntegrationId değerini yansıtmalıdır. Ayrıca, sanal ara sunucu olmadığından, ön ek, / olmalıdır. Oturumun paylaşılmaması ve sadece bu karışık dosya içeriği bağlamında kullanılması için bir kimlik özniteliği ayarlayabilirsiniz. Bağlantı noktası, isSecure değerinin her zaman "true" olduğunu gösteren, 443 olmalıdır.

require yapılandırması webIntegrationId değerini içermelidir. Qlik Cloud ile iletişmler her zaman 443 numaralı bağlantı noktasında https üzerinden yapıldığından, baseUrl daha basittir.

Gereklilik için yapılandırma değişkeni ve baseURL

Yetenek API'lerini Yükleme

require (js/qlik) ile Qlik Yetenek API'si kitaplıklarını yüklemeden önce kullanıcının zaten oturum açıp açmadığını kontrol edin. Bu, örneğin geçerli kullanıcının meta veri uç noktasında bir REST API çağrısı tetikleyerek yapılabilir. Yanıt durumu 200 değilse, kodun URL'ye şu iki parametreyi ekleyerek oturum açma ekranına yönlendirmesi gerekir: returnto (gerçek karışık dosya URL'niz) ve qlik-web-integration-id.

Kod yürütme şu şekildedir:

  • Kullanıcının, /api/v1/users/me REST API uç noktasında bir GET isteğiyle zaten oturum açmış olup olmadığını kontrol edin.

    • Olumsuzsa, yanıt durumu 200 değilse, return to ve qlik-web-integration-id parametrelerini ekleyerek login screen/login alanına yönlendirin.

    • Olumluysa, yanıt durumu 200 ise, require ile qlik/js Yetenek API'leri kitaplığını yükleyin ve API kümelerini kullanmaya devam edin.

Kodun son hali aşağıdaki örnekteki gibi görünmelidir. JavaScript söz konusu olduğunda, mükemmel kod yazmak için tek bir yol yoktur ve bu nedenle bu sadece geçerli bir seçenektir.

JSON Web Belirteci (JWT) kullanarak kimlik doğrulaması

JWT kimlik sağlayıcı yapılandırma

Bir JWT belirteci, bir sertifika özel anahtarı ile güvenli bir şekilde imzalanan, ad, e-posta, gruplar, konu gibi yük kullanan bazı meta verilerinin şifrelenmesinin sonucudur. Bağlantılı sertifika genel anahtarına sahip olan herhangi biri belirteci doğrulayabilir ve içindeki kullanıcı bilgilerini okuyabilir.

Qlik Cloud ortamının imzalanmış JWT belirteçlerinizi doğrulayabilmesi için, Qlik Cloud kiracınızda JWT türünde bir kimlik sağlayıcısı yapılandırmanız gerekir. Kiracı yapılandırıldıktan sonra, doğru imzalanmış bir taşıyıcı JWT belirtecini içeren API isteklerini kabul edebilir ve doğrulayabilir.

  1. Yönetim Konsolu'nda, yeni bir belirteç oluşturmak için Yapılandırma bölümünden Kimlik sağlayıcı'yı seçin.

    Tür JWT'si ile kimlik sağlayıcısı yapılandırması oluşturma

  2. Sertifika genel anahtarını, PEM biçiminde yukarıdaki Sertifika kutusuna yapıştırın.

  3. İsteğe bağlı olarak, Düzenleyen ve Anahtar Kimliği belirtebilirsiniz, her iki durumda da oluşturma işleminden sonra bu değerler sağlanır.

    Kimlik sağlayıcı yapılandırması için Düzenleyen ve anahtar kimliği

İmzalanmış JWT belirteci arka uç hizmeti potansiyel kod güncellemeleri

Qlik Sense Client-Managed ile JWT kimlik doğrulaması için Qlik Sense içindeki sanal ara sunucunun, gerekli JWT belirtecini oluşturmasına yönelik yük, yalnızca Kullanıcı Kimliği ve Kullanıcı Dizini ister. Qlik Cloud ile bu yük daha fazlasını gerektirri ve farklı öznitelikler ister.

Yük için JWT belirteci oluşturma arka uç hizmet kodunu, Qlik Cloud ile gerekli olanı yansıtacak şekilde önemli imzalama seçenekleriyle birlikte ayarlamanız gerekir. Örneğin, JWT kimlik sağlayıcısının Düzenleyen ve Anahat Kimlik değerleri zorunlu imzalama seçenekleridir. Tam bir tanım için bkz. Qlik Sense kimlik doğrulaması için JWT biçimi .

HTML potansiyel kod güncellemeleri

Qlik Sense Client-Managed karma ortamınızda olduğu gibi, html'deki <head> bölümüne iki Qlik statik dosya yüklemelisiniz (qlik-styles.css ve require.js). Ancak Qlik Cloud söz konusu olduğunda, bu dosyalar, kimlik doğrulaması gerektirmeden, doğrudan erişilebilirdir.

JavaScript potansiyel kod güncellemeleri

Kod kavramı, Etkileşimli Oturum Açma kullanmaya benzer. Fakat bu durumda, normal oturum açma ekranına yeniden yönlendirmek yerine, /login/jwt-session uç noktasına bir POST isteği göndererek JWT oturumu başlatmalı, taşıyıcı JWT belirteci ile web entegrasyon kimliğinin başlıklarını iletmelisiniz.

  • Kullanıcının, /api/v1/users/me REST API uç noktasında bir GET isteğiyle zaten oturum açmış olup olmadığını kontrol edin.

    • Olumluysa, yanıt durumu 200 ise, gerekli ile qlik/js Yetenek API'leri kitaplığını yükleyin ve kullanın.

    • Olumsuzsa, yanıt durumu 200 ise, belirli bir imzalı JWT belirteci ile JWT oturumunu başlatmak için bir POST isteği tetikleyin.

      • Olumluysa, gerekli ile qlik/js Yetenek API'leri kitaplığını yükleyin ve kullanın.

      • Olumsuzsa, JWT'nin geçersiz, süresinin dolmuş veya kabul edilmemiş olması nedeniyle JWT kimlik doğrulamasının başarısız olmuş olması söz konusu olabilir.

Aşağıda, yukarıda tanımlanan süreç için bir kod örneği verilmiştir.

Qlik Cloud içinde Yetenek API'leri ve uyumluluk

Web uygulamanız için Yetenek API'lerini kullanırken Qlik Cloud ve Qlik Sense Client-Managed arasında neredeyse tam bir uyumluluk olmasına rağmen, bu JavaScript kitaplığını Qlik Cloud dağıtımlarına sahip web siteleri için kullanırsanız birkaç küçük fark veya kullanılamayan yöntemler vardır. Örneğin, Qlik Cloud içinde Global API kullanılamaz.

Karışık dosyalar Qlik nesnelerinin IFrames ile eklenmesidir

Karışık dosyaları, Yetenek API'leri ile eklenen Qlik nesneleriydi içinde açıklandığı şekilde kimlik doğrulaması gerçekleştirmeye ek olarak, Qlik Cloudortamının İçerik Güvenliği Politikasını (CSP) nasıl değerlendirdiğini de bilmelisiniz.

Content Security Policy

Qlik Cloud için CSP ilkesi, Qlik nesnelerinin diğer etki alanlarına erişimi engeller. Bu, Qlik nesnelerini Tek API IFrame yaklaşımı kullanarak yerleştirirken, frame-ancestors ‘self’ ilkesi hatası alacağınız anlamına gelir.

İlke hatası: frame-ancestors 'self'

Karışık dosyanızın Qlik Cloud nesnelerini eklemek için IFrame'leri kullanabilmesi için CSP'yi nasıl yapılandıracağınızı öğrenmek için İçerik Güvenliği İlkesi'ne bakın.

Enigma.js kullanan karışık dosyalar

enigma.js kitaplığı, JavaScript ortamlarında Qlik ilişkisel altyapısı ile iletişim kurmanıza yardımcı olur.

Gerekli web entegrasyonu ve kullanıcı kimlik doğrulaması işlemlerinden ayrı olarak, Qlik üzerinde enigma.js kullanırken Siteler Arası İstek Sahtekarlığı (CSRF) kavramını da göz önünde bulundurmalısınız.

Siteler Arası İstek Sahtekarlığı (CSRF)

Qlik Cloud Siteler Arası İstek Sahtekarlığı'na (CSRF) karşı korunma için önlemlere sahiptir. Qlik Cloud ile etkileşime giren herhangi bir web çözümü, WebSocket bağlantıları dahil, tüm GET REST dışı çağrılarda geçerli bir CSRF belirteci sağlamalıdır.

Web uygulamanızda arka uç veya ön uç kodunda enigma.js kullanıldığında, bir WebSocket bağlantısı oluşturulur. Bu, enigma.js kitaplığının Qlik Cloud ile güvenli oturum açması için WebSocket bağlantısının bir parametresi olarak bir CRSF belirtecinin dahil edilmesinin gerektiği anlamına gelir.

Kullanıcı oturum açtığında, /api/v1/csrf-token bitiş noktasında geçerli bir CSRF belirteci istenebilir.

Enigma.js için, oturum açmış kullanıcı içeren aşağıdaki kod örneği, ön uç kodunda bir uygulamayı açmak ve düzeni almak için kullanılır.

Tam kod örneğini görmek için aşağıdaki öğreticileri inceleyin:

Visit the discussion forum at community.qlik.com

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!