Aracılığıyla paylaş


Çok müşterili uygulamaları hizmet sorumlusu profilleri modeline geçirme

Bu makalede, Power BI tümleşik analiz çok müşterili uygulamalarınızı hizmet sorumlusu profilleri modeline geçirerek nasıl daha iyi ölçeklenebilirlik elde edebilirsiniz açıklanmaktadır.

Hizmet sorumlusu profilleri , Power BI'daki kuruluş içeriğini yönetmeyi ve kapasitelerinizi daha verimli kullanmanızı kolaylaştırır.

Not

Bu makale, tek bir Power BI kiracısından birden çok müşteriyi destekleyen bir uygulamaya sahip olan kuruluşlara yöneliktir.

Tüm uygulamalar hizmet sorumlusu modelinden yararlanmıyor. Örneğin, aşağıdaki uygulamalar geçirilmez:

  • Az sayıda nesne içeren bir hizmet sorumlusunu koruyan küçük uygulamalar.
  • Müşteri başına birden çok hizmet sorumlusu kullanan uygulamalar

Önkoşullar

Geçişi başlatmadan önce hizmet sorumlusu profilleri hakkında bilgi edinmek önemlidir.

Aşağıdaki adımları da uygulamanız gerekir:

  • Hizmet sorumlusuyla Power BI içeriği ekleme işleminin ilk üç adımını izleyerek hizmet sorumlusunu ayarlayın.
  • Power BI kiracısı yönetici hesabından kiracıda profil oluşturmayı etkinleştirin.

Yönetici portalı anahtarının ekran görüntüsü.

Hizmet sorumlusu profillerine geçiş

Hizmet sorumlusu profillerine geçiş aşağıdaki adımları içerir:

  1. Her müşteri için bir profil olan profiller oluşturun.
  2. Çalışma alanlarınızı düzenleyin.
  3. Uygulama kodunu profilleri kullanacak şekilde değiştirin.
  4. Uygulamanızı profil modeliyle test edin.
  5. Yedekli izinleri temizleyin.

Profil Oluşturma (Gerekli)

Her müşteri için bir profil oluşturmak için oluşturduğunuz hizmet sorumlusuyla Profiller REST API'sini kullanın.

Her veri müşteri kimliğinin eşlemesini veritabanınıza karşılık gelen profil kimliğiyle kaydetmek iyi bir fikirdir. Kiracı profiliyle API çağrıları yapmak için bu eşlemeye daha sonra ihtiyacınız olacaktır.

Çalışma alanlarınızı düzenleme

Verilerinizi yönetmenin en kolay yolu, müşteri başına bir çalışma alanı tutmaktır. Uygulamanız bu modeli zaten kullanıyorsa yeni çalışma alanları oluşturmanız gerekmez. Bununla birlikte, Grup Kullanıcısı Ekle API'sini kullanarak her profile karşılık gelen çalışma alanına Yönetici erişimi sağlamanız gerekir.

Müşteri başına bir çalışma alanınız yoksa, ilgili profili kullanarak Grup Kullanıcısı Oluşturma API'sini çağırarak her müşteri için yeni bir çalışma alanı oluşturun.

Çalışma alanlarındaki öğeleri düzenleme

Artık her müşteri için bir profiliniz ve çalışma alanınız olmalıdır. Önceki adımda yeni çalışma alanları oluşturduysanız, öğeleri (raporlar ve anlam modelleri gibi) bu çalışma alanlarına aktarmanız gerekir. İçeri aktardığınız anlamsal modeller geçerli çözümünüze bağlıdır:

  • Uygulamanız her müşteri için ayrı bir anlam modeli kullanıyorsa, anlam modeli tasarımı olduğu gibi çalışabilir.

  • Uygulamanız farklı müşterilere farklı veriler sağlamak için satır düzeyi güvenlik (RLS) içeren bir anlam modeli kullanıyorsa, her müşteri için ayrı bir anlam modeli oluşturup bu makalede açıklandığı gibi profilleri kullanarak daha iyi ölçeklenebilirlik elde edebilirsiniz.

  • Profilleri ve ayrı veri kaynaklarını kullanarak ölçeklenebilirlik sınırlamalarını aştıktan sonra, profillerle RLS kullanarak daha da fazla veri ayrımı elde edebilirsiniz.

    • Dinamik RLS'yi kullanırsanız, profilin adı DAX işlevinde UserName()döndürülür.
    • Ekleme belirtecini oluştururken statik RLS kullanır ve rolleri geçersiz kılarsanız, bunu yapmaya devam edebilirsiniz.

Öğeler hazır olduktan sonra bunları ilgili çalışma alanlarına aktarın. İşlemi otomatikleştirmek için İçeri Aktarma API'sini kullanmayı göz önünde bulundurun.

Profil kullanmak için uygulama kodlarını değiştirme

İlgili çalışma alanlarına Yönetici erişimi olan profiller ve hangi profilin hangi müşteriyi temsil ettiğini gösteren eşlemeli bir veritabanınız olduğunda, gerekli kod değişikliklerini yapabilirsiniz. İki kod akışını yan yana tutmanızı ve profil kod akışını müşterilerinize aşamalı olarak göstermenizi öneririz.

Aşağıdaki kod değişikliklerini yapın:

  • Yetkilendirme kodu değişikliği

    • Microsoft Entra ID uygulamasında bir ana kullanıcı kullanıyorsanız alma belirteci kodunu değiştirin. Yalnızca uygulama için Microsoft Entra belirteci oluşturma hakkında bilgi edinmek için hizmet sorumlusuyla ekleme makalesini okuyun.
    • Hizmet sorumlusu kullanıyorsanız ve profiller için yeni bir tane oluşturduysanız, kodu doğru hizmet sorumlusu kimliğini ve gizli dizilerini kullanacak şekilde ayarlayın.
  • Yönetim kodu değişikliği

    Bazı uygulamalar, kayıt sırasında yeni müşteri eklemeyi otomatik hale getiren yönetim koduna sahiptir. Yönetim kodu genellikle çalışma alanları oluşturmak ve içeriği içeri aktarmak için Power BI REST API'lerini kullanır. Bu kodun çoğu aynı kalmalıdır, ancak aşağıdaki ayrıntıları uyarlamanız gerekebilir:

    • Her yeni müşteri kiracısı oluşturduğunuzda, bu kiracının çalışma alanının oluşturucusu ve yöneticisi olacak yeni bir hizmet profili oluşturun.
    • Power BI içeriğinizi yeniden düzenlemeye karar verirseniz, değişiklikleri yansıtacak şekilde kodu düzenleyin.
  • Ekleme belirteci kodu değişikliği

    API çağıranı değiştirin. Profil modelinde yalnızca belirli bir profilin müşterinin içeriğine erişimi olduğundan profilin GenerateToken API'sini çağırdığından emin olun.

Doğrulama

Uygulamanızı profil modeline taşımadan önce kapsamlı bir şekilde test etmek en iyi yöntemdir. Çalışma alanlarındaki eski izinleri silmediğiniz için SaaS uygulama kodunda hatalar olsa bile raporlar yüklenebilir.

Geçişten sonra temizleme

Geçişi tamamladığınıza ve sonuçları doğruladığınıza göre artık ihtiyacınız olmayanları kaldırın.

  • Kodu temizleme: Yalnızca profillere dayalı yeni kod çalıştırdığınızdan emin olmak için eski kod yollarını devre dışı bırakmak isteyebilirsiniz.
  • Power BI'da çalışma alanlarını ve izinleri temizleme: Yeni çalışma alanları oluşturduysanız, artık kullanımda olmayan eski çalışma alanlarını silebilirsiniz. Aynı çalışma alanlarını yeniden kullandıysanız, çalışma alanındaki eski izinleri (ana kullanıcı izinleri gibi) silmek isteyebilirsiniz.

Hizmet sorumlusu profillerini yönetme

Başka sorunuz var mı? Power BI Topluluğu sormayı deneyin