Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Beban kerja Fabric mengandalkan integrasi dengan MICROSOFT Entra ID untuk autentikasi dan otorisasi.
Semua interaksi antara beban kerja dan komponen Fabric atau Azure lainnya harus disertai dengan dukungan autentikasi yang tepat untuk permintaan yang diterima atau dikirim. Token yang dikirimkan harus dihasilkan dengan benar, dan token yang diterima juga harus divalidasi dengan benar.
Disarankan agar Anda terbiasa dengan platform identitas Microsoft sebelum mulai bekerja dengan beban kerja Fabric. Disarankan juga untuk membahas praktik dan rekomendasi terbaik platform identitas Microsoft.
Alur
Dari frontend beban kerja hingga backend beban kerja
Contoh komunikasi tersebut adalah API sarana data apa pun. Komunikasi ini dilakukan dengan token Subjek (Token yang didelegasikan).
Untuk informasi tentang cara memperoleh token di FE beban kerja, baca API Autentikasi. Selain itu, pastikan Anda melalui validasi token dalam gambaran umum autentikasi dan otorisasi Backend.
Dari backend Fabric ke backend beban kerja
Contoh komunikasi tersebut adalah Buat item beban kerja. Komunikasi ini dilakukan dengan token SubjectAndApp, yang merupakan token khusus yang mencakup token aplikasi dan token subjek yang digabungkan (lihat gambaran umum autentikasi dan otorisasi Backend untuk mempelajari lebih lanjut tentang token ini).
Agar komunikasi ini berfungsi, pengguna yang menggunakan komunikasi ini harus memberikan persetujuan untuk aplikasi Microsoft Entra.
Dari backend beban kerja ke backend Fabric
Ini dilakukan dengan token SubjectAndApp untuk API kontrol beban kerja (misalnya, ResolveItemPermissions), atau dengan token Subjek (untuk API Fabric lainnya).
Dari backend beban kerja ke layanan eksternal
Contoh komunikasi tersebut adalah menulis ke file Lakehouse. Ini dilakukan dengan Token subjek atau token Aplikasi, tergantung pada API.
Jika Anda berencana berkomunikasi dengan layanan menggunakan token Subjek, pastikan Anda terbiasa dengan Atas nama alur.
Lihat Tutorial autentikasi untuk menyiapkan lingkungan Anda agar berfungsi dengan autentikasi.
API JavaScript Autentikasi
Front-end Fabric menawarkan API JavaScript untuk beban kerja Fabric untuk memperoleh token untuk aplikasi mereka di ID Microsoft Entra. Sebelum bekerja dengan API JavaScript autentikasi, pastikan Anda melewati dokumentasi JAVAScript API autentikasi.
Persetujuan
Untuk memahami mengapa persetujuan diperlukan, tinjau Persetujuan pengguna dan admin di ID Microsoft Entra.
Bagaimana cara kerja persetujuan dalam beban kerja Fabric?
Untuk memberikan persetujuan untuk aplikasi tertentu, Fabric FE membuat instans MSAL yang dikonfigurasi dengan ID aplikasi beban kerja dan meminta token untuk cakupan yang disediakan (additionalScopesToConsent - lihat AcquireAccessTokenParams).
Saat meminta token dengan aplikasi beban kerja untuk cakupan tertentu, ID Microsoft Entra menampilkan persetujuan popup jika tidak ada, lalu alihkan jendela popup ke URI pengalihan yang dikonfigurasi dalam aplikasi.
Biasanya URI pengalihan berada di domain yang sama dengan halaman yang meminta token sehingga halaman dapat mengakses popup dan menutupnya.
Dalam kasus kami, ini tidak berada di domain yang sama karena Fabric meminta token dan URI pengalihan beban kerja tidak ada di domain Fabric, jadi ketika dialog persetujuan terbuka, dialog tersebut perlu ditutup secara manual setelah pengalihan - kami tidak menggunakan kode yang dikembalikan di redirectUri, dan karenanya kami hanya memasukkannya secara otomatis (ketika ID Microsoft Entra mengalihkan popup ke URI pengalihan, ditutup).
Anda dapat melihat kode/konfigurasi Uri pengalihan dalam file index.ts. File ini dapat ditemukan di Microsoft-Fabric-workload-development-sample, di bawah folder front-end.
Berikut adalah contoh popup persetujuan untuk aplikasi kami "aplikasi beban kerja saya" dan dependensinya (penyimpanan dan Power BI) yang kami konfigurasi saat melakukan penyusutan autentikasi: