Bagikan melalui


Memigrasikan aplikasi multi-pelanggan ke model profil perwakilan layanan

Artikel ini menjelaskan bagaimana Anda bisa mendapatkan skalabilitas yang lebih baik dengan memigrasikan aplikasi multi-pelanggan analitik tersemat Power BI Anda ke model profil perwakilan layanan.

Profil perwakilan layanan memudahkan pengelolaan konten organisasi di Power BI dan menggunakan kapasitas Anda dengan lebih efisien.

Catatan

Artikel ini ditujukan untuk organisasi yang sudah memiliki aplikasi yang mendukung beberapa pelanggan dari satu penyewa Power BI.

Tidak semua aplikasi mendapat manfaat dari model perwakilan layanan. Misalnya, aplikasi berikut tidak boleh bermigrasi:

  • Aplikasi kecil yang mempertahankan satu perwakilan layanan dengan sejumlah kecil objek.
  • Aplikasi yang menggunakan satu beberapa perwakilan layanan per pelanggan

Prasyarat

Penting untuk membaca tentang profil perwakilan layanan sebelum Anda memulai migrasi.

Anda juga perlu melakukan langkah-langkah berikut:

Cuplikan layar pengalihan portal Admin.

Bermigrasi ke profil perwakilan layanan

Migrasi ke profil perwakilan layanan melibatkan langkah-langkah berikut:

  1. Buat profil, satu profil per pelanggan.
  2. Atur ruang kerja Anda.
  3. Ubah kode aplikasi untuk menggunakan profil.
  4. Uji aplikasi Anda dengan model profil.
  5. Bersihkan izin redundan.

Buat Profil (Diperlukan)

Gunakan Profil REST API dengan perwakilan layanan yang Anda buat untuk membuat satu profil untuk setiap pelanggan.

Ada baiknya menyimpan pemetaan setiap ID pelanggan data dengan ID profil yang sesuai di database Anda. Anda akan memerlukan pemetaan ini nanti untuk melakukan panggilan API dengan profil penyewa.

Atur ruang kerja Anda

Cara term mudah untuk mengelola data Anda adalah dengan mempertahankan satu ruang kerja per pelanggan. Jika aplikasi Anda sudah menggunakan model ini, Anda tidak perlu membuat ruang kerja baru. Namun, Anda masih harus menyediakan setiap profil dengan akses Admin ke ruang kerja yang sesuai menggunakan TAMBAHKAN API Pengguna Grup.

Jika Anda tidak memiliki satu ruang kerja per pelanggan, gunakan profil yang sesuai untuk memanggil Buat API Pengguna Grup untuk membuat ruang kerja baru untuk setiap pelanggan.

Menata item di ruang kerja

Anda sekarang harus memiliki profil dan ruang kerja untuk setiap pelanggan. Jika Anda membuat ruang kerja baru di langkah sebelumnya, Anda perlu mengimpor item (seperti laporan dan model semantik) ke ruang kerja ini. Model semantik yang Anda impor bergantung pada solusi Anda saat ini:

  • Jika aplikasi Anda menggunakan model semantik terpisah untuk setiap pelanggan, desain model semantik dapat berfungsi apa adanya.

  • Jika aplikasi Anda menggunakan satu model semantik dengan keamanan tingkat baris (RLS) untuk menyediakan data yang berbeda kepada pelanggan yang berbeda, Anda bisa mendapatkan skalabilitas yang lebih baik dengan membuat model semantik terpisah untuk setiap pelanggan dan menggunakan profil seperti yang dijelaskan dalam artikel ini.

  • Setelah mengatasi batasan skalabilitas dengan menggunakan profil dan sumber data terpisah, Anda bisa mendapatkan lebih banyak pemisahan data dengan menggunakan RLS dengan profil.

    • Jika Anda mengandalkan RLS Dinamis, nama profil akan dikembalikan dalam fungsi UserName()DAX .
    • Jika Anda menggunakan RLS statis dan mengambil alih peran saat menghasilkan token semat, Anda dapat terus melakukan ini.

Setelah item siap, impor ke ruang kerja yang relevan. Untuk mengotomatiskan proses, pertimbangkan untuk menggunakan API Impor.

Ubah kode aplikasi untuk menggunakan profil

Setelah Anda memiliki profil dengan akses Admin ke ruang kerja yang relevan, dan database dengan pemetaan yang menunjukkan profil mana yang mewakili pelanggan mana, Anda dapat membuat perubahan kode yang diperlukan. Kami menyarankan agar Anda menyimpan dua alur kode secara berdampingan dan secara bertahap mengekspos alur kode profil kepada pelanggan Anda.

Buat perubahan kode berikut:

  • Perubahan kode otorisasi

    • Jika Anda menggunakan pengguna master di aplikasi ID Microsoft Entra, ubah kode perolehan token. Baca sematkan dengan perwakilan layanan untuk mempelajari tentang membuat token Microsoft Entra khusus aplikasi.
    • Jika Anda menggunakan perwakilan layanan dan membuat yang baru untuk profil, sesuaikan kode untuk menggunakan ID dan rahasia perwakilan layanan yang benar.
  • Perubahan kode manajemen

    Beberapa aplikasi memiliki kode manajemen yang mengotomatiskan onboarding pelanggan baru saat pendaftaran. Seringkali, kode manajemen menggunakan Power BI REST API untuk membuat ruang kerja dan mengimpor konten. Sebagian besar kode ini harus tetap sama, tetapi Anda mungkin perlu menyesuaikan detail berikut:

    • Setiap kali Anda membuat penyewa pelanggan baru, buat profil layanan baru untuk menjadi pembuat dan administrator ruang kerja untuk penyewa tersebut.
    • Jika Anda memutuskan untuk mengatur ulang konten Power BI Anda, edit kode untuk mencerminkan perubahan.
  • Menyematkan perubahan kode token

    Ganti pemanggil API. Pastikan profil memanggil GenerateToken API karena dalam model profil, hanya profil tertentu yang memiliki akses ke konten pelanggan.

Memvalidasi

Praktik terbaik adalah menguji aplikasi Anda secara menyeluruh sebelum memindahkannya ke model profil. Laporan dapat dimuat bahkan jika ada bug dalam kode aplikasi SaaS karena Anda tidak menghapus izin yang lebih lama di ruang kerja.

Membersihkan setelah migrasi

Sekarang setelah Anda menyelesaikan migrasi dan memvalidasi hasilnya, hapus apa yang tidak Anda butuhkan lagi.

  • Bersihkan kode: Anda mungkin ingin menonaktifkan jalur kode lama untuk memastikan bahwa Anda hanya menjalankan kode baru yang bergantung pada profil.
  • Membersihkan ruang kerja dan izin di Power BI: Jika Anda membuat ruang kerja baru, Anda dapat menghapus ruang kerja lama yang tidak lagi digunakan. Jika Anda menggunakan kembali ruang kerja yang sama, Anda mungkin ingin menghapus izin yang lebih lama (seperti izin pengguna master) di ruang kerja.

Mengeloa profil perwakilan layanan

Ada pertanyaan lagi? Coba tanyakan kepada Komunitas Power BI