Membuat aplikasi prinsipiel layanan menggunakan PowerShell
Mengautentikasi melalui nama pengguna dan kata sandi sering tidak ideal, terutama dengan meningkatnya autentikasi multifaktor. Dalam kasus tersebut, otentikasi prinsipal layanan (atau alur kredensial klien) lebih dipilih. Ini dapat dilakukan dengan mendaftarkan aplikasi perwakilan layanan baru di penyewa Anda sendiri Microsoft Entra dan kemudian mendaftarkan aplikasi yang sama dengan Power Platform.
Mendaftarkan aplikasi manajemen admin
Pertama, aplikasi klien harus didaftarkan di penyewa Anda Microsoft Entra . Untuk mengaturnya, lihat artikel Autentikasi untuk API Power Platform karena penyiapan aplikasi yang sama diperlukan untuk PowerShell.
Setelah aplikasi klien Anda terdaftar di Microsoft Entra ID, aplikasi tersebut juga perlu didaftarkan Microsoft Power Platform. Hari ini, tidak ada cara untuk melakukannya melalui pusat admin Power Platform, namun harus dilakukan secara programatis melalui API Power Platform atau PowerShell untuk administrator Power Platform. Prinsipiel layanan tidak dapat mendaftar sendiri—berdasarkan desain, aplikasi harus didaftarkan oleh konteks nama pengguna dan kata sandi administrator. Ini memastikan bahwa aplikasi dibuat oleh seseorang yang merupakan administrator untuk penyewa.
Untuk mendaftarkan aplikasi manajemen baru, gunakan skrip berikut:
$appId = "CLIENT_ID_FROM_AZURE_APP"
# Login interactively with a tenant administrator for Power Platform
Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId
# Register a new application, this gives the SPN / client application same permissions as a tenant admin
New-PowerAppManagementApp -ApplicationId $appId
Membuat permintaan sebagai prinsipal layanan
Setelah terdaftar dengan Microsoft Power Platform, Anda dapat mengautentikasi sebagai prinsipal layanan itu sendiri. Gunakan skrip berikut untuk mengkueri daftar lingkungan Anda:
$appId = "CLIENT_ID_FROM_AZURE_APP"
$secret = "SECRET_FROM_AZURE_APP"
$tenantId = "TENANT_ID_FROM_AZURE_APP"
Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId -ApplicationId $appId -ClientSecret $secret -Verbose
Get-AdminPowerAppEnvironment
Pembatasan prinsipal layanan
Saat ini, autentikasi prinsipal layanan berfungsi untuk manajemen lingkungan, pengaturan penyewa, dan manajemen Power Apps. Cmdlet yang terkait dengan Flow didukung untuk autentikasi perwakilan layanan dalam situasi di mana lisensi tidak diperlukan, karena tidak mungkin menetapkan lisensi ke identitas perwakilan layanan di Microsoft Entra ID.
Aplikasi perwakilan layanan diperlakukan dalam hal Power Platform yang mirip dengan bagaimana pengguna normal dengan peran Administrator yang Power Platform ditetapkan. Peran dan izin terperinci tidak dapat ditetapkan untuk membatasi kemampuannya. Aplikasi tidak mendapatkan peran khusus apa pun yang ditetapkan dalam Microsoft Entra ID, karena ini adalah cara layanan platform memperlakukan permintaan yang dibuat oleh perwakilan layanan.